Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

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