Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

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