user.proto 83 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972
  1. syntax = "proto3";
  2. package serverproto;
  3. message AccountRole {
  4. string open_id = 1; //用户平台open_id
  5. string platform = 2; //用户平台
  6. uint64 uid = 3; //角色id,用来绑定玩家角色信息
  7. int32 phone_platform = 4; //手机平台 android ios
  8. uint64 register_time = 5; //注册时间
  9. int32 ZoneId = 6; //所在区服
  10. }
  11. //后续需要做战场时,的重连信息(战场所在的服务器信息)
  12. message ReconnectInfo {
  13. string pvp_node = 1; //战斗服务器节点(后续做战斗时使用)
  14. }
  15. message UserConnectInfo{
  16. string logic_node = 1; //用户所在的game服务器节点
  17. int64 time_stamp = 2; //保存连接信息时的时间
  18. }
  19. //key value 类型
  20. message KeyValueType {
  21. int32 key = 1;
  22. int32 value = 2;
  23. }
  24. message KeyValueTypeList {
  25. int32 key = 1;
  26. repeated int32 value_list = 2;
  27. }
  28. message KeyValueType64 {
  29. uint64 key = 1;
  30. int32 value = 2;
  31. int32 value2 = 3;
  32. int32 value3 = 4;
  33. string str_val = 5;
  34. uint64 value4 = 6;
  35. bool value5 = 7;
  36. }
  37. message KeyValueType64Str {
  38. uint64 key = 1;
  39. string str_val = 2;
  40. }
  41. message KeyValueFloat32{
  42. int32 key = 1;
  43. float value = 2;
  44. double value64 = 3; //目前只是血量会用到
  45. }
  46. message UKeyValueType {
  47. uint32 key = 1;
  48. uint32 value = 2;
  49. }
  50. //6部位信息
  51. message SlotDetailData {
  52. int32 level = 1; //等级
  53. int32 equip_id = 2; //装备id(直接使用configId)
  54. repeated int32 card_id_list = 3; //卡片(卡牌槽位)
  55. }
  56. //坑位信息
  57. message SlotData {
  58. int32 hero_id = 1;
  59. repeated SlotDetailData slot_list = 2; //6个部位
  60. }
  61. //宠物6坑位信息
  62. //宠物印记信息
  63. message PetEquipData {
  64. uint32 id = 1;
  65. int32 equip_cfg_id = 2;
  66. int32 level = 3;
  67. uint32 equip_pet_id = 4;//印记是否已经装备到宠物
  68. }
  69. //宠物6坑位信息(6个部位)
  70. message PetSlotDetailData {
  71. int32 idx = 1;
  72. uint32 equip_id = 2; //装备id(动态生成的ID)
  73. repeated int32 stone_id_list = 3; //宝石(卡牌槽位)
  74. }
  75. //技能信息
  76. message SkillData {
  77. int32 id = 1; //技能ID
  78. int32 point = 2; //技能等级(当前已经添加的技能点)
  79. }
  80. message ChangeJob{
  81. repeated TaskData task_list = 1; //当前正在执行的任务
  82. int32 hero_id = 2; //需要转职的英雄ID
  83. uint32 job_fush_state = 3; // 刷新状态
  84. }
  85. //宠物觉醒(当前伙伴跟随的宠物觉醒信息,觉醒槽位跟着角色走)
  86. message PetQiyueSlotInfo {
  87. int32 slot_idx = 1;
  88. uint32 pet_id = 2;
  89. int32 pet_cfg_id = 3; //主要用来客户端显示,不必再查找宠物动态数据
  90. }
  91. message PetQiyueInfo {
  92. uint32 pet_id = 1;
  93. repeated PetQiyueSlotInfo qiyue_slot_list = 2; //槽位
  94. }
  95. //宠物契约属性
  96. message PetQiyueAttr {
  97. uint32 pet_id = 1;
  98. repeated KeyValueFloat32 battle_attr_list = 2; //面板属性数值
  99. }
  100. //玩家角色结构中的strength_level和advance_level不使用
  101. message HeroData {
  102. int32 id = 1; //动态id
  103. int32 config_id = 2; //config id [JobCfg id]
  104. int32 fight_power = 3; //战斗力
  105. bool is_battle = 4; //是否出战
  106. int32 base_level = 5; //培养等级(主角是玩家等级)
  107. int32 advance_level = 6; //进阶(突破等级上限,角色通过专职来处理)
  108. int32 strength_level = 7; //突破
  109. SlotData slot = 8; //6个坑位信息(装备,卡片)
  110. RoleSkill skill = 9; //技能信息
  111. repeated KeyValueType attr_list = 10; //属性点添加列表(操作总和,不包括玩家初始属性点,需要客户端处理)
  112. int32 attr_point = 11; // 属性点(总属性点)
  113. uint32 battle_pet_id = 12; //出战宠物id
  114. uint64 pet_fight_power = 13; //出阵宠物战力
  115. repeated KeyValueType quality_list = 14; //素质果实数量
  116. int32 repress_skill_pvp_val = 15; //压制数值pvp技能竞技压制
  117. SkillEquipSlotData skill_equip_slot = 16; //神器槽位信息
  118. PetQiyueInfo pet_qiyue_data = 17; //宠物觉醒功能
  119. //有可能没有(老号)
  120. repeated KeyValueType battle_attr_list_old = 50; //面板属性数值
  121. repeated KeyValueFloat32 battle_attr_list = 51; //面板属性数值
  122. }
  123. //时装数据
  124. message FashionData{
  125. int32 eye = 1; //创建时的默认眼睛
  126. int32 hair = 2; //头发颜色
  127. int32 hair_avatar = 3; //头发模型
  128. repeated int32 fashion_up_list = 4; //已穿戴时装
  129. }
  130. message FashionAttr{
  131. int32 jobType = 1;
  132. int32 attrId = 2;
  133. int32 value = 3;
  134. }
  135. message HeadFrameData {
  136. int32 head_frame_id = 1; //头像框ID
  137. int64 head_frame_time = 2; //头像框时间
  138. }
  139. //头像信息
  140. message HeadInfo{
  141. int32 head_version = 1; //头像更新版本
  142. repeated int32 head_list = 2; //已激活头像列表
  143. repeated HeadFrameData head_frame_list = 3; //头像框列表
  144. }
  145. //玩家附属属性
  146. message RoleData {
  147. int32 base_exp = 1; //基础经验等级
  148. int32 job_exp = 2; //职业经验
  149. int32 job_level = 3; //职业等级
  150. int32 hero_exp = 4; //伙伴经验
  151. HeroData hero_data = 5; //主角英雄数据
  152. uint64 fight_power = 6; //总战斗力
  153. int32 cruise = 7; //巡游值
  154. int32 max_cruise = 8; //巡游值上限
  155. int32 head_id = 9; //使用的头像ID
  156. uint64 last_login_time = 10; //最近一次离线时间
  157. int32 skill_box = 11; //当前弹框次数
  158. repeated KeyValueType boss_reward_list = 12; //boss挑战奖励预存储
  159. int32 skill_reset_count = 13; //重置次数
  160. int32 head_frame_id = 14; //头像框ID
  161. }
  162. //角色基本信息(不包括其他系统部分)
  163. message RoleBase {
  164. uint64 id = 1;
  165. string nick_name = 2; //玩家昵称
  166. string desc = 3; //个性签名
  167. int32 sex = 4; //性别
  168. int32 country = 5; //国家
  169. int32 guide_id = 6; //新手流程
  170. uint64 coin = 7; //玩家金币
  171. uint32 rmb = 8; //钻石
  172. repeated KeyValueType res_list = 9; //玩家其他资源列表(不放背包的资源)
  173. RoleData role_data = 10; //玩家附属属性
  174. FashionData fashion_data = 11; //时装数据
  175. HeadInfo head_Info = 13; //解锁头像列表
  176. repeated int32 story_id = 14; //播放的剧情
  177. KeyValueType cguide = 15; //Compulsory guidance强制引导 key引导组ID,Value引导步骤ID
  178. KeyValueType map_animation = 16; //新地图动画
  179. uint64 ban_time = 17; //封号结束时间s
  180. float total_recharge = 18; //累计充值
  181. float day_recharge = 19; //每日累计充值
  182. int32 vip_level = 20; //vip等级
  183. uint64 last_recharge_time = 21; //最近充值时间
  184. int32 question_reward = 22; //问卷调查奖励
  185. bool create_reward = 23; //創建角色奖励获取
  186. int32 ban_type = 24; //封号原因
  187. uint64 chat_ban_time = 25; //禁言结束时间
  188. int32 chat_ban_type = 26; //禁言原因
  189. int32 total_online_time = 27; //当前累计在线时间(隔天重置)s
  190. uint64 online_stamp = 28; //上线时的时间戳 ms
  191. int32 online_reward_id = 29; //已经领取过的奖励id(配置表中的唯一id)
  192. uint64 daily_reset_time_stamp = 30; //每日重置时的时间戳
  193. int32 repress_skill_pvp_val = 31; //技能竞技pvp压制值
  194. float bt_zhen_day_recharge = 50; // bt真每日累计充值(花钱购买金币的消耗)
  195. int32 bt_jia_day_recharge = 51; // bt假每日累计充值(消耗的每日充值额度)
  196. uint64 bt_jia_total_recharge = 52; // bt假累计充值(累计消耗的每日充值额度)
  197. }
  198. //神器槽位详细信息
  199. message SkillEquipSlotDetailData {
  200. uint32 skill_equip_id = 1; //神器id
  201. int32 skill_equip_config_id = 2; //神器配置id
  202. int32 skill_equip_star_level = 3; //神器星级
  203. int32 slot_level = 4; //槽位等级
  204. repeated KeyValueType slot_attrs = 5; //暂时只显示神威值
  205. }
  206. //神器槽位列表详细数据
  207. message SkillEquipSlotData {
  208. int32 hero_id = 1;
  209. repeated SkillEquipSlotDetailData slot_list = 2; //目前只有一个神器槽位
  210. }
  211. //神器数据
  212. message SkillEquipData {
  213. uint32 id = 1; //实例ID
  214. int32 config_id = 2; //配置id
  215. int32 star_level = 3; //神器星级
  216. }
  217. message SkillEquipChangeData{
  218. SkillEquipData skill_equip_data = 1; //神器数据
  219. bool add = 2; //添加or删除
  220. }
  221. //玩家神器列表
  222. message RoleSkillEquip {
  223. uint32 max_skill_equip_id = 1;
  224. repeated SkillEquipData skill_equip_list = 2;
  225. }
  226. /////////////////////////////////////////////////////////////////////////////
  227. message EquipData {
  228. int32 config_id = 1; //
  229. int32 num = 2; //当前拥有的数量
  230. }
  231. message RoleEquip {
  232. repeated EquipData equip_list = 1;
  233. }
  234. //道具数据
  235. message ItemData {
  236. uint64 id = 1; //实例id(用来处理道具堆叠操作)
  237. int32 config_id = 2; //道具配置ID
  238. uint32 num = 3; //道具数量
  239. uint32 time_stamp = 4; //道具获得时间
  240. }
  241. //碎片数据
  242. message ChipData {
  243. int32 config_id = 1; //道具配置ID
  244. uint32 num = 2; //道具数量
  245. uint32 time_stamp = 3; //道具获得时间
  246. }
  247. message RoleBag {
  248. repeated ItemData item_list = 1; //道具列表
  249. int32 bag_count = 2; //格子开启信息(暂时不使用)
  250. }
  251. message RoleHero {
  252. repeated HeroData hero_data = 1; //玩家伙伴信息
  253. }
  254. message RoleChip {
  255. repeated ChipData chip_list = 1; //英雄碎片列表
  256. }
  257. //当前职业对应拥有的技能
  258. message JobSkillData {
  259. int32 job_stage = 1; //职业当前转职阶段
  260. repeated KeyValueType unlock_skill_list = 2; //解锁的技能ID
  261. }
  262. //技能槽位信息
  263. message RoleSkillSlot {
  264. int32 skill_id = 1; //技能ID
  265. int32 unlock = 2; //0级表示未解锁,1表示已解锁
  266. int32 default_skill_id = 3; //默认不显示技能
  267. }
  268. message RoleSkill {
  269. repeated JobSkillData job_skill_list = 1; //已经解锁的技能
  270. repeated RoleSkillSlot skill_list = 2; //对应位置上的技能(位置加技能ID,没有该位置的数据说明为解锁该槽位)
  271. }
  272. message CardData {
  273. int32 config_id = 1; //卡片配置ID
  274. int32 num = 2;
  275. }
  276. message CardHandBook {
  277. int32 card_id = 1; //卡片id
  278. int32 card_level = 2; //卡片等级
  279. int32 reward_rec = 3; //领奖记录 按位
  280. }
  281. message CardCollect {
  282. int32 card_quality = 1; //卡片品质
  283. repeated CardHandBook card_book = 2; //卡片收集列表
  284. }
  285. message RoleCard {
  286. repeated CardData card_list = 1; //卡片列表
  287. repeated int32 card_slot_list = 2; //部件卡槽解锁信息,按位处理
  288. repeated CardCollect card_collect = 3; //卡片图册
  289. repeated KeyValueType total_card_num_list = 4;// 历史卡片数量
  290. }
  291. message RoleFashionData{
  292. int32 fashion_id = 1;
  293. int32 fashion_lvl = 2;
  294. bool fashion_wear = 3;
  295. repeated FashionAttr resetAttrs = 4;
  296. repeated FashionAttr attrs = 5;
  297. }
  298. message RoleFashion {
  299. repeated int32 fashion_list = 1; //时装列表
  300. repeated RoleFashionData fashion_data = 2; // 时装新结构
  301. repeated KeyValueType lvs = 3; // 套裝數據
  302. }
  303. ////////////////////////AOI
  304. message RoleMap {
  305. int32 map_type = 1;
  306. Position pos = 2;
  307. int32 world_boss_count = 3; //世界boss挑战次数
  308. repeated int32 world_boss_challenge_list = 4; //当天挑战过的世界bossid列表(id*10 + summonidx)
  309. }
  310. message Position {
  311. float x = 1;
  312. float y = 2;
  313. float z = 3;
  314. }
  315. message Vector3 {
  316. float x = 1;
  317. float y = 2;
  318. float z = 3;
  319. }
  320. message Player {
  321. uint64 uid = 1;
  322. Position pos = 2;
  323. int32 u_type = 3; //单位类型,1玩家,2boss,3其他npc
  324. }
  325. //地图显示玩家数据
  326. message PlayerShowInfo {
  327. uint64 uid = 1; //玩家id
  328. int32 level = 2;
  329. int32 vip_level = 3;
  330. int32 gender = 4; //gender
  331. int32 job_id = 5; //config id [JobCfg id]
  332. string nick_name = 6; //玩家昵称
  333. FashionData fashion_data = 7; //时装数据
  334. int32 action_id = 8; //是否是npc 非0表示根据action_id来显示
  335. int32 head_id = 9; // 称号id
  336. int32 img_id = 10; //头像ID
  337. int32 head_frame_id = 11; //头像框ID
  338. int32 fight_power = 12; //战斗力(历史最高战力)
  339. int32 from_zone = 20; //逻辑区服
  340. int32 real_zone = 21; //服务器使用
  341. }
  342. //玩家详细信息
  343. message OtherPlayerDetailInfo{
  344. uint64 uid = 1; //玩家id
  345. }
  346. message UnitPosAndDir {
  347. uint64 uid = 1;
  348. Vector3 pos = 2;
  349. Vector3 dir = 3;
  350. bool is_on_ground = 4;
  351. int32 u_type = 5; //单位类型,1玩家,2boss,3其他npc
  352. int32 param_id = 6;
  353. }
  354. ////////////////////////Battle
  355. //快速战斗
  356. message QuickBattleData{
  357. int32 max_times = 1; //最大次数 (解锁次数 + 后续可扩展次数)
  358. int32 day_times = 2; //当日领取次数
  359. uint64 draw_time = 3; //上一次领取时间
  360. }
  361. message BattleEvilBossData {
  362. int32 pos_idx = 1;
  363. int32 boss_id = 2;
  364. uint64 expire_time = 3; //有过期时间表示boss死亡
  365. int32 reward_evil_exp = 4; //胜利奖励的技能经验
  366. int32 refresh_time = 5;
  367. int32 quality = 6; //品质 1-4
  368. }
  369. message BattleEvilData {
  370. int32 free_count = 1;
  371. bool free_limit = 2; //true表示无限免费次数
  372. int32 challenge_count = 3; //挑战次数用来升级恶魔等级
  373. int32 evil_level = 4; //恶魔等级
  374. repeated BattleEvilBossData boss_list = 5;
  375. repeated KeyValueType quality_challenge_count = 6; //对应恶魔品质完成挑战次数
  376. int32 total_count = 7; //总次数
  377. }
  378. //远征之门
  379. message BattleExpeditionActor {
  380. int32 id = 1;
  381. int32 level = 2;
  382. int32 hp = 3;
  383. int32 sp = 4;
  384. }
  385. message BattleExpeditionReward {
  386. int32 expedition_type = 1;
  387. repeated int32 reward_state = 2; //获取奖励状态宝箱index,从1开始
  388. }
  389. message ExpeditionRankInfo {
  390. int32 rank = 1;
  391. CommonPlayerBriefInfo brief_info = 2;
  392. uint32 score = 3; //当前积分
  393. }
  394. message BattleExpedition {
  395. int32 expedition_type = 1; //当前解锁到的区域地图ID
  396. repeated int32 battle_hero_list = 2; //上阵玩家英雄动态id
  397. int32 total_expedition_num = 3; //历史通关副本区域地图次数
  398. //数据需要隔天清空(关卡数据在挑战关区域地图后可以进行重置)
  399. int32 challenge_num = 4; //剩余挑战次数
  400. int32 cur_expedition_type = 5; //当前挑战的区域地图ID,同一时间只存在一份
  401. repeated int32 finish_expedition_list = 6; //已经完成全部关卡挑战的区域地图ID
  402. repeated BattleExpeditionReward reward_state_list = 7; //获取奖励状态
  403. int32 cur_battle_level = 8; //当前正在挑战的关卡
  404. repeated BattleExpeditionActor boss_list = 9; //挑战bossID
  405. repeated int32 battle_buff_list = 10; //战斗胜利后获得的增强buff列表(选择后的buff)
  406. repeated int32 battle_select_buff_list = 11; //上一关未选择的buff列表
  407. repeated BattleExpeditionActor battle_hero_hp_list = 12; //英雄血量保存万分比
  408. int32 battle_idx = 13; //0表示没有挑战
  409. KeyValueType assist_num = 14; //救助其他玩家次数 key:最大次数 val:已经救助次数
  410. KeyValueType be_assist_num = 15; //被其他玩家救助次数 key:最大次数 val:已经其他玩家救助次数
  411. bool assist_state = 16; //是否处于求救中(发起求助后未被救助) true救助中
  412. uint64 assist_guild_end_time = 17; //公会求助结束时间戳
  413. repeated KeyValueType64 be_assist_uid_list = 18; //救助该玩家的其他玩家(保证只能救助一次)
  414. uint64 assist_time_stamp = 19; //是否处于求救中(发起求助后未被救助) >0 救助中,发起求助的时间
  415. uint32 cur_expedition_score = 20; //当前地图远征积分(隔天重置)
  416. uint32 cur_expedition_score_max = 21; //地图远征积分历史最大值
  417. uint64 expedition_score_reset_time = 22; //系统重置积分时间
  418. uint64 expedition_type_reward = 23; //地图通关宝箱奖励领取状态
  419. }
  420. message RushMap {
  421. uint32 map_score = 1; //推图积分
  422. uint32 bag_score = 2; //礼包积分
  423. uint32 rush_map_id = 3; //推图ID
  424. int32 fight_round = 4; //参与轮次
  425. int32 reward_round = 5; //保底奖励轮次
  426. int32 rank_reward = 6; //上次领取的奖励轮次
  427. }
  428. message RoleBattle {
  429. uint64 last_income_time = 1; //上一次领取收益时间,0表示未初始化
  430. uint32 map_level = 2; //当前场景ID,默认为1
  431. uint32 map_id = 3; //当前地图ID,默认为1
  432. uint32 max_income_time = 4; //最大收益时间
  433. QuickBattleData quick_battle = 5; //快速战斗
  434. //当前领取到的奖励关ID
  435. uint32 reward_map_id = 6;
  436. uint32 reward_map_level = 7;
  437. uint32 reward_map_count = 8; //累计的挑战boss成功次数,用来后续做小目标星星处理
  438. //小地图数据
  439. //恶魔协会
  440. BattleEvilData evil_info = 9;
  441. //远征之门
  442. BattleExpedition expedition_info = 10; //远征之门
  443. uint64 map_level_time = 11; //到达当前关卡时的时间戳(用来做难度衰减)
  444. RushMap rush_map = 12; //推图冲榜
  445. repeated KeyValueType map_challenge_num_list = 13; //关卡挑战次数
  446. // 战斗加速时间(客户端显示根据last_record_battle_acce_time+battle_acce_duration为最大能使用的结束时间戳)
  447. uint64 last_record_battle_acce_time = 14; // 上次记录时的时间
  448. uint64 battle_acce_duration = 15; // 当前剩余的时间
  449. }
  450. message ActorPosition {
  451. uint32 id = 1;
  452. Position pos = 2;
  453. }
  454. message RankPlayerInfo {
  455. uint64 uid = 1; //玩家ID
  456. uint32 map_level = 2; //当前场景ID,默认为1
  457. uint32 map_id = 3; //当前地图ID,默认为1
  458. CommonPlayerBriefInfo brief = 4; //玩家昵称
  459. }
  460. //世界boss列表信息
  461. message WorldBossContentInfo {
  462. int32 cfg_id = 1;
  463. int32 boss_id = 3;
  464. int32 boss_summon_idx = 4; //同一id boss第一次刷新
  465. CommonPlayerBriefInfo brief = 5; //玩家昵称
  466. int32 fighter_num = 6;
  467. uint64 expire_time = 7;
  468. int32 total_hp = 8; //总血量
  469. int32 cur_hp = 9; //当前血量
  470. bool is_fight = 10; //是否参与过挑战
  471. uint64 next_refresh_time = 11; //下次刷新boss时间戳
  472. int32 boss_summon_type = 15; //0普通世界boss 1变身世界boss
  473. }
  474. //世界boss rand点数据
  475. message PointNameInfo{
  476. string name = 1;
  477. int32 point = 2;
  478. uint64 uid = 3;
  479. }
  480. message WorldBossRandPointInfo {
  481. repeated int32 reward_list = 1; //1大奖,2中奖,3参与奖
  482. int32 boss_id = 2; //bossuid
  483. int32 boss_summon_idx = 3; //该boss当前召唤的次数
  484. int32 boss_summon_type = 4; //boss召唤类型
  485. }
  486. ////////////////////////Task
  487. //key value 类型
  488. message TaskProgressType {
  489. int32 key = 1;
  490. int32 value = 2;
  491. int32 state = 3;
  492. uint32 total = 4;
  493. }
  494. message TaskData {
  495. uint32 task_id = 1; //任务ID
  496. repeated TaskProgressType progress = 2; //任务进度
  497. uint32 state = 3; //是否领取任务奖励
  498. uint64 begin_time = 4; //开启该任务时的时间
  499. int32 task_type = 5; //任务类型(日常/周常/主线)
  500. }
  501. message HeadCond{
  502. int32 head_id = 1; //头像ID
  503. repeated TaskData task_list = 2; //头像进度
  504. }
  505. message RoleHeadCond {
  506. repeated HeadCond conditions = 1; //头像进度
  507. }
  508. message HeroCond{
  509. int32 hero_id = 1; //伙伴ID
  510. repeated TaskData task_list = 2; //伙伴进度
  511. }
  512. message RoleHeroCond {
  513. repeated HeroCond conditions = 1; //伙伴进度
  514. }
  515. message RoleTask {
  516. repeated TaskData task_list = 1; //任务列表
  517. repeated ChangeJob condition = 2; //可转职业条件
  518. RoleHeadCond head_cond = 3; //头像进度
  519. RoleHeroCond hero_cond = 4; //伙伴进度
  520. KeyValueType daily_task_score = 5; //活跃度/活跃度对应的奖励,按位处理(完成任务累加的积分)
  521. KeyValueType week_task_score = 6;
  522. //任务通用累计计数
  523. uint64 total_add_zeny = 7; //累计获得的zeny数量
  524. int32 accumulative_card_mvp = 8; //累计收集获得不同种类,MVP的卡片{X}张
  525. uint64 latest5_hour_time = 9;
  526. uint64 latest_week5_hour_time = 10;
  527. repeated KeyValueType type_rec_count = 11;
  528. }
  529. message SlotFightPower {
  530. int32 hero_id = 1; //伙伴ID
  531. uint64 hero_fight_power = 2; //伙伴战斗力
  532. uint64 pet_fight_power = 3; //宠物战斗力
  533. }
  534. message FightPowerData {
  535. uint32 total_fightpower = 1; //主角总战力
  536. repeated SlotFightPower slot_fightpower = 2; //所有英雄的战力
  537. uint32 pet_bond_fightpower = 3; //羁绊战力
  538. repeated SlotFightPower actor_fightpower = 4; //英雄/宠物自身战力
  539. }
  540. ////////////////////////Arena
  541. message RushArena {
  542. int32 rush_round = 1; //冲榜轮次
  543. int32 count = 2; //战斗次数
  544. int32 reward = 3; //是否领奖
  545. int32 rank_reward = 4; //上次领取的奖励轮次
  546. }
  547. message ArenaInfo {
  548. int32 challenge_count = 1; //剩余挑战次数
  549. int32 reward_count = 2; //剩余积分获得次数
  550. int32 buy_count = 3; //剩余购买次数
  551. int32 score = 4; //积分
  552. int32 win_count = 5; //胜利次数
  553. int32 total_count = 6; //总挑战次数
  554. int32 old_score = 7; //上一赛季积分
  555. int32 win_streak = 8; //连胜
  556. int32 failed_streak = 9; //连败
  557. uint64 last_challenge_player = 10; //最后一次匹配的玩家
  558. repeated int32 self_hero_list = 11;
  559. int32 arena_season_id = 12; //玩家参与赛季ID(用户获取奖励)
  560. uint64 last_arena_season_time = 13; //参加赛季时间
  561. //历史记录换赛季不清空
  562. int32 record_win_count = 14;
  563. int32 record_total_count = 15;
  564. RushArena rush_arena = 16; //英灵殿冲榜
  565. int32 arena_season_id_reduce = 17; ////玩家参与赛季ID(降段位使用)
  566. }
  567. //道场排行信息
  568. message ArenaRankInfo {
  569. int32 rank = 1;
  570. CommonPlayerBriefInfo brief_info = 2;
  571. int32 score = 3; //当前积分
  572. }
  573. message RoleArena {
  574. ArenaInfo arena = 1; //道场
  575. }
  576. ////////////////////////mail
  577. message MailContent {
  578. int32 id = 1; //动态id
  579. int32 config_id = 2; //邮件配置id
  580. int32 type = 3; //邮件类型
  581. repeated KeyValueType reward_list = 4; //附件资源
  582. uint64 begin_time = 5; //获得邮件时间戳
  583. uint64 expire_time = 6; //结束时间戳
  584. //0未读取 1已读取 | 00未获取 10已获取 | 000 未删除 100 已删除
  585. int32 state = 7; //邮件状态 第1位标识读取状态,第2位标识附件获取状态 第3位表示删除状态
  586. repeated int32 param_list = 8; //邮件参数列表
  587. string title = 9;
  588. string content = 10;
  589. }
  590. message RoleMail {
  591. repeated MailContent mail_list = 1;
  592. int32 max_mail_id = 2;
  593. int32 curr_global_mail_id = 3; //领取webgm发送的奖励
  594. }
  595. ////////////////////////ReadInfo 小红点数据
  596. message RoleRed {
  597. bool is_unread_mail = 1; //当前是否拥有为读取邮件
  598. }
  599. ////////////////////////Competition 赛季玩法
  600. //赛季结算信息
  601. message CompetitionRewardInfo {
  602. int32 reward_idx = 1; //结算次数序号
  603. uint64 reward_end_tme = 2; //结算的结束时间(数据存时不使用,发送数据时使用)
  604. //参数说明
  605. //1,2赛季类型,对应档位礼包id
  606. repeated int32 param_list = 3;
  607. }
  608. //历史赛季信息
  609. message CompetitionInfo {
  610. int32 competition_id = 1; //CompetitionPeriodCfg中的CompetitionId
  611. uint64 cur_end_time = 2; //结束时间
  612. repeated CompetitionRewardInfo reward_info_list = 3; //周期结算信息
  613. int32 com_param = 4; //当前赛季系统对应的参数(二类型赛季表示积分)
  614. uint64 com_param_add_time = 5; //添加积分时的时间戳(用来判断下次添加时是否还生效)
  615. //显示超过进度使用
  616. int32 self_rank = 6; //当前排名
  617. int32 total_rank = 7; //总人数
  618. //下一档积分差距
  619. int32 next_com_score = 8;
  620. int32 last_com_score = 9; //玩家在第一档时,第二档的第一名(也就是第二名)
  621. }
  622. message DivineInfo {
  623. //占星
  624. repeated int32 cur_stars = 1; //当前星星
  625. int32 failed_count = 2; //当前连败次数
  626. }
  627. //每日领奖数据
  628. message DaySupplyData {
  629. uint64 begin = 1; //领奖开始
  630. uint64 end_index = 2; //领奖结束
  631. bool draw = 3; //是否领奖
  632. }
  633. //粉丝投票数据
  634. message FansVoteData {
  635. string name = 1; //名字
  636. int32 rank = 2; //排名
  637. int32 score = 3; //分数
  638. }
  639. //箱子排名数据
  640. message FansBoxData {
  641. uint64 uid = 1; //uid
  642. int32 box = 2; //箱子数量
  643. int32 rank = 3; //排名
  644. }
  645. //排名数据
  646. message FansRankData {
  647. uint64 uid = 1; //uid
  648. int32 score = 2; //分数
  649. int32 rank = 3; //排名
  650. }
  651. message FansVoteDetail {
  652. uint64 uid = 1; //uid 投票人
  653. uint64 vote_time = 2; //time 投票时间
  654. int32 ticket_count = 3; //ticket 票数
  655. }
  656. //请求自己的粉丝榜单
  657. message IdolFansInfo {
  658. repeated FansVoteDetail fans_list = 1;
  659. }
  660. message IdolInfo {
  661. repeated KeyValueType64 vote_data = 1; //uid 投票目标, value 票数, value2 领奖标记
  662. repeated int32 day_reward = 2; //每日奖励领取
  663. bool join_competition = 3; //参加活动标记
  664. int32 box_score = 4; //购买箱子分数
  665. uint64 first_begin = 5; //第一次领奖开始
  666. uint64 first_end = 6; //第一次领奖结束
  667. uint64 second_begin = 7; //第二次领奖开始
  668. uint64 second_end = 8; //第二次领奖开始
  669. }
  670. message PlayerShowData {
  671. uint64 uid = 1;
  672. RoleBase role_base = 2;
  673. HeroData hero_data = 3; //主角数据
  674. }
  675. message IdolSeasonData {
  676. //前三名数据
  677. repeated PlayerShowData detail_list = 1; //详细信息列表
  678. //前三名的票数
  679. repeated FansRankData vote_list = 2; //前三名数据
  680. repeated int32 day_reward = 3; //每日奖励领取
  681. uint64 first_begin = 4; //第一次领奖开始
  682. uint64 first_end = 5; //第一次领奖结束
  683. uint64 second_begin = 6; //第二次领奖开始
  684. uint64 second_end = 7; //第二次领奖结束
  685. bool has_box_reward = 8; //是否有箱子奖励(有人买了箱子就显示)
  686. }
  687. message FansVoteRewardData {
  688. uint64 uid = 1;
  689. repeated KeyValueType64 idol_list = 2; //key idoluid, value score
  690. }
  691. message RoleCompetition {
  692. CompetitionInfo cur_competition = 1; //正在进行的赛季
  693. int32 reward_competition_id = 2; //当前获取到的赛季奖励ID
  694. int32 reward_competition_sub_id = 3; //当前赛季内结算周期对应奖励
  695. DivineInfo divine = 4; //占星数据
  696. IdolInfo idol = 5; //偶像季数据
  697. }
  698. ////////////////////////social好友
  699. //每次上线时需要重新加载
  700. message RoleFriend {
  701. repeated uint64 sub_list = 1; //关注列表
  702. repeated uint64 fans_list = 2; //被关注列表(粉丝列表)
  703. repeated uint64 black_list = 3; //黑名单列表
  704. }
  705. message RoleSocial {
  706. RoleFriend friendInfo = 1; //friend info
  707. }
  708. ////////////////////////common
  709. //战斗玩家数据
  710. message FightRoleInfo {
  711. bool is_robot = 1; //是否是机器人
  712. CommonPlayerBriefInfo brief_info = 2;
  713. //系统数据
  714. int32 job_level = 3; //职业等级
  715. repeated KeyValueType attr_list = 4; //属性点添加列表
  716. FashionData fashion_data = 5; //时装数据
  717. repeated HeroData hero_data_list = 6; //主角/伙伴数据(对应的上阵玩家数据)
  718. int32 max_fight_power = 7; //玩家历史最高战力
  719. repeated PetData battle_pet_list = 8; //上阵宠物数据
  720. int32 change_play_id = 9; //是否是变身状态(<=0未变身)
  721. int32 repress_skill_pvp_val = 10; //技能竞技压制
  722. }
  723. message ChatMessageInfo {
  724. string message = 1;//消息内容
  725. uint64 send_time = 2; //秒为单位,发送聊天时间
  726. int32 sub_type = 3; //子类型,显示不同系统消息
  727. }
  728. message ChatPlayerBriefInfo {
  729. uint64 uid = 1; //玩家唯一ID
  730. string nick_name = 2; //玩家nickname
  731. int32 img_id = 3; //头像ID
  732. int32 config_id = 4; //职业配置表id
  733. int32 level = 5; //等级
  734. int32 head_frame_id = 6; //头像框ID
  735. int32 gender = 7; //性别
  736. int32 vip_level = 8; //VIP等级
  737. int32 head_id = 9; //称号di
  738. }
  739. message CommonPlayerBriefInfo {
  740. uint64 uid = 1; //玩家唯一ID
  741. string nick_name = 2; //玩家nickname
  742. int32 img_id = 3; //头像ID
  743. int32 gender = 4; //性別
  744. int32 level = 5; //等级
  745. int32 config_id = 6; //职业ID
  746. int32 fight_power = 7; //战斗力(历史最高战力)
  747. bool online_state = 8; //玩家在线状态
  748. uint64 online_time = 9; //玩家最后在线时间(上线时也会更新该事件)
  749. int32 tower_level = 10; //爬塔层数
  750. uint64 tower_time = 11; //当前塔通关时间
  751. int32 map_level_id = 12; //当前地图关卡
  752. uint64 battle_record_id = 13;
  753. int32 head_frame_id = 14; //头像框ID
  754. int32 vip_level = 15; //vipLevel
  755. int32 select_zone = 16; //登录所在的区服
  756. int32 head_id = 17; // 称号id
  757. //后续字段不做保存操作
  758. float total_recharge = 30; //累计充值
  759. uint64 last_recharge_time = 31; //最近充值时间
  760. uint64 rmb = 32;
  761. uint64 zeny = 33;
  762. uint32 max_fight_power = 34;
  763. string daochang100_tips = 35; //设置口号
  764. }
  765. message PlayerStateInfo {
  766. uint64 uid = 1; //玩家唯一ID
  767. bool online = 2; //true在线,false离线
  768. }
  769. message SystemMessage {
  770. int32 type = 1; //公告类型 1通关 2获得伙伴 3宝箱 4稀有道具
  771. string nick_name = 2; //玩家nickname
  772. repeated int32 param_id = 3; //通用参数ID
  773. uint64 send_time = 4; //秒为单位,发送消息时间
  774. }
  775. message MessageContentInfo {
  776. int32 type = 1; //消息类型1私人聊天,2世界频道聊天
  777. ChatPlayerBriefInfo from_id = 2;
  778. ChatMessageInfo message = 3; //消息内容
  779. uint64 target_id = 4; //targetId显示该私聊信息
  780. repeated int32 param_list = 5;
  781. }
  782. message RoleChat {
  783. repeated ChatPlayerBriefInfo offline_msg_player_list = 1; //离线消息玩家ID列表
  784. }
  785. message BuyInfo {
  786. int32 goods_id = 1; //道具配置ID
  787. int32 buy_num = 2; //道具购买数量
  788. uint64 buy_time = 3; //道具购买时
  789. int64 ref_time = 5; //购买刷新时间refresh_time
  790. }
  791. //黑市类型商店数据
  792. message SpecialShop {
  793. int64 refresh_time = 1; //上次刷新时间
  794. repeated int32 goods_list = 2; //刷新的商品列表
  795. int32 refresh_count = 3; //刷新次数
  796. }
  797. message ShopBuyInfo {
  798. int32 goods_type = 1; //商店ID
  799. repeated BuyInfo item_info = 2; //购买ixinxi
  800. SpecialShop ref_data = 3; //黑市信息
  801. }
  802. message ShopItem {
  803. int32 goods_id = 1; //道具配置ID
  804. int32 price = 3; //原价
  805. int32 cur_price = 4; //现价
  806. int32 dispercent = 6; //折扣比例
  807. bool hot = 7; //热销
  808. int32 limit_type = 9; //限购类型
  809. int32 count = 10; //限购数量
  810. int32 circle = 11; //循环时间
  811. int64 start_time = 13; //开始时间
  812. int64 end_time = 14; //结束时间
  813. int32 hd_item_id = 15; //活动指定掉落道具
  814. }
  815. message ShopData {
  816. int32 goods_type = 1; //商店ID
  817. repeated ShopItem item_info = 2; //道具信息
  818. repeated BuyInfo buy_info = 3; //购买ixinxi
  819. int64 refresh_time = 4; //下一次刷新时间(黑市商店)
  820. int32 refresh_count = 5; //刷新次数
  821. int64 day_end = 6; //日结束时间戳
  822. int64 week_end = 7; //周结束时间戳
  823. }
  824. message ShopList {
  825. repeated ShopData data = 1;
  826. }
  827. //战斗玩家数据
  828. message ViewRoleInfo {
  829. uint64 id = 1; //玩家id
  830. CommonPlayerBriefInfo brief = 2; //玩家信息
  831. HeroData role_hero = 3; //玩家伙伴信息
  832. RoleHero hero = 4; //玩家主角信息
  833. RoleFashion fashion = 5; //时装
  834. repeated KeyValueType attr_list = 6; //属性点添加列表
  835. FashionData fashion_data = 7; //时装数据
  836. int32 danScore = 8; //段位
  837. repeated int32 param_list = 9; //赛季相关
  838. string guild_name = 10; //公会名字
  839. repeated PetData pet_list = 11; //宠物列表(上阵的)
  840. }
  841. message ShopCost{
  842. int32 shop_type = 1;
  843. int32 res_type = 2;
  844. uint32 res_count = 3;
  845. }
  846. message RoleShop {
  847. repeated ShopBuyInfo info = 1; //商店购买信息
  848. int32 total_buy_num = 2; //商店总购买次数
  849. repeated ShopCost cost_res = 3; //商店特定货币消耗
  850. }
  851. message CurRoundSign {
  852. int64 last_sign = 1; //最近一次签到时间
  853. }
  854. //签到相关
  855. message SignUp{
  856. int32 sign_round = 1; //签到轮次
  857. int32 cur_day = 2; //当前签到天数
  858. CurRoundSign cur_sign_info = 3; //当前轮次签到信息
  859. }
  860. //活动数据
  861. message RoleActivity {
  862. SignUp sign_info = 1; //签到活动
  863. //精彩活动
  864. uint64 cur_day_end_time = 2; //当前天结束时间戳
  865. repeated ActivitiesDetailData activity_data_list = 3;
  866. //充值活动
  867. //首充大礼包时间(达到给定数值记录时间)
  868. uint64 first_charge_time = 4; //非0表示可以进行奖励领取
  869. int32 first_charge_reward_state = 5;
  870. //超值礼包数据
  871. repeated ActivitiesUnlockRechargeData unlock_charge_list = 6;
  872. repeated KeyValueType unlock_charge_has_list = 7; //已经触发的超值礼包的次数
  873. repeated int32 expired_activity_list = 8; //过期或者已经删除的活动(次数) = 9;
  874. //服务器Load时使用
  875. repeated SystemMessage act_msg_list = 10; // 活动内的操作消息(砸蛋奖励获取消息)
  876. }
  877. ///精彩活动
  878. message ActivitiesDetailData {
  879. int32 activities_id = 1;
  880. int32 activities_type = 2;
  881. uint64 start_time = 3;
  882. uint64 end_time = 4; //活动结束时间(服务器使用)
  883. int32 cur_day = 5; //根据开始时间计算的当前天数
  884. //连续登录活动奖励获取状态
  885. repeated KeyValueType login_reward_list = 6;
  886. //14日目标任务
  887. ActivitiesFortnightDays fortnight_days = 7;
  888. //充值达到百元大礼包时的时间戳
  889. uint64 param_time = 8; //非0表示可以进行奖励领取
  890. int32 reward_state = 9; //奖励领取状态
  891. //集字活动
  892. repeated ActivitiesCollectionData collection_list = 10;
  893. //好感度数据(3.8活动)
  894. ActivitiesLikabilityData likability_data = 11;
  895. repeated TaskData king_task = 12; //国王盛宴任务
  896. uint32 fighting_target = 13; //开启时战力
  897. //兑换活动
  898. repeated ExchangeData exchange_list = 14;
  899. //活动转盘
  900. ActivityWheelData wheel_data = 15; //
  901. //签到活动
  902. ActivitySignIn sign_data = 16;
  903. // bt RO币累计活动
  904. ActivityBTROCoin bt_rocoin_data = 20;
  905. // 真/假每日累计充值活动
  906. repeated TaskData bt_zhenjia_recharge_task_list = 21;
  907. //repeated SystemMessage act_msg_list = 22; // 活动内的操作消息(砸蛋奖励获取消息)
  908. }
  909. message ActivityBTROCoin {
  910. repeated TaskData daily_task_list = 1;
  911. repeated TaskData week_task_list = 2;
  912. uint64 week_day_end_time = 3; // 周累计活动下次刷新时间
  913. }
  914. message ActivitySignIn {
  915. uint64 next_sign_time = 1; // 下次签到时间戳
  916. int32 sign_days = 2; // 已签到次数
  917. }
  918. //活动转盘
  919. message ActivityWheelData {
  920. //转盘
  921. repeated WheelRewardItemInfo wheel_reward_item_list = 1; //奖励物品
  922. bool wheel_open = 2; //是否开启本轮,false表示关闭
  923. int32 wheel_refresh_num = 3; //每轮的第几次刷新
  924. int32 template_idx = 4; //模板id
  925. int32 wheel_num = 5; //抽取次数
  926. int32 wheel_idx = 6; //最后一次抽奖停留的位置(全部获取奖励该数值为0)
  927. repeated WheelLogData log_list = 7; //转盘大奖日志(自己)
  928. }
  929. message ExchangeData {
  930. int32 id = 1;
  931. int32 exchange_num = 2; //目前已经兑换次数
  932. }
  933. message ExchangeInfo {
  934. int32 condition_id = 1;
  935. repeated KeyValueType cost_item = 2;
  936. }
  937. message ActivitiesData {
  938. int32 id = 1; //配置id
  939. int32 type = 2; //活动类型
  940. uint64 end_time = 3; //活动结束时间戳
  941. string bg = 4; //背景图片地址
  942. }
  943. //14日目标任务(7天重置一次,显示7天数据)
  944. message ActivitiesFortnightDays {
  945. int32 task_score = 1; //任务获取到的积分
  946. uint32 task_score_reward = 2; //任务积分奖励获取状态(位处理)
  947. repeated TaskData task_list = 3; //7天任务列表(不会有重复ID)
  948. }
  949. //超值礼包数据
  950. message ActivitiesUnlockRechargeData {
  951. int32 activities_id = 1; //超值礼包数据ID
  952. uint64 start_time = 2;
  953. uint64 end_time = 3; //活动结束时间
  954. }
  955. message ActivitiesCollectionData {
  956. int32 id = 1;
  957. int32 reward_num = 2; //目前已经兑换次数
  958. bool no_notice = 3; //不提醒 默认为false
  959. }
  960. //好感度数据
  961. message ActivitiesLikabilityData {
  962. int32 level = 1; //等级
  963. uint32 param = 2; //当前数值
  964. }
  965. message FriendTowerInfo {
  966. int32 tower_level = 1; //塔层数
  967. repeated CommonPlayerBriefInfo infos = 2; //好友简介
  968. }
  969. message RushTower {
  970. int32 rush_round = 1; //冲榜次数
  971. int32 count = 2; //战斗次数
  972. int32 reward = 3; //是否领奖
  973. int32 rank_reward = 4; //上次领取的奖励轮次
  974. }
  975. message RoleTower{
  976. int32 now_tower_level = 1; //当前可爬塔层数,默认为1
  977. int64 now_tower_time = 2; //当前爬塔时间
  978. RushTower rush_tower = 3; //爬塔冲榜数据
  979. uint64 sys_reward_time = 4; //获取系统补偿奖励(印记奖励)时间戳
  980. uint64 tower_level_day_reward_time = 5; // 每天馈赠奖励可领取时间戳
  981. }
  982. message RefusedApply{
  983. uint64 guild_id = 1; //公会ID
  984. int64 apply_time = 2; //连续被拒绝3次时间
  985. }
  986. message DayApply{
  987. uint64 guild_id = 1; //公会ID
  988. int64 apply_time = 2; //连续被拒绝3次时间
  989. }
  990. message TowerBriefInfo {
  991. CommonPlayerBriefInfo common_info = 1;
  992. int32 battle_time = 2;
  993. int32 battle_version = 3;
  994. }
  995. message RecommendGuild {
  996. uint64 guild_id = 1; //公会列表
  997. int32 level = 2; //公会等级
  998. int64 active_time = 3; //活跃时间
  999. uint32 active = 4; //活跃度
  1000. }
  1001. message RecommendSet {
  1002. repeated RecommendGuild guild = 1;
  1003. }
  1004. //=============================== 公会 ====================================
  1005. //客户端请求: 公会基础信息:成员简介
  1006. message MemberBrief {
  1007. uint64 uid = 1; //公会成员ID
  1008. int64 offline_time = 2; //离线时间
  1009. int32 title = 3; //职位
  1010. }
  1011. //客户端请求: 公会基础信息:公会简介
  1012. message GuildNotifyData {
  1013. GuildBrief brief = 1; //公会简介
  1014. int32 mem_count = 2; //成员数量
  1015. bool is_apply = 3; //是否申请过
  1016. bool cp_num = 4; //贡献点
  1017. }
  1018. //客户端请求: 成员详细信息
  1019. message MemberInfo {
  1020. uint32 total_active = 1;
  1021. CommonPlayerBriefInfo brief = 2;
  1022. }
  1023. message GuildBossLogDetial {
  1024. GuildFightLog fight_log = 1; //boss战斗日志
  1025. CommonPlayerBriefInfo info = 2; //
  1026. }
  1027. message GuildBossData {
  1028. uint32 boss_id = 1; //bossId
  1029. uint64 fight_time = 2; //boss战斗截止时间
  1030. uint64 fight_cd_time = 3; //结算截止时间
  1031. }
  1032. //公会存库======开始
  1033. message GuildLog{
  1034. int32 op_title = 1; //操作人官职
  1035. string op_name = 2; //操作人名字
  1036. int32 be_op_title = 3; //备操作人官职
  1037. string be_op_name = 4; //被操作人名字
  1038. int32 event_type = 5; //事件类型
  1039. uint64 event_time = 6; //事件发生时间
  1040. }
  1041. message GuildLogSet {
  1042. repeated GuildLog guild_log = 1;
  1043. }
  1044. message GuildMember{
  1045. uint64 member_id = 1; //UID
  1046. int32 title = 2; //官职0:玩家, 1:副会长,2:会长
  1047. int64 offline_time = 3; //下线时间,0 表示在线
  1048. repeated KeyValueType64 active_info = 4; //活跃度Key:时间, value:活跃度
  1049. uint64 add_guild_time = 5; //进入(创建)公会时间
  1050. }
  1051. message MemberData {
  1052. uint64 pre_id = 1; //会长ID
  1053. repeated uint64 vice_pre_id = 2; //副会长ID
  1054. repeated GuildMember member_info = 3; //公会成员信息
  1055. uint64 kick_time = 4; //上次踢人时间
  1056. int32 kick_num = 5; //踢人数量
  1057. }
  1058. message GuildBrief {
  1059. uint64 guild_id = 1; //公会ID
  1060. string guild_name = 2; //公会名字
  1061. int32 guild_badge = 3; //公会徽章
  1062. int32 guild_level = 4; //公会等级
  1063. uint32 guild_active = 5; //公会活跃值
  1064. }
  1065. message GuildBase {
  1066. GuildBrief guild_brief = 1; //公会简介信息
  1067. uint32 day_active = 2; //当天活跃度
  1068. uint32 guild_exp = 3; //公会经验值
  1069. int64 active_time = 4; //最后一次活跃值时间
  1070. int32 recruit_type = 5; //招人类型(是否可以直接入会)
  1071. int32 recruit_level = 6; //入会等级
  1072. string notice = 7; //公会公告
  1073. string recruit_notice = 8; //招人公告
  1074. }
  1075. message DemonDamage {
  1076. uint64 uid = 1;
  1077. uint64 damage = 2;
  1078. uint64 fight_time = 3;
  1079. }
  1080. message GuildDemon {
  1081. int32 cur_demon_id = 1;
  1082. uint64 total_damage = 2;
  1083. repeated DemonDamage damage_list = 3;
  1084. uint64 refresh_time = 4;
  1085. }
  1086. message GuildActiveInfo{
  1087. uint32 active_value = 1; //我的活跃值
  1088. int32 day_active_value = 2; //当天活跃值
  1089. int64 active_time = 3; //前一次活跃时间
  1090. }
  1091. message RoleApplyInfo{
  1092. repeated DayApply day_apply = 1; //日常被拒
  1093. repeated RefusedApply refused = 2; //被连续拒绝的公会
  1094. }
  1095. message GuildBossTickTime {
  1096. uint32 bossId = 1; //bossId
  1097. int32 fight_count = 2; //战斗次数
  1098. uint64 refresh_time = 3; //刷新时间
  1099. }
  1100. //公会战个人信息
  1101. message GuildBattle {
  1102. int32 reward_round = 1; //奖励轮次
  1103. int32 mvp_reward_round = 2; //MVP奖励轮次
  1104. int32 challenge_num = 3; //战斗次数
  1105. }
  1106. message GuildDemonReward{
  1107. uint64 total_damage = 1;
  1108. int32 demon_id = 2;
  1109. repeated DemonDamage damage_list = 3;
  1110. }
  1111. message DemonInfo {
  1112. int32 free_fight_count = 1; //免费战斗次数
  1113. int32 buy_fight_count = 2; //购买了的次数
  1114. int32 use_fight_count = 3; //当天使用次数
  1115. uint64 refresh_time = 4; //公会demon刷新时间
  1116. uint64 last_fight_time = 5; //最近一次战斗时间
  1117. }
  1118. message RoleGuild{
  1119. uint64 guild_id = 1; //当前公会ID
  1120. GuildActiveInfo guild_active = 2; //公会信息
  1121. RoleApplyInfo guild_apply = 3; //公会申请信息
  1122. int32 quit_num = 4; //总退会次数
  1123. int64 next_join = 5; //下一次入会时间
  1124. repeated GuildBossTickTime boss_fight = 6; //boss战斗数据
  1125. string guild_name = 7; //公会名字
  1126. uint64 elite_boss_cd = 8; //精英bossCD
  1127. GuildBattle guild_battle = 9; //公会战个人数据
  1128. DemonInfo demon_info = 10; //公会魔王
  1129. }
  1130. message GuildIdex {
  1131. uint64 guild_id = 1; //公会ID
  1132. }
  1133. message RushRoundData {
  1134. int32 rush_id = 1; //冲榜序号
  1135. uint64 start_time = 2; //冲榜开始
  1136. uint64 close_time = 3; //冲榜结束
  1137. uint64 reset_time = 4; //冲榜重置
  1138. }
  1139. message RushData {
  1140. int32 rush_id = 1; //冲榜序号
  1141. int32 rush_stage = 2; //冲榜阶段
  1142. repeated uint64 reward_list = 3; //已领取奖励列表
  1143. repeated RushRoundData round_data = 4; //轮次信息
  1144. }
  1145. message GuildFightLog {
  1146. uint64 uid = 1; //uid
  1147. uint64 fight_time = 2; //战斗时间
  1148. uint32 damage = 3; //伤害值
  1149. }
  1150. message GuildFight {
  1151. uint64 uid = 1; //uid
  1152. uint32 damage = 2; //伤害值
  1153. }
  1154. message GuildBossInfo {
  1155. GuildFight max_dam = 1; //最大伤害
  1156. repeated GuildFightLog fight_log = 2; //战斗日志
  1157. uint64 refresh_time = 3; //召唤时间
  1158. int32 boss_state = 4; //boss状态
  1159. }
  1160. message GuildBoss {
  1161. uint64 guild_id = 1; //当前公会ID
  1162. repeated GuildBossInfo day_boss = 2; //boss
  1163. }
  1164. message RoleApplayData {
  1165. repeated uint64 apply_guild = 1; //个人申请列表
  1166. }
  1167. message GuildApplayData {
  1168. repeated uint64 apply_guild = 1; //公会的申请列表
  1169. }
  1170. //公会战个人数据
  1171. message GuildBattleSelfData {
  1172. uint64 uid = 1;
  1173. uint64 guild_id = 2;
  1174. int32 challenge_num = 3; //剩余挑战次数
  1175. repeated KeyValueType buff_list = 4; //战斗个人buff列表[id,level]
  1176. uint64 reborn_end_time = 5; //复活结束时间
  1177. bool auto_challenge = 6; //是否设置自动购买挑战次数
  1178. bool auto_reborn = 7; //是否设置自动清除复活CD时间
  1179. int32 win_num = 8; //连杀次数
  1180. int32 win_strak = 9; //连续击杀次数
  1181. bool guild_pre = 10; //是否会长
  1182. }
  1183. //公会战位置数据
  1184. message GuildPosIdxData {
  1185. int32 pos_idx = 1;
  1186. uint64 guild_id = 2; //0表示无公会玩家占领(默认状态)
  1187. uint64 uid = 3; //占领该位置玩家(玩家不在该位置但是也也能属于该玩家)
  1188. CommonPlayerBriefInfo owner_brief = 4; //玩家占位时不为空
  1189. uint64 fight_end_time = 5;
  1190. uint64 fight_start_time = 6;
  1191. uint64 challenge_uid = 7; //挑战该占位的玩家
  1192. uint64 fight_ping_time = 8; //保持战斗状态时间 动态存在
  1193. }
  1194. //占领日志
  1195. message GuildBattleLog {
  1196. int32 type = 1; //
  1197. uint64 record_time = 2; //记录时间
  1198. bool state = 3; //true成功
  1199. int32 pos_idx = 4; //占位idx
  1200. string target_player_name = 5;
  1201. uint64 target_guild_id = 6;
  1202. uint64 target_player_uid = 7;
  1203. string challenge_player_name = 8;
  1204. uint64 challenge_guild_id = 9;
  1205. uint64 challenge_player_uid = 10;
  1206. int32 win_steak = 11;
  1207. }
  1208. message GuildBattleBaseData {
  1209. uint64 battle_start_time = 1;
  1210. uint64 battle_end_time = 2;
  1211. repeated KeyValueType64 score_list = 3; //(Key:公会ID, value:积分,value2:道场数量,value3:公会徽章, str_val:公会名次)
  1212. repeated uint64 score_mvp = 4; //积分MVP领奖 //目前1个人,repeated做预留
  1213. repeated uint64 killer_mvp = 5; //击杀MVP领奖 //目前1个人,repeated做预留
  1214. }
  1215. //公会战基础信息
  1216. message GuildBattleBase {
  1217. int32 guild_battle_id = 1; //公会战ID
  1218. uint64 cur_guild_start = 2; //当前公会战开启时间
  1219. int32 guild_battle_state = 3; //当前公会战状态
  1220. uint64 next_stage_begin = 4; //下个公会战状态开始时间
  1221. uint64 next_battle_begin = 5; //下轮公会战开始时间
  1222. uint64 tournament_prepare = 6; //四强赛准备
  1223. uint64 tournament_begin = 7; //四强赛开始
  1224. uint64 tournament_end = 8; //四强赛结束
  1225. uint64 semifinals_prepare = 9; //半决赛准备
  1226. uint64 semifinals_begin = 10; //半决赛开始
  1227. uint64 semifinals_end = 11; //半决赛结束
  1228. uint64 finals_prepare = 12; //决赛准备
  1229. uint64 finals_begin = 13; //决赛开始
  1230. uint64 finals_end = 14; //决赛结束
  1231. uint64 show_end = 15; //展示结束
  1232. int32 is_open = 16; //开关
  1233. int32 reward_state = 17; //奖励阶段
  1234. int32 ban_type = 18; //暂停类型//0:取消封停 1:封停
  1235. }
  1236. message CountTableData {
  1237. int32 battle_index = 1; //索引
  1238. uint64 guild1_id = 2;
  1239. string guild1_name = 3;
  1240. int32 guild1_badge = 4;
  1241. uint64 guild2_id = 5;
  1242. string guild2_name = 6;
  1243. int32 guild2_badge = 7;
  1244. bool win_guild = 8; //true guild1胜,false guild2负
  1245. int32 win_type = 9; //胜利类型
  1246. int32 state = 10; //状态(1:未开始,2:进行中,3:已结束)
  1247. }
  1248. //公会战对阵表
  1249. message GuildCountPartTable {
  1250. repeated CountTableData data = 1; //对阵表数据
  1251. }
  1252. //MVP界面数据
  1253. message GuildBattleDetail {
  1254. uint64 guild_id = 1;
  1255. int32 slot_count = 2; //坑位数量
  1256. int32 score = 3; //积分
  1257. }
  1258. //MVP
  1259. message GuildBattleMvp{
  1260. uint64 uid = 1; //玩家ID
  1261. string name = 2; //玩家名字
  1262. uint64 guild_id = 3; //所属公会
  1263. int32 score = 4; //(类型1:积分,类型2:击杀人数)
  1264. }
  1265. message GuildBattleRank {
  1266. int32 score = 1; //分数
  1267. int32 rank = 2; //排名
  1268. uint64 guild_id = 3; //公会ID
  1269. CommonPlayerBriefInfo info = 4; //玩家简介信息
  1270. }
  1271. //公会贡献点cp
  1272. message GuildBattleCP {
  1273. GuildBrief brief = 1; //公会简介
  1274. int32 mem_count = 2; //成员数量
  1275. uint32 cp_num = 3; //贡献点
  1276. int32 rank = 4; //贡献点排名
  1277. }
  1278. //公会存库======结束
  1279. message GMNoticeInfo {
  1280. string notice_color = 1;
  1281. uint32 notice_speed = 2;
  1282. uint32 notice_count = 3;
  1283. uint32 notice_interval = 4;
  1284. }
  1285. message ReconnectUserData {
  1286. uint32 map_id = 1;
  1287. uint32 map_level = 2;
  1288. }
  1289. message EquipSlotCards {
  1290. int32 slot_id = 1;
  1291. repeated KeyValueType card_slot_info = 2; //[key:卡槽ID,value:卡片ID]
  1292. }
  1293. message BattleRecordInfo {
  1294. uint64 uid = 1; //玩家uid
  1295. uint64 battle_record_id = 2; //战斗唯一ID
  1296. string nick_name = 3; //玩家nickname
  1297. int32 img_id = 4; //头像ID
  1298. int32 gender = 5; //性別
  1299. int32 level = 6; //等级
  1300. int32 config_id = 7; //职业ID
  1301. int32 fight_power = 8; //战斗力当前战斗力
  1302. uint64 record_time = 9; //战斗时间错
  1303. uint32 battle_time = 10; //通关用时
  1304. int32 map_level_id = 12; //当前地图关卡
  1305. int32 record_idx = 13;
  1306. int32 head_frame_id = 14; //头像框ID
  1307. int32 battle_version = 15; //战斗记录版本号(高版本覆盖低版本)
  1308. }
  1309. ////////////////////////宠物
  1310. //设置援助信息(玩家自身设置的援助信息存储)
  1311. message AssistSaveData {
  1312. uint32 pet_id = 1;
  1313. int32 pet_cfg_id = 2;
  1314. uint32 adv_level = 3;
  1315. }
  1316. //羁绊数据结构
  1317. message AssistData {
  1318. uint64 owner_uid = 1; //玩家uid
  1319. string owner_nick_name = 2; //玩家昵称
  1320. repeated PetData pet_info_list = 3;
  1321. }
  1322. message PetBondPosData{
  1323. uint64 owner_uid = 2; //0表示自己对应的宠物,不为0表示其他玩家援助的宠物
  1324. uint32 pet_id = 3;
  1325. uint32 advance_level = 4; //不做存储发送时使用
  1326. int32 pet_cfg_id = 5; //宠物配置ID
  1327. }
  1328. message PetBondData {
  1329. int32 bond_cfg_id = 1; //羁绊列表索引ID
  1330. repeated PetBondPosData bond_list = 2; //设置的羁绊宠物列表
  1331. int32 pet_bond_level = 3; //羁绊激活等级
  1332. }
  1333. //宠物技能
  1334. message PetSkillData {
  1335. int32 config_id = 1;
  1336. int32 level = 2;
  1337. int32 rate = 3;
  1338. }
  1339. message PetData {
  1340. uint32 id = 1; //唯一ID
  1341. int32 config_id = 2; //配置文件ID
  1342. int32 level = 3; //等级
  1343. uint32 advance_level = 4; //进阶等级
  1344. repeated PetSkillData skill_list = 5; //技能列表(0位置表示默认技能)
  1345. int32 hero_id = 6; //出阵英雄id,0表示没有出阵
  1346. int32 param = 7; //服务器端使用
  1347. repeated PetSlotDetailData slot_equip_list = 8; //6个坑位信息(印记(装备),宝石)
  1348. int32 qiyue_hero_id = 9; //归属的契约英雄(放入的哪个英雄的契约槽位)
  1349. //有可能没有(老号)
  1350. repeated KeyValueType battle_attr_list_old = 50; //面板属性数值
  1351. uint32 pet_fight_power = 51; //宠物战斗力
  1352. repeated KeyValueFloat32 battle_attr_list = 52; //面板属性数值
  1353. }
  1354. message AssistIdxData {
  1355. uint32 pet_id = 1;
  1356. uint64 end_cd_time = 2;
  1357. }
  1358. message PetManualST {
  1359. int32 pet_cfg_id = 1;
  1360. uint32 adv_level = 2;
  1361. int32 reward_state = 3;
  1362. }
  1363. message RushPet {
  1364. uint32 total_score = 1; //总积分
  1365. int32 rush_round = 2; //冲榜轮次
  1366. int32 reward_round = 3; //保底奖励轮次
  1367. int32 score_reward_flag = 4; //保底奖励标志
  1368. int32 rank_reward = 5; //上次领取的奖励轮次
  1369. }
  1370. message RolePet {
  1371. int32 max_pet_id = 1;
  1372. repeated KeyValueType pet_manual_list = 2; //宠物图鉴(图鉴奖励状态) 废弃不使用
  1373. repeated AssistIdxData assist_list = 3; //援助宠物
  1374. repeated PetData pet_list = 4; //宠物列表
  1375. repeated PetBondData bond_list = 5; //羁绊(只填充固定字段数据)
  1376. repeated PetManualST pet_manual_reward_list = 6; //宠物图鉴(图鉴奖励状态) [0]表示当前进阶等级 [1]表示获奖状态
  1377. RushPet rush_pet = 7; //宠物冲榜
  1378. repeated PetEquipData pet_equip_list = 8; //宠物印记列表
  1379. }
  1380. message PetAdvAchievementData {
  1381. int32 adv_level = 1;
  1382. uint64 achievement_time = 2;
  1383. uint64 uid = 3;
  1384. }
  1385. message CardCollection {
  1386. uint64 uid = 1; //Uid
  1387. int32 card_level = 2; //卡片等级
  1388. int64 log_time = 3; //记录时间
  1389. }
  1390. ////////////////////////拉新(邀请码)
  1391. message InvitationTaskData {
  1392. uint32 task_id = 1;
  1393. int32 progress = 2; //任务进度
  1394. int32 rewarded_count = 3; //已经获取任务奖励次数
  1395. int32 reward_count = 4; //当前完成任务的次数
  1396. int32 complete_max_count = 5; //最大可完成次数
  1397. }
  1398. //成员贡献给导师的日志
  1399. message InvitationLogData {
  1400. string member_nick_name = 1; //成员昵称
  1401. uint64 process_time = 2;
  1402. uint32 res_val = 3; //资源数量
  1403. }
  1404. message InvitationMemberValData {
  1405. uint64 uid = 1;
  1406. int32 level = 2;
  1407. float total_recharge = 3;
  1408. int32 res_val = 4; //初心值
  1409. bool state = 5; //是否已经被导师删除(true表示已经被删除)
  1410. }
  1411. message RoleInvitation {
  1412. int32 click_num = 1; //拍一拍剩余次数
  1413. uint64 self_invitation_number = 2; //自己的邀请码
  1414. uint64 master_uid = 3; //导师uid
  1415. uint64 master_end_time = 4; //要写邀请码成功学员的CD时间
  1416. repeated uint64 click_member_list = 5; //当前已经拍一拍的成员列表
  1417. repeated InvitationTaskData task_list = 6; //任务列表
  1418. repeated InvitationMemberValData member_uid_list = 7;
  1419. repeated InvitationLogData log_list = 8; //贡献日志(保存最近50条)
  1420. repeated uint64 click_replay_master_list = 9; //拍一拍回应操作
  1421. }
  1422. ////////////////////////抽卡
  1423. message DrawData {
  1424. int32 draw_type = 1; //抽取类型://1:宠物抽卡, 2:卡片抽卡,
  1425. int32 draw_times = 2; //抽取次数
  1426. }
  1427. message RoleDraw {
  1428. repeated DrawData draw_system = 1; //抽取功能
  1429. //历史抽卡次数
  1430. int32 card_draw_total_num = 2;
  1431. int32 pet_draw_total_num = 3;
  1432. int32 skill_equip_draw_total_num = 4;
  1433. }
  1434. //卢恩商品
  1435. message RuneGoods{
  1436. int32 goods_id = 1; //商店ID
  1437. int32 buy_num = 2; //购买数量
  1438. int32 history_buy = 3; //历史购买数量
  1439. int64 end_time = 4; //结束时间//月卡结束时间
  1440. int64 next_reward_time = 5; //下一次领奖时
  1441. }
  1442. //卢恩商店
  1443. message RuneShop {
  1444. int32 shop_id = 1; //商店ID(例如:Rune_Shop_Type_MonthCard)
  1445. int32 sub_shop_id = 2; //商店子类型(例如:Rune_BagShop_Type_Day)
  1446. repeated RuneGoods goods_info = 3; //商品信息
  1447. int64 next_refresh = 4; //下次刷新时间(日,周,月)
  1448. }
  1449. message RuneExplore {
  1450. int32 curLvl = 1; // 等级
  1451. int32 totalExp = 2; // 总经验
  1452. int32 missionExp = 3; // 活跃度经验
  1453. bool bUnlock = 4; // 解锁
  1454. bool fullMaxAward = 5; // 满级领奖
  1455. repeated KeyValueType state = 6; // 奖励状态
  1456. int32 alreadyRune = 7; // 已经结算奖励的关卡
  1457. }
  1458. message RuneBaseData {
  1459. int32 reset_version = 1; //礼包商店,金币页签的重置标记
  1460. bool month_card_modify = 2; //月卡结束时间修正
  1461. int32 used_credit_recharge = 3; // 充值钱包的每日已经使用额度
  1462. int32 max_credit_recharge = 4; // 充值钱包的每日上限额度(例如默认是500)
  1463. bool credit_recharge_limit = 5; // 充值钱包额度无上限(true 表示无上限)
  1464. RuneSpecialPrivilegeData privilege_data = 6; // 特权卡商店
  1465. bool is_pass_check = 7; // RO通行证(true购买,false未购买)
  1466. }
  1467. // 特权卡商店
  1468. message RuneSpecialPrivilegeData {
  1469. int32 special_id = 1; // 特权卡配置ID
  1470. uint64 reward_time = 2; // 当前已经领取的时间戳(0表示可领取,非0表示已经领取)
  1471. uint64 process_time = 3;
  1472. }
  1473. // 卢恩商会
  1474. message RoleRune {
  1475. repeated RuneShop shop_list = 1; //商店列表
  1476. RuneExplore rune_explore = 2;
  1477. RuneBaseData rune_base = 3; //卢恩商店基础数据
  1478. }
  1479. message RushRankTop3{
  1480. string name = 1; //名字
  1481. int32 data = 2; //爬塔:层数,英灵殿:积分, 推图:推图积分
  1482. int32 rank = 3; //排名
  1483. }
  1484. message RushActivityData {
  1485. int32 rush_type = 1; //冲榜类型
  1486. bool in_rush = 2; //是否在冲榜活动
  1487. uint64 next_rush = 3; //下次冲榜开始时间
  1488. int32 stage = 4; //当前冲榜阶段 1:冲榜阶段,2:领奖阶段
  1489. uint64 stage_end = 5; //当前阶段结束时间
  1490. int32 rush_count = 6; //活动次数
  1491. }
  1492. ////////////////////////百人道场
  1493. //type
  1494. //=1占领空白领地
  1495. //=2自身击败机器人守卫占领领地的信息
  1496. //=3自身试图占领他人领地的战斗信息
  1497. //=4他人试图占领我方领地的战斗信息
  1498. //=5自身占领领地达到x小时时显示为
  1499. message DaoChang100Log {
  1500. int32 type = 1; //
  1501. uint64 record_time = 2; //记录时间
  1502. bool state = 3; //true成功
  1503. int32 pos_idx = 4; //占位idx
  1504. string target_player_name = 5;
  1505. string target_guild_name = 6;
  1506. uint64 target_player_uid = 7;
  1507. uint32 reward_time = 8; //占位时间
  1508. }
  1509. //占位奖励处理(玩家对应数据)
  1510. message DaoChang100PosRewardData {
  1511. int32 pos_idx = 1; //位置
  1512. uint64 reward_start_time = 2; //奖励开始时间
  1513. uint64 reward_end_time = 3; //奖励结束时间(主动切换 被动切换时修改该时间)
  1514. }
  1515. //占位信息
  1516. message DaoChang100PosIdxData {
  1517. int32 pos_idx = 1;
  1518. uint64 owner_start_time = 2; //占位开始时间
  1519. uint64 owner_end_time = 3; //占位结束时间
  1520. uint64 owner_protect_end_time = 4; //占位保护结束时间
  1521. CommonPlayerBriefInfo owner_brief = 5; //占位玩家
  1522. int32 owner_robot_id = 6; //机器人则该id不为0
  1523. uint64 fight_end_time = 7; //占位状态 (战斗结束时间)
  1524. uint64 guild_id = 8; //公会ID
  1525. string guild_name = 9; //公会名称
  1526. uint64 refresh_time = 10; //服务器使用
  1527. }
  1528. message WheelRewardItemInfo {
  1529. int32 item_idx = 1; //奖励位置
  1530. int32 item_id = 2;
  1531. int32 item_num = 3;
  1532. int32 reward_type = 4; //1nomal 2mini 3mvp(大奖)
  1533. bool has_reward = 5; //是否已经被获取奖励
  1534. }
  1535. message WheelLogData {
  1536. uint64 log_time = 1;
  1537. string nick_name = 2;
  1538. uint64 uid = 3;
  1539. repeated KeyValueType item_list = 4;
  1540. }
  1541. message RoleDaoChang100 {
  1542. int32 challenge_count = 1; //剩余挑战次数
  1543. int32 challenge_buy_count = 2; //购买剩余挑战次数
  1544. int32 buy_count = 3; //当前购买累计次数
  1545. uint64 base_reward_time = 4; //基础收益开始时间(功能解锁后该字段开始生效),客户端宝箱个数显示使用该时间4; //基础收益开始时间(功能解锁后该字段开始生效),客户端宝箱个数显示使用该时间
  1546. bool log_state = 5; //领地记录变化
  1547. uint64 last_attack_uid = 6; //最后一个攻击自己的其他玩家uid
  1548. string tips_desc = 7; //口号设置
  1549. //道场转盘
  1550. repeated WheelRewardItemInfo wheel_reward_item_list = 10; //奖励物品
  1551. bool wheel_open = 11; //是否开启本轮,false表示关闭
  1552. int32 wheel_refresh_num = 12; //每轮的第几次刷新
  1553. int32 template_idx = 13; //模板id
  1554. int32 wheel_num = 14; //抽取次数
  1555. int32 wheel_idx = 15; //最后一次抽奖停留的位置(全部获取奖励该数值为0)
  1556. }
  1557. message RoleCheatChat {
  1558. repeated uint64 target_id = 1;
  1559. uint64 chat_msg_crc32 = 2;//聊天hashcode
  1560. }
  1561. message RoleStatistic {
  1562. repeated KeyValueType cheat_data = 1;//作弊类型基数
  1563. }
  1564. message KeepSake {
  1565. int32 keep_sake_id = 1; //信物ID
  1566. int32 keep_sake_level = 2; //信物LEVEL
  1567. }
  1568. message RoleKeepSake {
  1569. repeated KeepSake keep_sake = 1; //信物数据
  1570. repeated KeyValueType material = 2; //材料
  1571. }
  1572. message KeepSakeCollection {
  1573. uint64 uid = 1; //Uid
  1574. int64 log_time = 3; //记录时间
  1575. }
  1576. //宠物冲榜信息
  1577. message RushInfo {
  1578. int32 pet_config_id = 1; //宠物configid
  1579. int32 pet_score = 2; //宠物积分
  1580. int32 pet_level = 3; //宠物等级
  1581. int32 total_skill_level = 4; //总技能等级
  1582. int32 quality_score = 5; //品质分数
  1583. int32 level_score = 6; //等级积分
  1584. int32 skill_score = 7; //技能分数
  1585. }
  1586. message RushPetInfo {
  1587. repeated RushInfo info = 1; //宠物数据
  1588. }
  1589. message RushPetData {
  1590. int32 rank = 1; //排名档次
  1591. int32 total_score = 2; //总积分
  1592. string name = 3; //名字
  1593. RushPetInfo pet_info = 4; //宠物数据
  1594. }
  1595. ////////////////////////跨服数据
  1596. message RoleCross {
  1597. RoleYuanHangTrial yuanhangtrial = 1; //远航试炼
  1598. RoleCrossTopTower crosstoptower = 2; //巅峰爬塔
  1599. }
  1600. ////远航试炼
  1601. message RoleYuanHangTrial {
  1602. int32 challenge_num = 1; //当前玩家发起挑战其他玩家的胜利次数(前几次是奖励次数)
  1603. int32 trial_num = 2; //当前已经发起远航试炼次数
  1604. int32 refresh_trial_type = 3; //当前刷新的远航试炼品质
  1605. YuanHangTrialData trial_data = 4; //远航试炼数据(当前或者上一次)
  1606. repeated YuanHangTrialLogData log_list = 5; //挑战被挑战日志记录
  1607. int32 trial_score = 6;
  1608. }
  1609. message YuanHangTrialData {
  1610. uint64 uid = 1;
  1611. int32 zone = 2;
  1612. int32 trial_type = 3; //远航试炼类型(1,2,3,4,5...)
  1613. uint64 end_time_stamp = 4; //本次远航试炼结束时间
  1614. bool reward_state = 5; //是否已经领取过奖励
  1615. uint64 dirty_stamp = 6; //变更时的时间
  1616. int32 be_challenge_num = 7; //被挑战次数
  1617. repeated uint64 be_challenge_uid_list = 8; //挑战该飞艇成功的玩家uid(每个玩家只能成功打劫一次)
  1618. int32 from_real_zone = 9; //來自对应的真实区服
  1619. int32 duration_time = 10; //持续时间(s)
  1620. int32 line_num = 11; //所在赛道
  1621. }
  1622. //type
  1623. //1 你被xxx挑战,失去xxx奖励
  1624. //2 你对xx发起了抢夺,获得了xxx奖励
  1625. //3 你对xx发起了抢夺,但是自己无法获取到奖励
  1626. message YuanHangTrialLogData {
  1627. int32 type = 1;
  1628. uint64 record_time = 2;
  1629. bool state = 3; //true成功
  1630. string target_player_name = 4;
  1631. uint64 target_player_uid = 5;
  1632. int32 target_player_zone = 6;
  1633. int32 trial_type = 7; //当前被攻击的船品质类型
  1634. repeated KeyValueType item_list = 8; //获取/失去的奖励列表
  1635. }
  1636. message CommonRankInfo {
  1637. int32 rank = 1;
  1638. CommonPlayerBriefInfo brief_info = 2;
  1639. int32 score = 3; //当前积分
  1640. }
  1641. //巅峰爬塔
  1642. message RoleCrossTopTower {
  1643. uint64 valid_end_time = 1; //该数据过期结束时间,用来判断是否可以挑战
  1644. repeated TopTowerFightRoleInfo fight_list = 2; //
  1645. }
  1646. message TopTowerFightRoleInfo {
  1647. int32 idx = 1; //[1-10]
  1648. FightRoleInfo fight_info = 2;
  1649. bool reward_state = 3; //是否获胜领取了奖励
  1650. }
  1651. //AOI服务器线路状态
  1652. message ServerStateInfo {
  1653. int32 id = 1; //服务器ID(一个id对应1-10个线,暂定)
  1654. string sid = 2;
  1655. repeated StateDetailDesc state_list = 3;
  1656. int32 max_line_num = 4; //每台服务器最大aoi线路数
  1657. int32 max_space_entity_num = 5; //每条线路最大的玩家数量
  1658. }
  1659. message StateDetailDesc {
  1660. int32 line = 2; //线路编号(1线,2线)
  1661. int32 cur_num = 3; //当前线路在线人数
  1662. }
  1663. ////////////////////////
  1664. message RoleRush {
  1665. RushSkill rush_skill = 1; //技能冲榜
  1666. }
  1667. message RushSkill {
  1668. uint32 total_score = 1; //总积分
  1669. int32 rush_round = 2; //冲榜轮次
  1670. int32 reward_round = 3; //保底奖励轮次
  1671. int32 score_reward_flag = 4; //保底奖励标志
  1672. int32 rank_reward = 5; //上次领取的奖励轮次
  1673. }
  1674. message HeadData{
  1675. int32 head_id = 1; // 称号id
  1676. int32 state = 2; // 当前称号状态 未达成 未激活 佩戴 卸下
  1677. int64 end_time = 3;
  1678. TaskData task_data = 4;
  1679. }
  1680. message RoleHead {
  1681. repeated HeadData heads = 1; //称号任务数据
  1682. }
  1683. message RoleWish {
  1684. repeated WishSlot slots = 1; //称号任务数据
  1685. }
  1686. // 许愿槽位信息
  1687. message WishSlot {
  1688. serverproto.KeyValueType item = 1; // 许愿物品
  1689. int32 src_item =2; // 原物品Id
  1690. int64 end_time = 3;
  1691. bool isOpen = 4;
  1692. bool isLucky = 5; // 是否暴击
  1693. }
  1694. ////////////////////////
  1695. // bt服务器功能结构
  1696. message RoleBT {
  1697. BTBoliData boli_data = 1;
  1698. BTBaseData base_data = 2;
  1699. }
  1700. // bt波利商城
  1701. message BTBoliData {
  1702. int32 level = 1;
  1703. repeated KeyValueType day_reward_list = 2; // 当前选择的特权礼包
  1704. repeated BuyInfo buy_info_list = 3; // 购买商品信息
  1705. uint64 reward_time = 4; // 领取奖励时间(领取就设置)
  1706. uint64 show_time_stamp = 5; // 该系统显示时间戳
  1707. }
  1708. //bt基础数据
  1709. message BTBaseData {
  1710. //bt超值首充
  1711. uint64 first_recharge_time = 1; //解锁后该字段>0,非解锁<=0
  1712. uint32 first_recharge_reward_state = 2; //首充礼包档位奖励获取状态(位处理)
  1713. //bt百元大礼包
  1714. uint64 recharge100_time = 3; //充值解锁百元大礼包的时间戳
  1715. int32 recharge100_reward_day = 4; //可领取哪几天的奖励(1表示可领取第一天奖励,2表示可领取前两天奖励)
  1716. int32 recharge100_reward_state = 5; //已经领取到那一天的奖励(1表示第一天已经领取,2表示领取了1-2天的奖励)
  1717. }
  1718. message Role {
  1719. uint64 id = 1; //玩家id
  1720. RoleBase role_base = 2; //玩家基础信息
  1721. RoleHero role_hero = 3; //玩家伙伴信息
  1722. RoleBag role_bag = 4; //背包
  1723. RoleEquip role_equip = 5; //装备
  1724. RoleChip role_chip = 6; //英雄碎片
  1725. RoleMap role_map = 7; //地图相关信息
  1726. RoleCard role_card = 9; //卡片系统
  1727. RoleFashion role_fashion = 10; //时装
  1728. RoleBattle role_battle = 11; //战斗相关数据
  1729. RoleTask role_task = 12; //任务系统
  1730. RoleChat role_chat = 13; //聊天处理
  1731. RoleRed role_red = 14; //玩家小红点数据
  1732. RoleMail role_mail = 15; //邮件
  1733. RoleCompetition role_competition = 16; //赛季玩法
  1734. RoleShop role_shop = 17; //商店
  1735. RoleActivity role_activity = 18; //活动
  1736. RoleTower role_tower = 19; //爬塔
  1737. RoleGuild role_guild = 20; //公会信息
  1738. RoleDraw role_draw = 21; //抽取系统
  1739. RoleRune role_rune = 22; //卢恩商店
  1740. RoleDaoChang100 role_daochang100 = 23; //百人道场
  1741. RoleStatistic role_statistic = 24; //统计数据
  1742. RoleKeepSake role_keep_sake = 25; //信物
  1743. RoleCross role_cross = 26; //跨服数据(远航试炼)
  1744. RoleRush role_rush = 27;
  1745. RoleSkillEquip role_skill_equip = 28; //神器
  1746. RoleHead role_head = 29; // 称号数据
  1747. RoleWish role_wish = 30; // 许愿宝箱
  1748. RoleBT role_bt = 31; // bt服务
  1749. }