You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

535 lines
14 KiB

  1. local message=ZPFramework.ZPFrameworkClassImprot("zp_base.luaScript.Protocol.ZPMessage")
  2. message.GameStartResponse = defClass("GameStartResponse"
  3. -- 局数
  4. , defVar("nGameStartCount", VT_Short, 0)
  5. -- 总的局数
  6. , defVar("nTotalGameNum", VT_Short, 0)
  7. -- 房主uid
  8. , defVar("nRoomOwnedUid", VT_Int, 0)
  9. -- 庄家座位id
  10. , defVar("nBankSeatId", VT_UChar, 99)
  11. -- 当4人玩时,小家座位ID,无小家此值为-1
  12. , defVar("xiaoSeatId", VT_Short, -1)
  13. --翻牌的座位id
  14. , defVar("turnSeatId", VT_Short, -1)
  15. --翻的牌
  16. , defVar("turnCard", VT_Short, 0)
  17. --leftCardNum
  18. , defVar("leftCardNum", VT_Short, 0)
  19. )
  20. message.TingCardResult = defClass("TingCardResult"
  21. --听牌张数
  22. ,defVar("tingCards",VT_Vector(VT_UChar),{})
  23. --是否可以包牌 -- 0: 不可爆牌 1: 可爆牌
  24. ,defVar("canBaoPai", VT_Short, -1)
  25. )
  26. message.CardSendListData = defClass("CardSendListData"
  27. -- 牌值类型
  28. , defVar("type", VT_UChar, 0)
  29. --数量
  30. --, defVar("cardNum", VT_Short, 0)
  31. -- 多个张牌值
  32. , defVar("card", VT_Vector(VT_UChar), {})
  33. )
  34. message.GameSendCardResponse = defClass("GameSendCardResponse"
  35. -- 用户uid
  36. , defVar("nUserId", VT_Int, 0)
  37. --, defVar("turnSeatId", VT_Short, 0)
  38. -- 牌值类型列表
  39. , defVar("cardList", VT_Vector(message.CardSendListData), {})
  40. -- 桌面剩余牌
  41. , defVar("leftCardNum", VT_Short, 0)
  42. --[[ -- 庄家uid
  43. , defVar("nUserId", VT_Int, 0)--]]
  44. )
  45. message.TouBaCardList = defClass("TouBaCardList"
  46. , defVar("cardlist", VT_Vector(VT_UChar), {})
  47. )
  48. message.UserOperateNotify = defClass("UserOperateNotify"
  49. -- 操作者ID
  50. , defVar("nUserId", VT_Int, 0)
  51. -- 是否胡牌
  52. , defVar("ishu", VT_UChar, 0)
  53. -- 偷操作个数
  54. , defVar("ToucardList", VT_Vector(message.TouBaCardList), {})
  55. -- 巴操作个数
  56. , defVar("BacardList", VT_Vector(VT_UChar), {})
  57. -- 操作
  58. , defVar("mainOpCode",VT_Int, 0)
  59. )
  60. message.GameQiShouSendOperateCodeResponse = defClass("GameQiShouSendOpCodeResponse"
  61. -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1
  62. , defVar("operateCode", VT_Short, 0)
  63. -- 具体的牌
  64. , defVar("opCard", VT_Vector(VT_UChar),{})
  65. )
  66. message.GameSendOpCodeResponse = defClass("GameSendOpCodeResponse"
  67. -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1
  68. , defVar("operateCode", VT_Short, 0)
  69. -- 具体的牌
  70. , defVar("opCard", VT_Vector(VT_UChar),{})
  71. )
  72. message.GameOpreateList = defClass("GameOpreateList"
  73. --操作牌型
  74. , defVar("opType", VT_Short, 0)
  75. --操作牌的集合
  76. , defVar("opCardList", VT_UChar, 0)
  77. --操作的牌
  78. ,defVar("opCard", VT_Vector(VT_UChar), {})
  79. )
  80. message.GameQiShouBroadCastOperate = defClass("GameQiShouBroadCastOperate"
  81. -- 操作者ID
  82. , defVar("nUserId", VT_Int, 0)
  83. -- 操作码
  84. , defVar("operateCodes", VT_Short, 0)
  85. -- 操作的牌
  86. , defVar("opCard", VT_Vector(VT_UChar), {})
  87. -- 操作列表
  88. , defVar("opreateList", VT_Vector(message.GameOpreateList), {})
  89. -- 手上剩余的牌
  90. , defVar("leftCardNum", VT_Short, 0)
  91. )
  92. --玩家进牌
  93. message.GameUserGetCard = defClass("GameUserGetCard"
  94. -- 进牌的ID
  95. , defVar("nUserId", VT_Int, 0)
  96. --进牌的seatid
  97. , defVar("nSeatid", VT_Int, 0)
  98. -- 桌上剩余的牌
  99. , defVar("tableCardNum", VT_Short, 0)
  100. --进的牌
  101. , defVar("moCard", VT_UChar, 0)
  102. --玩家的剩余手牌
  103. , defVar("leftCardNum",VT_Short, 0)
  104. --是否是后抓牌
  105. ,defVar("isHouZhuaCard", VT_UChar, 0)
  106. )
  107. --广播庄家起手出牌
  108. message.GameBankerOutCard = defClass("GameBankerOutCard"
  109. -- 出牌的ID
  110. , defVar("nUserId", VT_Int, 0)
  111. --出牌的seatid
  112. , defVar("nSeatid", VT_Int, 0)
  113. --吃后不能出的牌
  114. ,defVar("disCard", VT_Vector(VT_UChar), {})
  115. --巴后不能出的牌
  116. --,defVar("afterbadisCard", VT_Vector(VT_UChar), {})
  117. )
  118. --出牌
  119. message.OutCard = defClass("OutCard"
  120. -- 牌值
  121. , defVar("nCard", VT_UChar, -1)
  122. --包赔
  123. ,defVar("baoPei", VT_UChar, 0)
  124. )
  125. --通知包赔
  126. message.BaoPei = defClass("OutCard"
  127. -- 牌值
  128. , defVar("bCard", VT_UChar, -1)
  129. )
  130. --玩家出牌成功
  131. message.OutCardSuccess = defClass("OutCardSuccess"
  132. -- 出牌用户id
  133. , defVar("nOutCardUserId", VT_Int, -1)
  134. -- 出的牌
  135. , defVar("byOutCard", VT_UChar, -1)
  136. -- 可以的操作ma
  137. , defVar("mainOpCode", VT_Short, -1)
  138. --是否是包赔的牌 是下家一定要吃
  139. , defVar("isBaopei", VT_UChar, 0)
  140. --总共玩家数量
  141. , defVar("totalPlayerNum", VT_Short, 0)
  142. --可以吃的牌
  143. , defVar("opCardList", VT_Vector(VT_UChar), {})
  144. --可以碰的牌
  145. , defVar("CanOpPengCard", VT_Vector(message.TouBaCardList),{})
  146. --出牌后剩余牌
  147. , defVar("leftHandCardNum", VT_Short, -1)
  148. )
  149. message.weaveCardList = defClass("weaveCardList"
  150. -- 牌类型
  151. , defVar("type", VT_Short, 0)
  152. -- 操作的牌
  153. , defVar("opcard", VT_UChar, 0)
  154. -- 第一张牌 此组合牌第一张牌,如1、2、3,则值为1
  155. , defVar("card", VT_Vector(VT_UChar), {})
  156. )
  157. --发送操作码成功
  158. message.OperationCodeSuccess = defClass("OperationCodeSuccess"
  159. -- 操作者的id
  160. , defVar("nUserId", VT_Int, -1)
  161. --桌面上打出的牌 :吃的时候要用到
  162. , defVar("tableCard", VT_UChar, 0)
  163. -- 表明操作者他是否要出牌
  164. , defVar("isShouldOutCard", VT_UChar, 0)
  165. -- 操作码的个数 一般为1;吃上比下时为多个
  166. , defVar("operateCodes", VT_Short, {})
  167. --操作的牌
  168. , defVar("card", VT_Vector(VT_UChar), {})
  169. -- 组合牌信息 注意: 当本次玩家为跑起时,客户端需判断跑起牌中座位seatid是否在[0,3]范围内,若在,则需处理飞牌动画操作
  170. , defVar("weaveCardList", VT_Vector(message.weaveCardList), {})
  171. -- 剩余手牌数量
  172. , defVar("leftHandCardNum", VT_Short, -1)
  173. --是否吃来包起
  174. , defVar("isChilaiBao",VT_Short, -1)
  175. --是否是后抓的牌
  176. , defVar("isHouZhuaCard",VT_UChar, 0)
  177. )
  178. --玩家进牌后操作提示
  179. message.GameUserGetCardOperateNotify = defClass("GameUserGetCardOperateNotify"
  180. -- 操作者ID
  181. , defVar("nUserId", VT_Int, 0)
  182. -- 是否胡牌
  183. , defVar("ishu", VT_UChar, 0)
  184. -- 偷操作个数
  185. , defVar("ToucardList", VT_Vector(message.TouBaCardList), {})
  186. -- 巴操作个数
  187. , defVar("BacardList", VT_Vector(VT_UChar), {})
  188. -- 操作码
  189. , defVar("mainOpCode", VT_Int, 0)
  190. )
  191. --摸牌
  192. message.MoPai = defClass("MoPai"
  193. -- 抓牌者的id
  194. , defVar("nUserId", VT_Int, -1)
  195. -- 抓的牌
  196. , defVar("turnOverCard", VT_UChar, -1)
  197. -- 自已可以的操作
  198. , defVar("mainOpCode", VT_Short, -1)
  199. -- //0正常操作吃;1提醒过吃包赔;2必吃不过
  200. , defVar("Baopeichi", VT_UChar, 0)
  201. -- 剩余牌数
  202. , defVar("leftCardNum", VT_Short, -1)
  203. -- 吃牌的张数
  204. , defVar("chiOpCardList", VT_Vector(VT_UChar), {})
  205. -- 可以碰的牌
  206. , defVar("canPengOpCard", VT_Vector(message.TouBaCardList), {})
  207. )
  208. --一局结束后弃牌信息
  209. message.BroadcastStopRoundGiveUpCardCount = defClass("BroadcastStopRoundGiveUpCardCount"
  210. --弃牌
  211. , defVar("giveupChessOpCard", VT_UChar, 0)
  212. )
  213. --一局结束后玩家列表
  214. message.BroadcastStopRoundPlayList = defClass("BroadcastStopRoundPlayList"
  215. --玩家的id
  216. , defVar("nUserId", VT_Int, 0)
  217. --玩家本局输赢分数
  218. , defVar("nTurnScore", VT_String, 0)
  219. --玩家总的分数
  220. , defVar("nTotalMoney", VT_String, 0)
  221. --是否爆牌 0:不爆 1: 等待爆牌 2:已爆牌
  222. , defVar("nBaoPaiStatus", VT_UChar, 0)
  223. --总坨数
  224. , defVar("shuangmanStatus",VT_UChar, 0)
  225. --玩家碰,吃,哨,串,招个数
  226. , defVar("tableWeaveCard", VT_Vector(message.weaveCardList))
  227. --玩家手牌信息
  228. , defVar("handCard", VT_Vector(message.weaveCardList))
  229. --玩家弃牌信息
  230. , defVar("desertedArea", VT_Vector(message.BroadcastStopRoundGiveUpCardCount))
  231. )
  232. --一局结束后底牌信息列表
  233. message.BroadcastStopRoundDipaiList = defClass("BroadcastStopRoundDipaiList"
  234. --底牌信息
  235. , defVar("chessCards", VT_UChar, 0)
  236. )
  237. --胡牌信息
  238. message.huInfo = defClass("huInfo"
  239. --胡牌uid, -1则下面6个字段是无用
  240. , defVar("huPaiUid", VT_Int, 0)
  241. --点炮胡时,表示为点炮用户,其他情况无意义
  242. , defVar("dianPaoUid", VT_Int, 0)
  243. --包赔玩家ID
  244. ,defVar("BaoPeiUid", VT_Int, -1)
  245. --胡牌后总的胡数
  246. , defVar("huPaiHuShu", VT_UChar, 0)
  247. -- 胡的类型(如天胡、地胡 ,自摸胡等)
  248. , defVar("huTypes", VT_Short, 0)
  249. --普通4张的个数 x1
  250. , defVar("fourNormolNum", VT_UChar, 0)
  251. --普通3张的个数 x1
  252. , defVar("threeNormolNum", VT_UChar, 0)
  253. --三张红的个数x1
  254. , defVar("threeHongNum", VT_UChar, 0)
  255. --胡的牌
  256. , defVar("huCard", VT_UChar, 0)
  257. --保留字段
  258. , defVar("reserve", VT_String, "")
  259. )
  260. message.GameXiaoJuResponse = defClass("GameXiaoJuResponse"
  261. -- 一局结束的原因
  262. , defVar("stopFlag", VT_UChar, -1)
  263. --胡牌信息
  264. , defVar("hupaiInfo",VT_Vector(message.huInfo))
  265. --多少个玩家
  266. , defVar("playList", VT_VectorToMap(message.BroadcastStopRoundPlayList,"nUserId"))
  267. --底牌信息
  268. , defVar("dipaiList", VT_Vector(message.BroadcastStopRoundDipaiList))
  269. --是否大局结束,结束是1
  270. , defVar("isGameOver", VT_Short, 0)
  271. --是否进牌胡
  272. , defVar("isZiMoHu", VT_Short, 0)
  273. )
  274. message.OffLineTime = defClass("OffLineTime"
  275. -- 用户uid
  276. , defVar("nUserId", VT_Int, 0)
  277. -- 玩家扩展信息json格式
  278. , defVar("extInfo", VT_String, "")
  279. )
  280. message.TingCard = defClass("TingCard"
  281. --玩家可以出的牌
  282. , defVar("outCard",VT_Vector(VT_UChar), {})
  283. )
  284. --玩家弃牌区的牌
  285. message.DesertedAreaVector = defClass("DesertedAreaVector"
  286. --玩家弃牌区的牌
  287. ,defVar("card", VT_UChar, 0)
  288. )
  289. -- array牌桌信息
  290. message.CardTableInfo = defClass("CardTableInfo"
  291. --用户的USER ID
  292. , defVar("nUserId", VT_Int, 0)
  293. --用户的TABLE ID
  294. , defVar("nSeatId", VT_Int, 0)
  295. --用户的游戏状态标识
  296. , defVar("nPlayerFlag", VT_UChar, 0)
  297. --玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散
  298. , defVar("nDisbandStatus", VT_UChar, 255)
  299. --是否在线 0:离线 1:在线
  300. , defVar("nOnlineStatus", VT_UChar, 255)
  301. --是否爆牌 0:不爆 1: 等待爆牌 2:已爆牌
  302. , defVar("nBaoPaiStatus", VT_UChar, 255)
  303. --是否报叫 0 --未报 1--正在报叫 2--已经报叫
  304. , defVar("isCanCall", VT_UChar, 0)
  305. --是否双满
  306. , defVar("isShuangMan", VT_UChar, 0)
  307. --用户信息
  308. , defVar("userInfo", VT_String, "")
  309. --当前局分数
  310. , defVar("nTurnScore", VT_String, -1)
  311. --总分
  312. , defVar("nTotalMoney", VT_String, -1)
  313. --是否可以操作,用于闹钟 此用户是否可以操作,0:不可以 1: 可以
  314. , defVar("isCanOperate", VT_UChar, 255)
  315. --手上剩余牌
  316. , defVar("leftCardNum",VT_UChar, 0)
  317. --桌面组合牌
  318. ,defVar("tableWeaveCard",VT_Vector(message.weaveCardList),{})
  319. --玩家手牌
  320. ,defVar("handCard",VT_Vector(message.weaveCardList),{})
  321. --桌面弃牌
  322. ,defVar("desertedArea",VT_Vector(message.DesertedAreaVector),{})
  323. )
  324. --断线重连
  325. message.GameReconnection = defClass("GameReconnection"
  326. -- 用户房间号
  327. , defVar("nShowTableId", VT_Int, 0)
  328. -- 房间最大人数
  329. , defVar("nMaxPlayCount", VT_Short, 0)
  330. -- 用户房主
  331. , defVar("nRoomOwnedUid", VT_Int, 0)
  332. -- 总的局数
  333. , defVar("nTotalGameNum", VT_Short, 0)
  334. -- 当前局数
  335. , defVar("nGameStartCount", VT_Short, 0)
  336. -- 游戏信息
  337. , defVar("strGameInfo", VT_String, "")
  338. -- 游戏状态
  339. , defVar("nStatus", VT_UChar, 0)
  340. -- 头家座位
  341. , defVar("nBankSeatId", VT_UChar, 0)
  342. --小家座位
  343. , defVar("xiaoSeatId", VT_UChar, 0)
  344. --翻牌者座位
  345. , defVar("fanpaiSeatId", VT_UChar, 0)
  346. -- 是否有人发起解散
  347. , defVar("bUserDisbandGame", VT_UChar, 0)
  348. --解散总时间
  349. , defVar("nDismissToTalTime", VT_Short, 0)
  350. -- 解散剩余时间,没人发起解散,此值为0
  351. , defVar("nDismissStateTime", VT_Short, 0)
  352. -- 牌桌信息
  353. , defVar("arrayTableInfo", VT_VectorToMap(message.CardTableInfo, "nUserId"))
  354. --底牌信息
  355. ,defVar("dipaiList",VT_Vector(message.BroadcastStopRoundDipaiList),{})
  356. -- 是否胡牌
  357. , defVar("ishu", VT_UChar, 0)
  358. -- 偷操作个数
  359. , defVar("ToucardList", VT_Vector(message.TouBaCardList), {})
  360. -- 巴操作个数
  361. , defVar("BacardList", VT_Vector(VT_UChar), {})
  362. --可以操作的牌 吃的牌列表
  363. ,defVar("chiCardList", VT_Vector(VT_UChar),{})
  364. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  365. ,defVar("showCardSeatId",VT_UChar,0)
  366. --亮出的牌(庄家的天胡的操作状态时showCard == 0)
  367. ,defVar("showCard",VT_UChar,0)
  368. --自己的操作码
  369. ,defVar("mainOpCode",VT_Short,0)
  370. --是否已经操作过 0表示没用,非0表示已经提交了操作
  371. ,defVar("isSubmitOp",VT_UChar,255)
  372. -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  373. , defVar("showCardFlag", VT_UChar, -1)
  374. --吃的牌是否是包赔的牌
  375. , defVar("isBaopeiCard", VT_UChar, 0)
  376. -- 结束原因
  377. , defVar("stopFlag", VT_UChar, -1)
  378. --听牌张数
  379. ,defVar("tingCards",VT_Vector(VT_UChar),{})
  380. -- 当4人玩时,小家座位ID,无小家此值为-1
  381. --, defVar("xiaoSeatId", VT_Short, -1)
  382. --离线时长数据
  383. ,defVar("offLineInfo",VT_Vector(message.OffLineTime),{})
  384. --胡牌信息
  385. ,defVar("hupaiInfo",VT_Vector(message.huInfo))
  386. --油牌 吃后不能出的牌
  387. ,defVar("disCard", VT_Vector(VT_UChar), {})
  388. --可碰的牌
  389. ,defVar("canPengOpCard", VT_Vector(message.TouBaCardList),{})
  390. --当前操作ID
  391. ,defVar("curOpreateID",VT_Short, 0)
  392. --点过提示
  393. ,defVar("isBaopeiGuo",VT_Short, 0)
  394. --[[ --巴后不能出的牌
  395. ,defVar("afterbadisCard", VT_Vector(VT_UChar), {})--]]
  396. --后抓要变颜色的牌
  397. --,defVar("houzhuaCard",VT_Vector(VT_UChar), {})
  398. --当前进的牌
  399. ,defVar("curEnterCard", VT_UChar, 0)
  400. --是否进牌胡
  401. , defVar("isZiMoHu", VT_Short, 0)
  402. --是否进牌胡
  403. , defVar("isQiangBaHu", VT_Short, 0)
  404. )
  405. --刷新手牌请求
  406. message.ReflashHandCard = defClass("ReflashHandCard"
  407. --刷新手牌请求 0 /1 两个取值
  408. , defVar("isFflash", VT_Short, -1)
  409. )
  410. message.myHandCardList = defClass("myHandCardList"
  411. -- 牌类型
  412. , defVar("type", VT_UChar, 0)
  413. -- 第一张牌 此组合牌第一张牌,如1、2、3,则值为1
  414. , defVar("card", VT_Vector(VT_UChar), {})
  415. )
  416. --获取手牌
  417. message.ReflashHandcardsResponse = defClass("ReflashHandcardsResponse"
  418. --用户的USER ID
  419. , defVar("nUserId", VT_Int, 0)
  420. --玩家手牌
  421. ,defVar("handCard",VT_Vector(message.myHandCardList),{})
  422. )
  423. --抢巴胡
  424. message.QiangBaResponse = defClass("QiangBaResponse"
  425. --用户的USER ID
  426. , defVar("nUserId", VT_Int, 0)
  427. --牌
  428. , defVar("nCard", VT_UChar, 0)
  429. --操作
  430. ,defVar("mainOpCode",VT_Short,0)
  431. )
  432. message.GuoBaResponse = defClass("GuoBaResponse"
  433. --用户的USER ID
  434. , defVar("nUserId", VT_Int, 0)
  435. --用户的椅子ID
  436. , defVar("seatid", VT_Int, 0)
  437. --巴后不能出的牌
  438. , defVar("disCard", VT_Vector(VT_UChar), {})
  439. )
  440. --弃牌
  441. message.QiPai = defClass("QiPai"
  442. -- 弃牌者的id
  443. , defVar("nUserId", VT_Int, -1)
  444. -- 弃牌,一般为抓的牌
  445. , defVar("disCard", VT_UChar, -1)
  446. --是否是后抓的牌
  447. , defVar("isHouZhuaCard",VT_UChar, 0)
  448. )
  449. --托管状态
  450. message.HostingResponseEntity = defClass("HostingResponseEntity"
  451. ,defVar("nUserId",VT_Int,0)
  452. --1.托管 0取消托管
  453. ,defVar("status",VT_UChar,0)
  454. ,defVar("ext", VT_String, "")
  455. )
  456. --托管状态
  457. message.HostingResponse = defClass("HostingResponse"
  458. ,defVar("userList", VT_Vector(message.HostingResponseEntity), {})
  459. )
  460. message.HostingRequest = defClass("HostingRequest"
  461. , defVar("nUserId", VT_Int, 0)
  462. , defVar("status", VT_UChar, 0)
  463. )
  464. --总结算玩家列表
  465. message.BroadcastGameOverPlayList = defClass("BroadcastGameOverPlayList"
  466. --玩家Uid
  467. , defVar("nUserId", VT_Int, 0)
  468. --总输赢分数
  469. , defVar("nTotalScore", VT_String, 0)
  470. --用户金币信息
  471. , defVar("propertyInfo", VT_String, 0)
  472. --json格式,暂无数据,后续扩展
  473. , defVar("nTextJson", VT_String, 0)
  474. )
  475. message.GameDaJuResponse = defClass("GameDaJuResponse"
  476. --多少个玩家
  477. , defVar("playList", VT_VectorToMap(message.BroadcastGameOverPlayList, "nUserId"))
  478. --结束时间
  479. , defVar("endTime", VT_Long, 0)
  480. )
  481. return message