Proto.lua 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. local Attr = require("role.Proto").Attr
  2. local BuyItem = require("topup.Proto").BuyItem
  3. -- 碎片
  4. SuiPian = {
  5. {"star", 1, "byte"}, -- 星级
  6. {"camp", 1, "byte"}, -- 阵营
  7. {"fullcnt", 1, "short"}, -- 碎片满的数量
  8. {"grade", 1, "byte"}, -- 评分
  9. {"get", 1, "byte"}, -- 条件
  10. }
  11. -- 套装信息
  12. SuitNet = {
  13. {"id", 1, "int"}, -- 套装号
  14. {"name", 1, "string"}, -- 套装名
  15. {"num", 1, "short"}, -- 第几件套
  16. {"attr", 4, Attr}, -- 套装性能
  17. {"gemAttr", 4, Attr}, -- 宝石套装加成
  18. }
  19. EQUIP_WASH_ATTR_DATA = {
  20. {"attr", 1, Attr}, --属性
  21. {"color", 1, "byte"}, --品质, 1~5 绿, 蓝, 紫, 橙, 红
  22. {"lock", 1, "byte"}, -- 是否锁定,0-未锁定,1锁定
  23. }
  24. EQUIP_EFFCECT_DATA = {
  25. {"attr", 1, Attr}, --属性
  26. {"name", 1, "string"}, -- 特效名字
  27. {"color", 1, "byte"}, --品质, 1~5 绿, 蓝, 紫, 橙, 红
  28. }
  29. EQUIP_EXCLUSIVE_DATA = {
  30. {"attr", 1, Attr}, --属性
  31. {"name", 1, "string"}, -- 专属英雄名字
  32. }
  33. Equip = {
  34. {"uuid", 1, "string"}, -- 唯一标识
  35. {"putUuid", 1, "string"}, -- 穿戴者uuid
  36. {"index", 1, "short"}, -- 位置索引
  37. {"level", 1, "byte"}, -- 等级:星级
  38. {"exp", 1, "int"}, -- 神器的经验值
  39. {"star", 1, "byte"}, -- 穿戴星级
  40. {"baseAttr", 4, Attr}, -- 基础性能
  41. {"tzAttr", 5, EQUIP_WASH_ATTR_DATA}, -- 拓展属性
  42. {"suit", 2, SuitNet}, -- 套装信息
  43. {"job", 1, "byte"}, -- 职业专属
  44. {"jobAttr", 10, Attr}, -- 职业专属属性
  45. {"camp", 1, "byte"}, -- 阵营专属
  46. {"campAttr", 2, Attr}, -- 阵营专属属性
  47. {"args", 2, "int"}, -- 额外参数 如果是水晶的话,第一个位表示是否满级
  48. {"gemBaseAttr", 4, Attr}, -- 宝石基础加成
  49. {"effects", 3, EQUIP_EFFCECT_DATA},-- 特效(戒指、护符专属)
  50. {"heroExclusive", 1, "string"}, -- 英雄专属(戒指、护符专属)
  51. {"suitID", 1, "int"}, -- 套装编号
  52. -- {"baseAttrMin", 4, Attr}, -- 基础性能最小值
  53. -- {"baseAttrMax", 4, Attr}, -- 基础性能最大值
  54. }
  55. FuwenSkillInfo = {
  56. {"skillID", 1, "int"}, -- 符文技能id
  57. {"skillIcon", 1, "int"}, -- 符文技能icon
  58. {"skillName", 1, "string"}, -- 符文技能名字
  59. {"skillDesc", 1, "string"}, -- 符文技能描述
  60. {"isRare", 1, "int"}, -- 符文技能是否珍惜
  61. {"lv", 1, "byte"}, -- 符文技能等级 1 初 2 中 3 高
  62. {"isOnlyBinshu",1, "byte"}, -- 兵书专属
  63. {"isLock", 1, "byte"}, -- 是否锁定, 0-没有, 1- 锁定
  64. }
  65. FuwenAttrInfo = {
  66. {"attrArray", 1, Attr},
  67. {"isLock", 1, "byte"}, -- 是否锁定, 0-没有, 1- 锁定
  68. }
  69. -- 符文
  70. FuWen = {
  71. {"id", 1, "int"}, --id
  72. {"index", 1, "int"}, -- 背包中索引
  73. {"fenjieGet", 1, "int"}, -- 分解可获得的符文精华
  74. {"refine", 1, "int"}, -- 精炼次数
  75. {"attrs", 3, FuwenAttrInfo}, -- 符文属性
  76. {"skills", 2, FuwenSkillInfo}, -- 符文技能
  77. {"zhandouli", 1, "double"}, -- 符文战力
  78. }
  79. -- 发送数据包
  80. ItemData = {
  81. {"id", 1, "int"}, --id
  82. {"cnt", 1, "double"}, --数量
  83. {"mainType", 1, "byte"}, --主类型 1英雄2道具3装备4-秘宝5-秘宝碎片
  84. {"subType", 1, "byte"}, --子类型
  85. {"order", 1, "int"}, --排序id
  86. {"icon", 1, "int"}, --图标
  87. {"name", 1, "string"}, --名字
  88. {"rare", 1, "byte"}, --品质
  89. {"desc1", 1, "string"}, --描述1:类别
  90. {"desc2", 1, "string"}, --描述2:作用
  91. {"panelID", 1, "short"}, --面板ID
  92. {"getway", 5, "short"}, --获得途径
  93. {"priceIcon", 1, "int"}, --出售道具类型icon
  94. {"price", 1, "int"}, --出售价格 不一定是金币,可能是其它道具
  95. {"opflag", 1, "short"}, --操作码
  96. {"score", 1, "int"}, --评分
  97. {"equip", 2, Equip}, --装备
  98. {"suipian", 2, SuiPian}, --碎片
  99. {"fuwen", 2, FuWen}, --符文
  100. {"isShow", 1, "byte"}, --是否在背包中显示 1 不显示
  101. {"effects", 1, "int"}, --特效id
  102. {"sourceType", 1, "short"}, --来源, 默认为0, 月光宝盒为1
  103. }
  104. -- 下发背包道具(注意这里会分包)
  105. GC_BAG_LIST = {
  106. {"list", 30, ItemData},
  107. }
  108. -- 道具背包改变
  109. GC_ITEM_BAG_CHANGE = {
  110. {"itemID", 1, "int"},
  111. {"itemCnt", 1, "double"},
  112. {"itemData", 2, ItemData}, -- 只有新增的时候长度为1 其他情况长度为0
  113. }
  114. -- 批量同步道具背包改变
  115. GC_ITEM_BAG_LIST_CHANGE = {
  116. {"bStart", 1, "byte"}, -- 1开始 0
  117. {"bEnd", 1, "byte"}, -- 1结束 0
  118. {"tList", 30, ItemData},
  119. }
  120. -- 背包道具出售
  121. CG_BAG_ITEM_SELL = {
  122. {"id", 1, "int"},
  123. {"cnt", 1, "int"},
  124. }
  125. -- 背包道具出售成功
  126. GC_BAG_ITEM_SELL = {
  127. {"id", 1, "int"},
  128. {"cnt", 1, "int"},
  129. }
  130. -- 装备道具出售
  131. CG_BAG_EQUIP_SELL = {
  132. {"bagIndex", 1, "int"},
  133. }
  134. -- 根据品质出售装备
  135. CG_BAG_EQUIP_SELL_QUALITY = {
  136. {"quality", 1, "string"},
  137. }
  138. -- 根据品质出售装备
  139. GC_BAG_EQUIP_SELL_QUALITY = {
  140. }
  141. -- 请求碎片英雄信息预览
  142. CG_SUIPIAN_HERO_QUERY = {
  143. {"id", 1, "int"},
  144. }
  145. GC_SUIPIAN_HERO_QUERY = {
  146. {"id", 1, "int"},
  147. {"heroSimple", 1, require("hero.Proto").HeroSimple},
  148. }
  149. -- 碎片合成
  150. CG_SUIPIAN_SUMMON = {
  151. {"itemID", 1, "int"},
  152. {"itemCnt", 1, "int"},
  153. }
  154. -- 碎片召唤成功
  155. GC_SUIPIAN_SUMMON = {
  156. {"isHero", 1, "byte"}, --1是英雄 0不是英雄
  157. {"heroList", 100, require("hero.Proto").HeroSimple},
  158. {"list", 100, ItemData},
  159. {"fenJieList", 50, ItemData}, -- 自动分解获得
  160. }
  161. CG_ITEM_USE = {
  162. {"id", 1, "int"},
  163. {"cnt", 1, "int"}, --选择物品数量
  164. }
  165. GC_ITEM_USE = {
  166. {"id", 1, "int"},
  167. }
  168. -- 宝箱信息返回
  169. GC_BOX_QUERY = {
  170. {"item", 50, ItemData},
  171. }
  172. -- 获取宝箱物品
  173. CG_BOX_GET_ITEM = {
  174. {"itemID", 1, "int"},
  175. {"index", 1, "int"},
  176. {"cnt", 1, "int"},
  177. }
  178. -- 道具购买查询(买1/10个)
  179. CG_ITEM_BUY_QUERY = {
  180. {"id", 1, "int"},
  181. }
  182. GC_ITEM_BUY_QUERY = {
  183. {"id", 1, "int"},
  184. {"item", 2, ItemData},
  185. {"canBuy", 2, "int"},
  186. {"need", 2, ItemData},
  187. {"needTwo", 2, ItemData}
  188. }
  189. -- 道具购买
  190. CG_ITEM_BUY = {
  191. {"id", 1, "int"},
  192. {"buyType", 1, "int"}, -- 购买1 /10个
  193. {"cnt", 1, "int"}, -- 购买x组
  194. }
  195. GC_ITEM_BUY = {
  196. {"id", 1, "int"},
  197. }
  198. -- 碎片英雄召唤预览
  199. CG_SUIPIAN_HERO_SUMMON_QUERY = {
  200. {"id", 1, "int"}, --道具id
  201. }
  202. GC_SUIPIAN_HERO_SUMMON_QUERY = {
  203. {"heroSimple", 50, require("hero.Proto").HeroSimple}
  204. }
  205. GC_SUIPIAN_ITEM_SUMMON_QUERY = {
  206. {"items", 50, ItemData},
  207. }
  208. -- 通用道具获得
  209. GC_ITEM_GET_LIST = {
  210. {"popupType", 1, "byte"}, -- 弹窗类型 0 通用弹窗 1 飘窗
  211. {"list", 50, ItemData}
  212. }
  213. -- 钻石不足弹出充值面板通用协议
  214. GC_BAG_NORMB = {}
  215. CG_ITEM_SUIPIAN_GETWAR_BY_HERO_ID = {
  216. {"id", 1, "int"},
  217. {"camp", 1, "byte"},
  218. {"star", 1, "byte"},
  219. }
  220. GC_ITEM_SUIPIAN_GETWAR_BY_HERO_ID = {
  221. {"net", 1, ItemData},
  222. }
  223. -- 根据id获取ItemData
  224. CG_ITEM_GET_BY_ID = {
  225. {"type",1,"byte"}, -- 类型 1 符文背包 2 普通背包
  226. {"index",1,"int"}, -- 背包位置
  227. {"id",1,"int"}, -- 道具ID
  228. {"uuid",1,"string"}, -- 玩家uuid
  229. }
  230. GC_ITEM_GET_BY_ID = {
  231. {"item",1,ItemData},
  232. }
  233. CG_ITEM_GET_BY_ITEM_ID = {
  234. {"id",1,"int"}, -- 道具ID
  235. }
  236. GC_ITEM_GET_BY_ITEM_ID = {
  237. {"item",1,ItemData},
  238. }
  239. -- 通用道具购买
  240. CG_ITEM_BUY_QUERY = {
  241. {"itemID",1,"int"}, -- 要购买的道具 id
  242. }
  243. GC_ITEM_BUY_QUERY = {
  244. {"need",1,ItemData}, -- 花费的道具
  245. {"get",1,ItemData}, -- 获得的道具
  246. }
  247. CG_ITEM_BUY_DO = {
  248. {"itemID",1,"int"}, -- 购买的道具id
  249. {"itemCnt",1,"int"}, -- 购买的道具数量
  250. }
  251. GC_ITEM_BUY_DO = {
  252. {"ret",1,"byte"}, -- 0 购买成功 1 购买失败
  253. }
  254. --碎片一键合成
  255. CG_SUIPIAN_SYNTHESIS = {
  256. {"type", 1, "byte"}, -- 1-英雄, 2-装备, 3-皮肤, 4-秘宝
  257. }
  258. --碎片一键合成结果通知
  259. GC_SUIPIAN_SYNTHESIS = {
  260. {"status",1,"int"}, --碎片一键合成结果通知刷新 0:合成成功 1:合成失败
  261. }
  262. Skin_Info = {
  263. {"Id", 1, "int"},
  264. {"attrs", 5, Attr},
  265. }
  266. Skin_Show_Info = {
  267. {"id", 1, "int"},
  268. {"desc", 1, "string"},
  269. {"keepTime", 1, "int"},
  270. {"name", 1, "string"},
  271. {"camp", 1, "int"},
  272. {"attrs", 5, Attr},
  273. }
  274. SkinBuyData = {
  275. {"id", 1, "int"},
  276. {"buyItem", 1, BuyItem},
  277. {"skinData", 1, Skin_Info},
  278. {"Iconframe", 1, Skin_Show_Info},
  279. }
  280. -- 发送合成道具对应的皮肤信息
  281. GC_ITEM_SKIN_INFO = {
  282. {"nItemID", 1, "int"},
  283. -- {"data", 1, "string"}
  284. {"data", 10, SkinBuyData},
  285. {"isEnd", 1, "byte"}, -- 0-否,1-是
  286. {"isStart", 1, "byte"}, -- 0-否,1-是
  287. }
  288. -- 选择对应的皮肤
  289. CG_ITEM_CHOSE_SKIN = {
  290. {"nSkinID", 1, "int"}, -- 选择的皮肤ID
  291. {"nItemID", 1, "int"}, -- 物品ID
  292. }
  293. CG_DUIHUANG_QUERY = {
  294. {"nID", 1, "int"}, -- 物品ID
  295. }
  296. GC_DUIHUANG_QUERY = {
  297. {"nUseNum", 1, "int"}, -- 消耗物品数量
  298. {"ItemData", 1, ItemData},
  299. }
  300. CG_DUIHUANG_DO = {
  301. {"nID", 1, "int"}, -- 物品ID
  302. {"nNum", 1, "int"}, -- 兑换数量
  303. }