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.

783 lines
23 KiB

  1. local message = {}
  2. message.TingCardValue = defClass("TingCardValue"
  3. --听牌的牌值
  4. , defVar("tingCard", VT_UChar, -1)
  5. --听牌剩余的张数
  6. , defVar("tingCardNum", VT_UChar, -1)
  7. )
  8. message.TingCard = defClass("TingCard"
  9. --玩家可以出的牌
  10. , defVar("outCard", VT_UChar, -1)
  11. --听牌牌值和剩余数量
  12. ,defVar("tingCardValue",VT_Vector(message.TingCardValue),{})
  13. )
  14. message.TingCardResult = defClass("TingCardResult"
  15. --听牌张数
  16. ,defVar("tingCards",VT_Vector(message.TingCard),{})
  17. --是否可以包牌 -- 0: 不可爆牌 1: 可爆牌
  18. ,defVar("canBaoPai", VT_Short, -1)
  19. )
  20. -- 托管
  21. message.TuoGuan = defClass("TuoGuan"
  22. -- 用户uid
  23. , defVar("optType", VT_Short, 0)
  24. )
  25. -- 用户托管信息
  26. message.TuoGuanInfo = defClass("TuoGuanInfo"
  27. -- 用户uid
  28. , defVar("nUserID", VT_Int, 0)
  29. --
  30. , defVar("aiStatus", VT_UChar, 0)
  31. --
  32. , defVar("reserve", VT_String, "")
  33. )
  34. -- 玩家超时系统自动托管 以及自动托管后,服务器都会广播当前桌上所有玩家的托管状态
  35. message.TuoGuanResponse = defClass("TuoGuanResponse"
  36. -- 用户uid
  37. , defVar("userCnt", VT_VectorToMap(message.TuoGuanInfo,"nUserID"))
  38. )
  39. --扎鸟
  40. message.ZhaNiao = defClass("ZhaNiao"
  41. --扎鸟超时时间
  42. , defVar("leftZhaBirdTime", VT_Short, -1)
  43. )
  44. --扎鸟选择
  45. message.ZhaNiaoRequest = defClass("ZhaNiaoRequest"
  46. --扎鸟分数,0表示不扎鸟
  47. , defVar("nZhaBirdScore", VT_Short, -1)
  48. )
  49. --扎鸟结果
  50. message.ZhaNiaoResult = defClass("ZhaNiaoResult"
  51. --玩家uid
  52. , defVar("nUserId", VT_Int, -1)
  53. --扎鸟分数
  54. , defVar("nZhaBirdScore", VT_Short, -1)
  55. )
  56. --server收到0x8060协议后,广播当前桌子上所有用户
  57. message.ServerChangeUserInfo = defClass("ServerChangeUserInfo"
  58. --更新信息的用户uid
  59. , defVar("uid", VT_Int, -1)
  60. --用户信息
  61. , defVar("userInfo", VT_String, "")
  62. --保留字段,暂不使用
  63. , defVar("reserved", VT_String, "")
  64. )
  65. message.IntPacket = defClass("IntPacket"
  66. --nUserId
  67. , defVar("nUserId", VT_Int, -1)
  68. )
  69. message.ChuPaiPlayerOperation = defClass("ChuPaiPlayerOperation"
  70. --nUserId
  71. , defVar("nUserId", VT_Int, -1)
  72. --此用户是否可以操作,0:不可以 1: 可以
  73. , defVar("isCanOpereate", VT_UChar, -1)
  74. )
  75. --玩家出牌成功
  76. message.OutCardSuccess = defClass("OutCardSuccess"
  77. -- 出牌用户id
  78. , defVar("nOutCardUserId", VT_Int, -1)
  79. -- 出的牌
  80. , defVar("byOutCard", VT_UChar, -1)
  81. -- 可以的操作ma
  82. , defVar("mainOpCode", VT_Short, -1)
  83. -- 玩家操作
  84. , defVar("operations", VT_Vector(message.ChuPaiPlayerOperation), {})
  85. -- 出牌用户剩余手牌数量
  86. , defVar("leftHandCardNum", VT_Short, -1)
  87. )
  88. --出牌错误
  89. message.OutCardError = defClass("OutCardError"
  90. -- 牌值
  91. , defVar("result", VT_Short, -1)
  92. )
  93. --出牌
  94. message.OutCard = defClass("OutCard"
  95. -- 牌值
  96. , defVar("nCard", VT_UChar, -1)
  97. )
  98. message.MoPaiPlayerOperation = defClass("MoPaiPlayerOperation"
  99. --nUserId
  100. , defVar("nUserId", VT_Int, -1)
  101. --此用户是否可以操作,0:不可以 1: 可以
  102. , defVar("isCanOpereate", VT_UChar, -1)
  103. )
  104. --弃牌
  105. message.QiPai = defClass("QiPai"
  106. -- 弃牌者的id
  107. , defVar("nUserId", VT_Int, -1)
  108. -- 弃牌,一般为抓的牌
  109. , defVar("disCard", VT_UChar, -1)
  110. )
  111. --摸牌
  112. message.MoPai = defClass("MoPai"
  113. -- 抓牌者的id
  114. , defVar("nUserId", VT_Int, -1)
  115. -- 抓的牌
  116. , defVar("turnOverCard", VT_UChar, -1)
  117. -- 自已可以的操作
  118. , defVar("mainOpCode", VT_Short, -1)
  119. -- 剩余牌数
  120. , defVar("leftCardNum", VT_Short, -1)
  121. -- 玩家操作
  122. , defVar("operations", VT_Vector(message.MoPaiPlayerOperation), {})
  123. -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  124. , defVar("showCardFlag", VT_UChar, -1)
  125. )
  126. message.weaveCardList = defClass("weaveCardList"
  127. -- 牌类型
  128. , defVar("type", VT_Short, 0)
  129. -- 操作的牌
  130. , defVar("opcard", VT_UChar, 0)
  131. -- 此组合牌的胡数
  132. , defVar("hushu", VT_UChar, 0)
  133. -- 第一张牌 此组合牌第一张牌,如1、2、3,则值为1
  134. , defVar("card", VT_UChar, 0)
  135. )
  136. --玩家操作成功的时候操作码合集
  137. message.OperateionCodeSuccessItem = defClass("OperateionCodeSuccessItem"
  138. -- 操作者的座位id
  139. , defVar("nOperationCode", VT_Short, -1)
  140. )
  141. --操作成功玩家信息
  142. message.SuccessPlayerInfo = defClass("SuccessPlayerInfo"
  143. -- ID
  144. , defVar("nUserId", VT_Int, -1)
  145. -- 操作输赢分数,分数为0不飞金币
  146. , defVar("nOptScore", VT_Short, -1)
  147. -- 玩家当局输赢的分数
  148. , defVar("nTurnScore", VT_Int, -1)
  149. -- 玩家最后的分数
  150. , defVar("nTotalScore", VT_Int, -1)
  151. )
  152. --发送操作码成功
  153. message.OperationCodeSuccess = defClass("OperationCodeSuccess"
  154. -- 操作者的id
  155. , defVar("nUserId", VT_Int, -1)
  156. -- 操作的牌(只有天胡时 opCard才为0)
  157. , defVar("card", VT_UChar, 0)
  158. -- 表明操作者他是否要出牌
  159. , defVar("isShouldOutCard", VT_UChar, 0)
  160. -- 操作码的个数 一般为1;吃上比下时为多个
  161. , defVar("OperationCodeList", VT_Vector(message.OperateionCodeSuccessItem), {})
  162. -- 组合牌信息 注意: 当本次玩家为跑起时,客户端需判断跑起牌中座位seatid是否在[0,3]范围内,若在,则需处理飞牌动画操作
  163. , defVar("weaveCardList", VT_Vector(message.weaveCardList), {})
  164. -- 吃牌区总的胡数
  165. , defVar("totalHuShu", VT_Short, -1)
  166. -- 剩余手牌数量
  167. , defVar("leftHandCardNum", VT_Short, -1)
  168. )
  169. message.OperationCodeFirst = defClass("OperationCodeFirst"
  170. --nUserId
  171. , defVar("nUserId", VT_Int, -1)
  172. )
  173. message.GameSendOpCodeResponse = defClass("GameSendOpCodeResponse"
  174. -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1
  175. , defVar("operateCode", VT_Vector(VT_Short), {})
  176. -- 具体的操作码,可多个由opCount取值确定例如: opCount = 2, 则会传两个operateCode过来,此种情况只有在吃牌比牌的情况下存在
  177. --, defVar("opCardNum", VT_Short,0)
  178. -- 操作牌
  179. , defVar("opCard", VT_UChar, 0)
  180. )
  181. message.SystemOperationInfo = defClass("SystemOperationInfo"
  182. -- 用户uid
  183. , defVar("nUserId", VT_Int, 0)
  184. -- 可提牌的数量
  185. , defVar("tiPaiList", VT_Vector(message.weaveCardList), {})
  186. -- 可提牌的数量
  187. , defVar("shaoList", VT_Vector(message.weaveCardList), {})
  188. --本局分数
  189. , defVar("nTurnScore", VT_Int, 0)
  190. --总的分数
  191. , defVar("nTotalScore", VT_Int, 0)
  192. --是否五福告警 -1:初始状态 0: 不报警 1: 等待报警 2: 确认报警
  193. , defVar("nWuFuWarn", VT_Short, 0)
  194. -- 操作输赢分数,分数为0不飞金币
  195. , localVar("nOptScore", VT_Short, -1)
  196. )
  197. message.SystemOperationStart = defClass("SystemOperationStart"
  198. -- 用户uid
  199. , defVar("nUserId", VT_Int, 0)
  200. -- 可提牌的数量
  201. , defVar("tiPaiList", VT_Vector(message.weaveCardList), {})
  202. --总的胡数
  203. , defVar("nTotalHuShu", VT_Short, 0)
  204. -- 出牌用户剩余手牌数量
  205. , defVar("leftHandCardNum", VT_Short, -1)
  206. )
  207. message.BankerOutCard = defClass("BankerOutCard"
  208. -- 庄家uid
  209. , defVar("nUserId", VT_Int, 0)
  210. -- 庄家操作类型
  211. , defVar("mainOpCode", VT_Short, 0)
  212. --庄家是否需要出牌0不需要 1:需要
  213. , defVar("IsShouldOutCard", VT_UChar, 0)
  214. --庄家起手抓的牌
  215. , defVar("bankFirstGrabCard", VT_UChar, 0)
  216. )
  217. message.CardSendListData = defClass("CardSendListData"
  218. -- 牌值类型
  219. , defVar("type", VT_Short, 0)
  220. -- 单张牌值
  221. , defVar("card", VT_UChar, 0)
  222. )
  223. message.GameSendCardResponse = defClass("GameSendCardResponse"
  224. -- 用户uid
  225. , defVar("nUserId", VT_Int, 0)
  226. -- 牌值类型列表
  227. , defVar("cardList", VT_Vector(message.CardSendListData), {})
  228. --[[ -- 庄家uid
  229. , defVar("nUserId", VT_Int, 0)--]]
  230. )
  231. -- 收到其他玩家掉线的信息
  232. message.OtherDroppedResponse = defClass("OtherDroppedResponse"
  233. -- 用户uid
  234. , defVar("nUserId", VT_Int, 0)
  235. -- 0: 用户掉线回来, 1: 用户已经掉线
  236. , defVar("nDroppedStatus", VT_Short, 0)
  237. )
  238. message.GameBeginResponse = defClass("GameBeginResponse"
  239. --错误类型
  240. ,defVar("nErrNo",VT_UChar,0)
  241. --可以开始游戏的用户ID
  242. ,defVar("nUserId",VT_Int,0)
  243. )
  244. message.GameStartResponse = defClass("GameStartResponse"
  245. -- 局数
  246. , defVar("nGameStartCount", VT_Short, 0)
  247. -- 总的局数
  248. , defVar("nTotalGameNum", VT_Short, 0)
  249. -- 房主uid
  250. , defVar("nRoomOwnedUid", VT_Int, 0)
  251. -- 庄家座位id
  252. , defVar("nBankSeatId", VT_UChar, 99)
  253. -- 当4人玩时,小家座位ID,无小家此值为-1
  254. , defVar("xiaoSeatId", VT_Short, -1)
  255. )
  256. --一局结束后弃牌信息
  257. message.BroadcastStopRoundGiveUpCardCount = defClass("BroadcastStopRoundGiveUpCardCount"
  258. --弃牌
  259. , defVar("giveupChessOpCard", VT_UChar, 0)
  260. )
  261. --一局结束后玩家列表
  262. message.BroadcastStopRoundPlayList = defClass("BroadcastStopRoundPlayList"
  263. --玩家的id
  264. , defVar("nUserId", VT_Int, 0)
  265. --玩家本局输赢分数
  266. , defVar("nTurnScore", VT_Int, 0)
  267. --玩家总的分数
  268. , defVar("nTotalMoney", VT_Int, 0)
  269. --玩家碰,吃,哨,串,招个数
  270. , defVar("tableWeaveCard", VT_Vector(message.weaveCardList))
  271. --玩家手牌信息
  272. , defVar("handCard", VT_Vector(message.weaveCardList))
  273. --玩家弃牌信息
  274. , defVar("desertedArea", VT_Vector(message.BroadcastStopRoundGiveUpCardCount))
  275. )
  276. --一局结束后底牌信息列表
  277. message.BroadcastStopRoundDipaiList = defClass("BroadcastStopRoundDipaiList"
  278. --底牌信息
  279. , defVar("chessCards", VT_UChar, 0)
  280. )
  281. --胡牌信息
  282. message.huInfo = defClass("huInfo"
  283. --胡牌uid, -1则下面6个字段是无用
  284. , defVar("huPaiUid", VT_Int, 0)
  285. --点炮胡时,表示为点炮用户,其他情况无意义
  286. , defVar("dianPaoUid", VT_Int, 0)
  287. --胡牌后总的胡数
  288. , defVar("huPaiHuShu", VT_UChar, 0)
  289. -- 胡的类型(如天胡、地胡 ,自摸胡等)
  290. , defVar("huTypes", VT_Short, 0)
  291. --归的个数
  292. , defVar("guiNum", VT_UChar, 0)
  293. --倍数
  294. , defVar("multiNum", VT_UChar, 0)
  295. --胡的牌
  296. , defVar("huCard", VT_UChar, 0)
  297. --保留字段
  298. , defVar("reserve", VT_String, "")
  299. )
  300. message.GameXiaoJuResponse = defClass("GameXiaoJuResponse"
  301. -- 一局结束的原因
  302. , defVar("stopFlag", VT_UChar, -1)
  303. --胡牌信息
  304. , defVar("hupaiInfo",VT_Vector(message.huInfo))
  305. --多少个玩家
  306. , defVar("playList", VT_VectorToMap(message.BroadcastStopRoundPlayList,"nUserId"))
  307. --底牌信息
  308. , defVar("dipaiList", VT_Vector(message.BroadcastStopRoundDipaiList))
  309. --是否大局结束,结束是1
  310. , defVar("isGameOver", VT_Short, 0)
  311. )
  312. --总结算玩家列表
  313. message.BroadcastGameOverPlayList = defClass("BroadcastGameOverPlayList"
  314. --玩家Uid
  315. , defVar("nUserId", VT_Int, 0)
  316. --总输赢分数
  317. , defVar("nTotalScore", VT_Int, 0)
  318. --用户金币信息
  319. , defVar("propertyInfo", VT_String, 0)
  320. --json格式,暂无数据,后续扩展
  321. , defVar("nTextJson", VT_String, 0)
  322. )
  323. message.GameDaJuResponse = defClass("GameDaJuResponse"
  324. --多少个玩家
  325. , defVar("playList", VT_VectorToMap(message.BroadcastGameOverPlayList, "nUserId"))
  326. --结束时间
  327. , defVar("endTime", VT_Long, 0)
  328. )
  329. -- 收到其他玩家加入房间的信息
  330. message.OtherSitDownResponse = defClass("OtherSitDownResponse"
  331. -- 用户uid
  332. , defVar("nUserId", VT_Int, 0)
  333. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  334. , defVar("nSeatId", VT_Int, 0)
  335. -- 用户信息
  336. , defVar("userInfo", VT_String, "")
  337. -- 用户总的分数
  338. , defVar("nTotalMoney", VT_Int, 0)
  339. )
  340. -- 进入桌子失败
  341. message.SitDownFailedResponse = defClass("SitDownFailedResponse"
  342. -- 错误码
  343. , defVar("nErrorCode", VT_UChar, 0)
  344. )
  345. -- 房间中的玩家信息
  346. message.RoomMemberInfo = defClass("RoomMemberInfo"
  347. -- 用户uid
  348. , defVar("nUserId", VT_Int, 0)
  349. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  350. , defVar("nSeatId", VT_Int, -1)
  351. -- 是否正在玩 -1: 用户站起 0: 用户坐下 1: 准备状态 2: 正在玩
  352. , defVar("nPlayerFlag", VT_UChar, 0)
  353. -- 用户信息
  354. , defVar("userInfo", VT_String, "")
  355. -- 用户总的分数
  356. , defVar("nTotalMoney", VT_Int, 0)
  357. -- 用户扎鸟
  358. , localVar("zhaBirdScore", VT_Int, 0)
  359. )
  360. -- 服务器补充了一个新的离线扩展信息
  361. message.RoomMemberInfoEx = defClass("RoomMemberInfoEx"
  362. -- 用户uid
  363. , defVar("nUserId", VT_Int, 0)
  364. --离线状态
  365. , defVar("nOnlineStatus", VT_UChar, 1)
  366. -- 用户信息
  367. , defVar("reserve", VT_String, "")
  368. )
  369. -- 用户在桌子上坐下成功协议
  370. message.SitDownSuccessResponse = defClass("SitDownSuccessResponse"
  371. -- 用户房间号
  372. , defVar("nShowTableId", VT_Int, 0)
  373. -- 房间最大人数
  374. , defVar("nMaxPlayCount", VT_Int, 0)
  375. -- 用户房主
  376. , defVar("nRoomOwnedUid", VT_Int, 0)
  377. -- 总的局数
  378. , defVar("nTotalGameNum", VT_Short, 0)
  379. -- 房间信息
  380. , defVar("strGameInfo", VT_String, "")
  381. -- 用户
  382. , defVar("memberList", VT_VectorToMap(message.RoomMemberInfo, "nUserId"))
  383. --用户扩展信息
  384. , defVar("memberListEx", VT_VectorToMap(message.RoomMemberInfoEx, "nUserId"))
  385. )
  386. --玩家弃牌区的牌
  387. message.DesertedAreaVector = defClass("DesertedAreaVector"
  388. --玩家弃牌区的牌
  389. ,defVar("card", VT_UChar, 0)
  390. )
  391. -- array牌桌信息
  392. message.CardTableInfo = defClass("CardTableInfo"
  393. --用户的USER ID
  394. , defVar("nUserId", VT_Int, 0)
  395. --用户的TABLE ID
  396. , defVar("nSeatId", VT_UChar, 0)
  397. --用户的游戏状态标识
  398. , defVar("nPlayerFlag", VT_UChar, 0)
  399. --玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散
  400. , defVar("nDisbandStatus", VT_UChar, 255)
  401. --是否在线 0:离线 1:在线
  402. , defVar("nOnlineStatus", VT_UChar, 255)
  403. --是否爆牌 0:不爆 1: 等待爆牌 2:已爆牌
  404. , defVar("nBaoPaiStatus", VT_UChar, 255)
  405. --用户信息
  406. , defVar("userInfo", VT_String, "")
  407. --当前局分数
  408. , defVar("nTurnScore", VT_Int, -1)
  409. --总分
  410. , defVar("nTotalMoney", VT_Int, -1)
  411. --是否可以操作,用于闹钟 此用户是否可以操作,0:不可以 1: 可以
  412. , defVar("isCanOperate", VT_UChar, 255)
  413. --桌面组合牌
  414. ,defVar("tableWeaveCard",VT_Vector(message.weaveCardList),{})
  415. --玩家手牌
  416. ,defVar("handCard",VT_Vector(message.weaveCardList),{})
  417. --桌面弃牌
  418. ,defVar("desertedArea",VT_Vector(message.DesertedAreaVector),{})
  419. )
  420. -- 离线时间
  421. message.OffLineTime = defClass("OffLineTime"
  422. -- 用户uid
  423. , defVar("nUserId", VT_Int, 0)
  424. -- 玩家扩展信息json格式
  425. , defVar("extInfo", VT_String, "")
  426. )
  427. -- 用户托管信息
  428. message.TuoGuanInfo = defClass("TuoGuanInfo"
  429. -- 用户uid
  430. , defVar("nUserID", VT_Int, 0)
  431. --
  432. , defVar("aiStatus", VT_UChar, 0)
  433. --
  434. , defVar("reserve", VT_String, "")
  435. )
  436. --断线重连
  437. message.GameReconnection = defClass("GameReconnection"
  438. -- 用户房间号
  439. , defVar("nShowTableId", VT_Int, 0)
  440. -- 房间最大人数
  441. , defVar("nMaxPlayCount", VT_Short, 0)
  442. -- 用户房主
  443. , defVar("nRoomOwnedUid", VT_Int, 0)
  444. -- 总的局数
  445. , defVar("nTotalGameNum", VT_Short, 0)
  446. -- 当前局数
  447. , defVar("nGameStartCount", VT_Short, 0)
  448. -- 游戏信息
  449. , defVar("strGameInfo", VT_String, "")
  450. -- 游戏状态
  451. , defVar("nStatus", VT_UChar, 0)
  452. -- 庄家座位
  453. , defVar("nBankSeatId", VT_UChar, 0)
  454. -- 是否有人发起解散
  455. , defVar("bUserDisbandGame", VT_UChar, 0)
  456. --解散总时间
  457. , defVar("nDismissToTalTime", VT_Short, 0)
  458. -- 解散剩余时间,没人发起解散,此值为0
  459. , defVar("nDismissStateTime", VT_Short, 0)
  460. -- 牌桌信息
  461. , defVar("arrayTableInfo", VT_VectorToMap(message.CardTableInfo, "nUserId"))
  462. --底牌信息
  463. ,defVar("dipaiList",VT_Vector(message.BroadcastStopRoundDipaiList))
  464. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  465. ,defVar("showCardSeatId",VT_UChar,0)
  466. --亮出的牌(庄家的天胡的操作状态时showCard == 0)
  467. ,defVar("showCard",VT_UChar,0)
  468. --自己的操作码
  469. ,defVar("mainOpCode",VT_Short,0)
  470. --是否已经操作过 0表示没用,非0表示已经提交了操作
  471. ,defVar("isSubmitOp",VT_UChar,255)
  472. -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  473. , defVar("showCardFlag", VT_UChar, -1)
  474. -- 结束原因
  475. , defVar("stopFlag", VT_UChar, -1)
  476. --胡牌信息
  477. ,defVar("hupaiInfo",VT_Vector(message.huInfo))
  478. --听牌张数
  479. ,defVar("tingCards",VT_Vector(message.TingCard),{})
  480. -- 当4人玩时,小家座位ID,无小家此值为-1
  481. , defVar("xiaoSeatId", VT_Short, -1)
  482. --离线时长数据
  483. ,defVar("offLineInfo",VT_Vector(message.OffLineTime),{})
  484. --托管状态信息
  485. , defVar("tuoGuanInfo", VT_VectorToMap(message.TuoGuanInfo,"nUserID"))
  486. )
  487. -- 本地存储完整的房间数据
  488. message.RoomInfoLocal = defClass("RoomInfoLocal"
  489. -- 用户房间号
  490. , defVar("nShowTableId", VT_Int, 0)
  491. -- 房间最大人数
  492. , defVar("nMaxPlayCount", VT_Int, 0)
  493. -- 用户房主
  494. , defVar("nRoomOwnedUid", VT_Int, 0)
  495. -- 总的局数
  496. , defVar("nTotalGameNum", VT_Short, 0)
  497. -- 房间信息
  498. , defVar("strGameInfo", VT_String, "")
  499. -- 用户
  500. , defVar("memberList", VT_VectorToMap(message.RoomMemberInfo, "nUserId"))
  501. -- 当前局数
  502. , defVar("nGameStartCount", VT_Short, 0)
  503. --解散总时间
  504. , defVar("nDismissToTalTime", VT_Short, 0)
  505. -- 庄家座位id
  506. , defVar("nBankSeatId", VT_UChar, 99)
  507. --庄家中庄次数,为0以及中庄模式则显示庄字,连中非0值则显示具体数字
  508. , defVar("nZhongBankCnt", VT_UChar, 99)
  509. -- 是否有人发起解散
  510. , defVar("bUserDisbandGame", VT_UChar, 0)
  511. -- 解散剩余时间,没人发起解散,此值为0
  512. , defVar("nDismissStateTime", VT_Int, 0)
  513. -- 牌桌信息
  514. , defVar("arrayTableInfo", VT_VectorToMap(message.CardTableInfo, "nUserId"))
  515. --底牌信息
  516. ,defVar("dipaiList",VT_Vector(message.BroadcastStopRoundDipaiList))
  517. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  518. ,defVar("showCardSeatId",VT_UChar,0)
  519. --亮出的牌(庄家的天胡的操作状态时showCard == 0)
  520. ,defVar("showCard",VT_UChar,0)
  521. --自己的操作码
  522. ,defVar("mainOpCode",VT_Short,0)
  523. --是否已经操作过 0表示没用,非0表示已经提交了操作
  524. ,defVar("isSubmitOp",VT_UChar,255)
  525. -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  526. , defVar("showCardFlag", VT_UChar, -1)
  527. --胡牌信息
  528. ,defVar("hupaiInfo",VT_Vector(message.huInfo))
  529. --听牌张数
  530. ,defVar("tingCards",VT_Vector(message.TingCard),{})
  531. )
  532. -- 解散房间请求
  533. message.DismissRequest = defClass("DismissRequest"
  534. -- 玩家操作 1: 表示发起解散 2:同意解散 3:不同意解散
  535. , defVar("operateType", VT_UChar, 0)
  536. )
  537. -- 每个玩家对于解散房间的处理
  538. message.UserDismissResult = defClass("UserDismissResult"
  539. -- nUserId
  540. , defVar("nUserId", VT_Int, 0)
  541. -- 0: 未做任何操作 1: 请求解散 2: 同意解散 3:不同意解散
  542. , defVar("dismissState", VT_UChar, 0)
  543. )
  544. -- 解散房间请求的结果
  545. message.DismissResult = defClass("DismissResult"
  546. -- 错误码:
  547. -- 0:成功
  548. -- 1:operateType取值范围不对
  549. -- 2:当前没人发起解散
  550. -- 3:已经有人申请解散
  551. , defVar("errorCode", VT_Short, 0)
  552. -- 玩家操作
  553. , defVar("operateType", VT_Int, 0)
  554. -- 桌子上其他用户数量
  555. , defVar("memberList", VT_VectorToMap(message.UserDismissResult, "nUserId"))
  556. -- 剩余解散超时时间
  557. , defVar("timeLeft", VT_Short, 0)
  558. )
  559. -- 服务器广播每个玩家对解散房间的处理
  560. message.DismissResponse = defClass("DismissResponse"
  561. -- nUserId
  562. , defVar("nUserId", VT_Int, 0)
  563. -- 1: 表示发起解散 2:同意解散 3:不同意解散
  564. , defVar("operateType", VT_UChar, 0)
  565. -- 剩余解散超时时间
  566. , defVar("timeLeft", VT_Short, 0)
  567. )
  568. -- 退出房间成功,则读取房间数据
  569. message.UserExitResponse = defClass("UserExitResponse"
  570. -- 用户当前积分
  571. , defVar("nTotalMoney", VT_Long, 0)
  572. -- 用户的房卡信息,格式"10,5", 以逗号分隔,第一个表示历史房卡数量, 第二个表示当前房卡数量
  573. , defVar("userInfo", VT_String, "")
  574. -- 是否要求用户退出,返回大厅,0: 不退出, 1: 退出
  575. , defVar("logoutFlag", VT_Short, 0)
  576. )
  577. -- 收到其他玩家退出房间的信息
  578. message.OtherLogoutResponse = defClass("OtherLogoutResponse"
  579. -- 用户uid
  580. , defVar("nUserId", VT_Int, 0)
  581. )
  582. -- 报警
  583. message.BaoJing = defClass("BaoJing"
  584. -- 只有0与2 的取值,0:不报警 2:报警
  585. , defVar("optType", VT_Short, 0)
  586. )
  587. -- 报警结果
  588. message.BaoJingResponse = defClass("BaoJingResponse"
  589. -- 用户uid
  590. , defVar("nUserId", VT_Int, 0)
  591. -- 只有0与2 的取值,0:不报警 2:报警
  592. , defVar("optType", VT_Short, 0)
  593. )
  594. -- 位置
  595. message.ChoiceTable = defClass("ChoiceTable"
  596. --uid
  597. ,defVar("nUserId",VT_Int,0)
  598. --座位ID
  599. ,defVar("nSeatId",VT_UChar,0)
  600. )
  601. -- 位置随机打乱
  602. message.ChoicePlace = defClass("ChoicePlace"
  603. --位置信息
  604. ,defVar("place",VT_Vector(message.ChoiceTable),{})
  605. )
  606. --申请提前开始游戏(座位没坐满)
  607. message.EarlyStartRequest = defClass("EarlyStartRequest"
  608. -- 玩家操作 0初始状态 1申请开始游戏 2同意开始游戏 3不同意开始游戏
  609. , defVar("optType", VT_Short, 0)
  610. )
  611. -- 每个玩家对于提前开始游戏的处理
  612. message.UserEarlyStartSInfo = defClass("UserEarlyStartSInfo"
  613. -- nUserId
  614. , defVar("nUserId", VT_Int, 0)
  615. -- 0初始状态 1申请开始游戏 2同意开始游戏 3不同意开始游戏
  616. , defVar("optType", VT_UChar, 0)
  617. -- 保留字段,暂不使用
  618. , defVar("reserved", VT_String, "")
  619. )
  620. -- 每个玩家对于提前开始游戏的处理
  621. message.updateSeatId = defClass("updateSeatId"
  622. -- nUserId
  623. , defVar("nUserId", VT_Int, 0)
  624. --nSeatId
  625. , defVar("nSeatId", VT_UChar, 0)
  626. )
  627. -- 提前开始游戏广播
  628. message.EarlyStartBroadcast = defClass("EarlyStartBroadcast"
  629. --剩余申请游戏开始剩余时间
  630. , defVar("nleftStartGameTimeout", VT_Short, -1)
  631. -- 桌子上其他用户提前开始游戏信息
  632. , defVar("earlyStartPlayerInfo", VT_VectorToMap(message.UserEarlyStartSInfo, "nUserId"))
  633. )
  634. -- 提前开始游戏结果
  635. message.EarlyStartResult = defClass("EarlyStartResult"
  636. --更新椅子号
  637. , defVar("updateSeatId", VT_VectorToMap(message.updateSeatId, "nUserId"))
  638. )
  639. --爆牌请求
  640. message.BaoPai = defClass("BaoPai"
  641. --爆牌请求 0 /1 两个取值
  642. , defVar("optType", VT_Short, -1)
  643. )
  644. --爆牌结果
  645. message.BaoPaiResponse = defClass("BaoPaiResponse"
  646. -- nUserId
  647. , defVar("nUserId", VT_Int, 0)
  648. --爆牌结果
  649. , defVar("optType", VT_Short, -1)
  650. )
  651. --最后一张牌
  652. message.LastCard = defClass("LastCard"
  653. -- 获得牌uid
  654. , defVar("nUserId", VT_Int, -1)
  655. -- 牌值
  656. , defVar("firstCard", VT_UChar, -1)
  657. )
  658. --获取手牌
  659. message.GetHandcardsResponse = defClass("GetHandcardsResponse"
  660. --用户的USER ID
  661. , defVar("nUserId", VT_Int, 0)
  662. --玩家手牌
  663. ,defVar("handCard",VT_Vector(message.weaveCardList),{})
  664. )
  665. message.card = defClass("card"
  666. -- 抽牌
  667. , defVar("card", VT_UChar, 0)
  668. )
  669. --[[-----------------------------------------------------------
  670. -- 快速开始请求
  671. message.FastStartRequest = defClass("FastStartRequest"
  672. , defVar("tp", VT_UChar, 0)
  673. )
  674. -- 快速开始请求结果
  675. message.FastStartRequestResult = defClass("FastStartRequestResult"
  676. , defVar("result", VT_Short, -1)
  677. )
  678. -- 服务器广播快速开始状态
  679. message.FastPlayer = defClass("FastPlayer"
  680. , defVar("nUserId", VT_Int, 0)
  681. , defVar("nStatus", VT_UChar, 0)
  682. )
  683. message.FastStartStatus = defClass("FastStartStatus"
  684. , defVar("nUserId", VT_Int, 0)
  685. , defVar("nStatus", VT_Short, 0)
  686. , defVar("pList", VT_Vector(message.FastPlayer), {})
  687. , defVar("timeOut", VT_Short, 0)
  688. )
  689. message.FastSuccessPlayer = defClass("FastSuccessPlayer"
  690. , defVar("nUserId", VT_Int, 0)
  691. , defVar("nSeatId", VT_UChar, 0)
  692. )
  693. message.UpdateSeatIds = defClass("UpdateSeatIds"
  694. , defVar("pList", VT_Vector(message.FastSuccessPlayer), {})
  695. )
  696. -- 游戏快速结束
  697. -------------------------------------------------------------]]
  698. return message