user.proto 84 KB

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