user.proto 85 KB

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