選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

541 行
16 KiB

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