Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

590 linhas
18 KiB

  1. --五人斗地主消息协议格式
  2. local zgwrDdzMessage = {}
  3. -- 玩家加入房间成功玩家信息
  4. zgwrDdzMessage.PlayerInfo = defClass("UserInfo"
  5. -- 玩家ID
  6. ,defVar("userId", VT_Int, 0)
  7. -- 座位ID
  8. ,defVar("seatId", VT_Int, 0)
  9. -- //在线状态 0离线 1在线
  10. ,defVar("onlineStatus", VT_UChar, 0)
  11. -- //是否正在玩 -1: 用户站起 0: 用户坐下 1: 准备状态 2: 正在玩
  12. ,defVar("playFlag", VT_UChar, 0)
  13. -- 用户信息 头像昵称
  14. ,defVar("jsonInfo", VT_String, "")
  15. -- 总的积分
  16. ,defVar("totalScore", VT_Int, "")
  17. )
  18. -- 玩家离线状态
  19. zgwrDdzMessage.onLintState = defClass("onLintState"
  20. -- 玩家ID
  21. ,defVar("userId", VT_Int, 0)
  22. -- 状态
  23. ,defVar("jsonInfo", VT_String, "")
  24. )
  25. -- 空类,用于服务器下发不带任何参数的情况
  26. zgwrDdzMessage.EmptyContent = defClass("EmptyContent"
  27. )
  28. -- 玩家加入房间成功返回消息
  29. zgwrDdzMessage.GameLoginSuccess = defClass("GameLoginSuccess"
  30. -- 游戏ID
  31. ,defVar("nGameId", VT_Short, 0)
  32. -- 房间id
  33. ,defVar("nShowTableId", VT_Int, 0)
  34. -- 房间最大人数
  35. ,defVar("nMaxPlayCount", VT_Int, 0)
  36. -- 房主id
  37. ,defVar("nRoomOwnedUid", VT_Int, 0)
  38. -- 当前局数
  39. --,defVar("nGameStartCount", VT_Short, 0)
  40. -- 总局数
  41. ,defVar("nTotalGameNum", VT_Short, 0)
  42. -- 游戏信息
  43. ,defVar("nGameInfo", VT_String, "")
  44. -- ,defVar("nPlayerCount", VT_Short, 0)
  45. -- 玩家信息
  46. ,defVar("players", VT_Vector(zgwrDdzMessage.PlayerInfo), {})
  47. )
  48. -- 加入房间失败返回
  49. --[[错误类型信息:
  50. ERROR_TABLE_MAX_COUNT = 2, //桌子人数已经够了
  51. ERROR_NOT_ENOUGH_MONEY = 3, //用户钱数不够
  52. ERROR_TOO_MUCH_MONEY = 4, //房间钱数过多
  53. ERROR_WRONG_UID = 5, //无效的用户ID
  54. ERROR_TABLE_NOT_EXIST = 6, //桌子不存在
  55. ERROR_OTHER = 7, //系统错误
  56. ERROR_UID_CANNOT_ENTER = 8, //游戏开始禁止加入游戏
  57. ]]
  58. zgwrDdzMessage.GameLoginFailed = defClass("GameLoginFailed"
  59. ,defVar("nErrNo", VT_UChar, 0)
  60. )
  61. -- 收到其他玩家加入房间的信息
  62. zgwrDdzMessage.GameSitDownResponse = defClass("GameSitDownResponse"
  63. -- 用户uid
  64. , defVar("userId", VT_Int, 0)
  65. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  66. , defVar("seatId", VT_Int, 0)
  67. -- 用户信息
  68. , defVar("userInfo", VT_String, "")
  69. -- 用户总的分数
  70. , defVar("nTotalMoney", VT_Long, 0)
  71. -- 用户标志
  72. , defVar("nPlayerFlag", VT_Short, 0)
  73. -- 开始游戏ID
  74. , defVar("nStartGameUid", VT_Int, 0)
  75. )
  76. -- 广播玩家准备
  77. zgwrDdzMessage.GameUserReady = defClass("GameUserReady"
  78. -- 准备玩家ID
  79. ,defVar("userId", VT_Int, 0)
  80. )
  81. -- 玩家进入房间
  82. zgwrDdzMessage.GameUserEnter = defClass("GameUserEnter"
  83. -- 玩家id
  84. ,defVar("userId", VT_Int, 0)
  85. ,defVar("seatId", VT_Int, 0)
  86. ,defVar("jsonInfo", VT_String, "")
  87. --,defVar("playFlag", VT_Short, 0)
  88. --道具信息
  89. --,defVar("strExtInfo", VT_String, "")
  90. )
  91. -- 玩家离开房间
  92. zgwrDdzMessage.GameUserLogoutSuc = defClass("GameUserLogout"
  93. -- 玩家积分
  94. ,defVar("totalMoney", VT_Long, 0)
  95. --用户的房卡信息,格式"10,5", 以逗号分隔,第一个表示历史房卡数量, 第二个表示当前房卡数量
  96. ,defVar("extInfo", VT_String, "")
  97. -- 是否回到大厅
  98. ,defVar("logoutFlag", VT_Short, 0)
  99. -- 桌子结束原因
  100. ,defVar("tableOverFlag", VT_Short, 0)
  101. )
  102. -- 广播桌子其他玩家离开
  103. zgwrDdzMessage.GameBroadcastUserLogout = defClass("GameBroadcastUserLogout"
  104. -- 玩家ID
  105. ,defVar("userId", VT_Int, 0)
  106. --,defVar("unuse", VT_Int, 0)
  107. )
  108. -- 解散房间请求
  109. zgwrDdzMessage.DismissRequest = defClass("DismissRequest"
  110. -- 玩家操作 1: 表示发起解散 2:同意解散 3:不同意解散
  111. , defVar("operateType", VT_UChar, 0)
  112. )
  113. -- 每个玩家对于解散房间的处理
  114. zgwrDdzMessage.UserDismissResult = defClass("UserDismissResult"
  115. -- nUserId
  116. , defVar("nUserId", VT_Int, 0)
  117. -- 0: 未做任何操作 1: 请求解散 2: 同意解散 3:不同意解散
  118. , defVar("dismissState", VT_UChar, 0)
  119. )
  120. -- 解散房间请求的结果
  121. zgwrDdzMessage.DismissResult = defClass("DismissResult"
  122. -- 错误码:
  123. -- 0:成功
  124. -- 1:operateType取值范围不对
  125. -- 2:当前没人发起解散
  126. -- 3:已经有人申请解散
  127. , defVar("errorCode", VT_Short, 0)
  128. -- 玩家操作
  129. , defVar("operateType", VT_Int, 0)
  130. -- 桌子上其他用户数量
  131. , defVar("memberList", VT_VectorToMap(zgwrDdzMessage.UserDismissResult, "nUserId"))
  132. -- 剩余解散超时时间
  133. , defVar("timeLeft", VT_Short, 0)
  134. )
  135. -- 服务器广播每个玩家对解散房间的处理
  136. zgwrDdzMessage.DismissResponse = defClass("DismissResponse"
  137. -- nUserId
  138. , defVar("nUserId", VT_Int, 0)
  139. -- 1: 表示发起解散 2:同意解散 3:不同意解散
  140. , defVar("operateType", VT_UChar, 0)
  141. -- 剩余解散超时时间
  142. , defVar("timeLeft", VT_Short, 0)
  143. )
  144. -- 收到其他玩家掉线的信息
  145. zgwrDdzMessage.OtherDroppedResponse = defClass("OtherDroppedResponse"
  146. -- 用户uid
  147. , defVar("nUserId", VT_Int, 0)
  148. -- 0: 用户掉线回来, 1: 用户已经掉线
  149. , defVar("nDroppedStatus", VT_Short, 0)
  150. )
  151. --------------------------------------------------------------------------
  152. -- 游戏处理逻辑协议
  153. --------------------------------------------------------------------------
  154. -- 当桌子上所有玩家都准备后,服务器广播本局游戏开始
  155. zgwrDdzMessage.GameStartUser = defClass("GameStartUser"
  156. ,defVar("nUserId", VT_Int, 0)
  157. ,defVar("nSeatId", VT_Int, 0)
  158. )
  159. zgwrDdzMessage.GameBroadcastGameStart = defClass("GameBroadcastGameStart"
  160. -- 当前局数
  161. ,defVar("gameStartCount", VT_Short, 0)
  162. ,defVar("totalGamenum", VT_Short, 0)
  163. ,defVar("roomOwnedUid", VT_Int, 0)
  164. --手动开始游戏UID(用不上)
  165. ,defVar("startGameUid", VT_Int, 0)
  166. --庄家ID
  167. ,defVar("bankSeatId", VT_Short, 0)
  168. ,defVar("players", VT_Vector(zgwrDdzMessage.GameStartUser), {})
  169. )
  170. -- 给玩家发牌
  171. zgwrDdzMessage.GameSendCards = defClass("GameSendCards"
  172. --,defVar("bankerSeat", VT_Int, 0)
  173. ,defVar("userId", VT_Int, 0)
  174. ,defVar("cards", VT_Vector(VT_UChar), {})
  175. )
  176. -- 服务器返回最佳提示牌组
  177. zgwrDdzMessage.GameReturnTips = defClass("GameReturnTips"
  178. ,defVar("userId", VT_Int, 0)
  179. ,defVar("cards", VT_Vector(VT_UChar), {})
  180. )
  181. -- 客户端请求出牌
  182. zgwrDdzMessage.GameOutCards = defClass("GameOutCards"
  183. --0 pass 1正常出牌
  184. ,defVar("opType", VT_UChar, 0)
  185. --出的牌 癞子保持0x5D
  186. ,defVar("byOutCard", VT_Vector(VT_UChar), {})
  187. --出的牌 癞子代替具体的牌(0x6X)
  188. ,defVar("byOutCardD", VT_Vector(VT_UChar), {})
  189. )
  190. -- 客户端请求可出的牌的牌组
  191. zgwrDdzMessage.GetOutCards = defClass("GetOutCards"
  192. --出的牌 癞子保持0x5D
  193. ,defVar("byOutCard", VT_Vector(VT_UChar), {})
  194. )
  195. -- 客户端请求可出的牌的牌组结果
  196. zgwrDdzMessage.GetOutCardsResult = defClass("GetOutCardsResult"
  197. ,defVar("userId", VT_Int, 0)
  198. --可出的牌的组合 癞子保持0x5D
  199. ,defVar("byOutCard", VT_Vector(zgwrDdzMessage.GetOutCards), {})
  200. )
  201. -- 服务器返回出牌错误
  202. zgwrDdzMessage.GameOutCardsErr = defClass("GameOutCardsErr"
  203. ,defVar("userId", VT_Int, 0)
  204. ,defVar("errFlag", VT_Short, 0)
  205. )
  206. zgwrDdzMessage.GameBroadcastOutCards = defClass("GameBroadcastOutCards"
  207. --操作玩家ID
  208. ,defVar("userId", VT_Int, 0)
  209. --是否显示地主标签0不显示 1显示
  210. ,defVar("showDzFlag", VT_UChar, 0)
  211. ,defVar("opType", VT_Short, 0)--0:pass 1:接牌
  212. ,defVar("cardType", VT_Short, 0)
  213. ,defVar("leftNum", VT_Short, 0)--出牌者剩余多少张牌
  214. ,defVar("cards", VT_Vector(VT_UChar), {})
  215. )
  216. -- 游戏单局结算
  217. zgwrDdzMessage.UserResult = defClass("UserResult"
  218. ,defVar("userId", VT_Int, 0)
  219. ,defVar("seatId", VT_Short, 0)
  220. ,defVar("turnScore", VT_String, 0)
  221. ,defVar("totalScore", VT_String, 0)
  222. --是否加倍
  223. ,defVar("isMult", VT_Int, 0)
  224. --玩家信息
  225. ,defVar("playInfo", VT_String, "")
  226. --剩余手牌数
  227. ,defVar("leftCards", VT_Vector(VT_UChar), {})
  228. )
  229. zgwrDdzMessage.GameBroadcastResult = defClass("GameBroadcastResult"
  230. --最先出完牌的玩家id
  231. ,defVar("winUserId", VT_Int, 0)
  232. --地主id
  233. ,defVar("lordId", VT_Int, 0)
  234. --暗地主id
  235. ,defVar("darkId", VT_Int, 0)
  236. --基础倍数
  237. ,defVar("baseMult", VT_Short, 0)
  238. --涨水倍数
  239. ,defVar("curMult", VT_Short, 0)
  240. --4张牌炸倍数
  241. ,defVar("fourMult", VT_Short, 0)
  242. --2王炸倍数
  243. ,defVar("twoKMult", VT_Short, 0)
  244. --8张牌炸倍数
  245. ,defVar("eightMult", VT_Short, 0)
  246. --4王炸倍数
  247. ,defVar("fourKMult", VT_Short, 0)
  248. --12张牌炸倍数
  249. ,defVar("twelveMult", VT_Short, 0)
  250. --6王炸倍数
  251. ,defVar("sixKMult", VT_Short, 0)
  252. --是否春天 1:春天 0:什么都不是
  253. ,defVar("spring", VT_Short, 0)
  254. --时间(用不着)
  255. ,defVar("time", VT_Int, 0)
  256. --当前局数
  257. ,defVar("gameStartCount", VT_Int, 0)
  258. --游戏是否结束 0:未结束;1:结束
  259. ,defVar("isGameOver", VT_Short, 0)
  260. ,defVar("players", VT_Vector(zgwrDdzMessage.UserResult), {})
  261. --是否自吃
  262. ,defVar("isSelfEat", VT_Short, 0)
  263. )
  264. -- 游戏大结算
  265. zgwrDdzMessage.GameOverItem = defClass("GameOverItem"
  266. ,defVar("userId", VT_Int, 0)
  267. ,defVar("totalScore", VT_String, 0)
  268. --玩家信息
  269. ,defVar("jsonInfo", VT_String, "")
  270. --保留 json格式
  271. ,defVar("extString", VT_String, "")
  272. )
  273. zgwrDdzMessage.GameGameOver = defClass("GameGameOver"
  274. --房主id
  275. ,defVar("roomOwnedUid", VT_Int, 0)
  276. --游戏结束原因
  277. ,defVar("stopFlag", VT_Int, 0)
  278. --结束时间
  279. ,defVar("endTime", VT_Long, 0)
  280. ,defVar("players", VT_Vector(zgwrDdzMessage.GameOverItem), {})
  281. )
  282. -- 中途恢复
  283. --[[GAME_STATE_INIT, //游戏准备状态
  284. GAME_STATE_SEND_HAND_CARD, //发牌
  285. GAME_STATE_OUT_CARD, //打牌
  286. GAME_STATE_ROUND_OVER, //游戏一局结束
  287. GAME_STATE_GAME_OVER, //游戏结束
  288. ]]
  289. zgwrDdzMessage.GameRecoverItem = defClass("GameRecoverItem"
  290. ,defVar("userId", VT_Int, 0)
  291. ,defVar("seatId", VT_Short, 0)
  292. ,defVar("playFlag", VT_Short, 0)--是否正在玩 -1: 用户站起 0: 用户坐下 1: 准备状态 2: 正在玩
  293. ,defVar("disbandStatus", VT_UChar, 0)--玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散
  294. ,defVar("onlineStatus", VT_UChar, 0)--是否在线 0:离线 1:在线
  295. ,defVar("jsonInfo", VT_String, "")
  296. ,defVar("turnScore", VT_String, 0)--本轮积分
  297. ,defVar("totalScore", VT_String, 0)--总积分
  298. ,defVar("bAskedLord", VT_UChar, 0)--是否叫过地主操作 0:未叫地主,1:等待叫地主,2:操作过叫地主
  299. ,defVar("bAskDouble", VT_UChar, 0)--是否加过倍操作 0:未操作加倍,1:等待加倍,2:操作过加倍
  300. ,defVar("bKnowDarkLord", VT_UChar, 0)--是否知道暗地主玩家
  301. ,defVar("nMult", VT_Int, 0)--玩家加倍数0不加倍1加倍
  302. ,defVar("handCards", VT_Vector(VT_UChar), {})
  303. )
  304. -- 快速开始玩家对应状态
  305. zgwrDdzMessage.FastStartGameUserItem = defClass("FastStartGameUserItem"
  306. ,defVar("userId", VT_Int, 0)
  307. ,defVar("fastStartStatus", VT_Int, 0)
  308. )
  309. --断线重连
  310. zgwrDdzMessage.GameGameRecover = defClass("GameGameRecover"
  311. --房间最大人数
  312. ,defVar("maxPlayCount", VT_Short, 0)
  313. --房主uid
  314. ,defVar("roomOwnedUid", VT_Int, 0)
  315. --开始游戏的uid
  316. ,defVar("startGameUid", VT_Int, 0)
  317. --当前局数
  318. ,defVar("gameStartCount", VT_Short, 0)
  319. ,defVar("totalGamenum", VT_Short, 0)
  320. --游戏信息
  321. ,defVar("gameInfo", VT_String, 0)
  322. --是否申请解散状态
  323. ,defVar("bUserDisbandGame", VT_UChar, 0)
  324. --桌子状态
  325. ,defVar("gameStatus", VT_Short, 0)
  326. ,defVar("leftTimeOut", VT_Int, 0)
  327. --桌子号
  328. ,defVar("nShowTableId", VT_Int, 0)
  329. --总倍数
  330. ,defVar("nHMIShowMult", VT_Int, 0)
  331. --基础倍数
  332. ,defVar("nBaseMult", VT_Int, 0)
  333. --游戏倍数(涨水)
  334. ,defVar("nGameCurMult", VT_Int, 0)
  335. --四张炸倍数
  336. ,defVar("fourBomb", VT_Int, 0)
  337. --双王炸倍数
  338. ,defVar("twoKingBomb", VT_Int, 0)
  339. --八张炸倍数
  340. ,defVar("eightBomb", VT_Int, 0)
  341. --四王炸倍数
  342. ,defVar("fourKingBomb", VT_Int, 0)
  343. --12张炸倍数
  344. ,defVar("twelveBomb", VT_Int, 0)
  345. --6王炸倍数
  346. ,defVar("sixKingBomb", VT_Int, 0)
  347. --16张炸倍数
  348. --,defVar("sixteenBomb", VT_Int, 0)
  349. --游戏底分
  350. ,defVar("nCurBaseScore", VT_Int, 0)
  351. --地主ID
  352. ,defVar("nLordId", VT_Int, 0)
  353. --暗地主ID
  354. ,defVar("nDarkLordId", VT_Int, 0)
  355. --暗地主牌
  356. ,defVar("nDarkLordCard", VT_UChar, 0)
  357. --底牌
  358. ,defVar("diCards", VT_Vector(VT_UChar), {})
  359. --当前桌上最后一手牌是否显示地主标签0不显示1显示
  360. ,defVar("lastShowDzFlag", VT_UChar, 0)
  361. --当前桌上最后一手牌出牌者id
  362. ,defVar("lastOpUid", VT_Int, 0)
  363. --当前桌上最后一手牌牌型
  364. ,defVar("lastOpType", VT_Short, 0)
  365. --当前桌上最后一手牌
  366. ,defVar("lastOutCards", VT_Vector(VT_UChar), {})
  367. ,defVar("recoverItem", VT_Vector(zgwrDdzMessage.GameRecoverItem), {})
  368. ,defVar("curOpUid", VT_Int, 0)
  369. --出牌状态:0-pass 1-可以出牌 2-必须出牌
  370. ,defVar("outCardStates", VT_UChar, 0)
  371. --最先出完牌的玩家id
  372. ,defVar("winUserId", VT_Int, 0)
  373. --是否春天 1:春天 0:什么都不是
  374. ,defVar("spring", VT_Short, 0)
  375. -- 暗地主可选的牌
  376. , defVar("canSelectCards", VT_Vector(VT_UChar), {})
  377. --是否自吃
  378. ,defVar("isSelfEat", VT_Short, 0)
  379. )
  380. -- 0X8109 GAME_CAMMAND_BROADCAST_SCORES
  381. -- 更新玩家分数
  382. zgwrDdzMessage.GameUserScoreItem = defClass("GameUserScoreItem"
  383. ,defVar("userId", VT_Int, 0)
  384. ,defVar("totalScore", VT_Int, 0)
  385. )
  386. zgwrDdzMessage.GameUpdateScore = defClass("GameUpdateScore"
  387. ,defVar("players", VT_Vector(zgwrDdzMessage.GameUserScoreItem), {})
  388. )
  389. -- 广播玩家轮次
  390. zgwrDdzMessage.GameBroadcastTurns = defClass("GameBroadcastTurns"
  391. ,defVar("userId", VT_Int, 0)
  392. ,defVar("opType", VT_Short, 0)
  393. )
  394. --快速开始请求
  395. zgwrDdzMessage.FastStartRequest = defClass("FastStartRequest"
  396. , defVar("result", VT_UChar, 1)
  397. )
  398. --快速开始请求结果
  399. zgwrDdzMessage.FastStartRequestResult = defClass("FastStartRequestResult"
  400. , defVar("result", VT_Short, -1)
  401. )
  402. -- 服务器广播快速开始状态
  403. zgwrDdzMessage.FastPlayer = defClass("FastPlayer"
  404. , defVar("nUserId", VT_Int, 0)
  405. --1:发起申请 2:同意 3:拒绝 4:未操作 5:有人进来或者退出 6:超时未处理
  406. , defVar("nStatus", VT_UChar, 0)
  407. )
  408. -- 服务器广播快速开始状态
  409. zgwrDdzMessage.FastStartStatus = defClass("FastStartStatus"
  410. --发起玩家id
  411. , defVar("nUserId", VT_Int, 0)
  412. --1:发起申请 2:同意 3:拒绝 4:未操作 5:有人进来或者退出 6:超时未处理
  413. , defVar("nStatus", VT_Short, 0)
  414. --玩家操作状态列表
  415. , defVar("pList", VT_Vector(zgwrDdzMessage.FastPlayer), {})
  416. --剩余时间
  417. , defVar("timeOut", VT_Short, 0)
  418. )
  419. -- 游戏快速开始
  420. zgwrDdzMessage.FastSuccessPlayer = defClass("FastSuccessPlayer"
  421. , defVar("nUserId", VT_Int, 0)
  422. , defVar("nSeatId", VT_UChar, 0)
  423. )
  424. -- 游戏快速开始玩家
  425. zgwrDdzMessage.UpdateSeatIds = defClass("UpdateSeatIds"
  426. , defVar("pList", VT_Vector(zgwrDdzMessage.FastSuccessPlayer), {})
  427. )
  428. --server收到0x8060协议后,广播当前桌子上所有用户
  429. zgwrDdzMessage.ServerChangeUserInfo = defClass("ServerChangeUserInfo"
  430. --更新信息的用户uid
  431. , defVar("uid", VT_Int, -1)
  432. --用户信息
  433. , defVar("userInfo", VT_String, "")
  434. --保留字段,暂不使用
  435. , defVar("reserved", VT_String, "")
  436. )
  437. -- 更新游戏状态
  438. zgwrDdzMessage.UpdateGameStatus = defClass("UpdateGameStatus"
  439. -- 游戏状态 WRDDZRoomConfig.GameStatus
  440. ,defVar("gameStatus", VT_Int, -1)
  441. )
  442. -- 更新游戏倍数
  443. zgwrDdzMessage.UpdateGameMult = defClass("UpdateGameMult"
  444. -- 游戏状态 WRDDZRoomConfig.UpdateGameMult
  445. ,defVar("gameMult", VT_Int, -1)
  446. )
  447. -- 通知玩家抢地主
  448. zgwrDdzMessage.NoticeGrabLord = defClass("NoticeGrabLord"
  449. --
  450. ,defVar("userId", VT_Int, -1)
  451. )
  452. -- 玩家请求抢地主
  453. zgwrDdzMessage.GrabLordRequest = defClass("GrabLordRequest"
  454. -- 0 不抢 1抢地主
  455. , defVar("type", VT_UChar, 1)
  456. )
  457. -- 广播抢地主结果
  458. zgwrDdzMessage.BroadGrabLordResult = defClass("BroadGrabLordResult"
  459. ,defVar("userId", VT_Int, -1)
  460. -- 0 不抢 1抢地主
  461. , defVar("opType", VT_UChar, 1)
  462. )
  463. -- 将底牌发给地主
  464. zgwrDdzMessage.SendDiCardsToLord = defClass("SendDiCardsToLord"
  465. ,defVar("userId", VT_Int, -1)
  466. -- 底牌
  467. ,defVar("cards", VT_Vector(VT_UChar), {})
  468. )
  469. -- 通知玩家加倍
  470. zgwrDdzMessage.BroadNoticeDouble = defClass("BroadNoticeDouble"
  471. -- 0 表示广播闲家加倍 1 地主反加倍
  472. ,defVar("isLord", VT_UChar, 1)
  473. -- 地主uID
  474. ,defVar("lordUserId", VT_Int, -1)
  475. )
  476. -- 玩家请求加倍
  477. zgwrDdzMessage.AddMultRequest = defClass("AddMultRequest"
  478. -- 0不加倍 1加倍
  479. , defVar("mult", VT_UChar, -1)
  480. )
  481. -- 广播玩家加倍结果
  482. zgwrDdzMessage.AddMultResult = defClass("AddMultResult"
  483. , defVar("userId", VT_Int, -1)
  484. -- 0不加倍 1加倍
  485. , defVar("opMult", VT_UChar, -1)
  486. )
  487. -- 广播地主选牌(暗地主)
  488. zgwrDdzMessage.BroadLordSelectCard = defClass("BroadLordSelectCard"
  489. -- 庄家ID
  490. , defVar("userId", VT_Int, -1)
  491. -- 可选的牌
  492. , defVar("cards", VT_Vector(VT_UChar), {})
  493. )
  494. -- 选牌
  495. zgwrDdzMessage.Card = defClass("Card"
  496. -- 选择的牌
  497. , defVar("card", VT_UChar, -1)
  498. )
  499. -- 告知暗地主玩家
  500. zgwrDdzMessage.NoticeAnLordPlayer = defClass("NoticeAnLordPlayer"
  501. -- 暗地主id
  502. , defVar("userId", VT_Int, -1)
  503. -- 暗地主座位ID
  504. , defVar("seatId", VT_Short, -1)
  505. )
  506. -- 玩家出牌轮次广播
  507. zgwrDdzMessage.BroadPlayerTurn = defClass("BroadPlayerTurn"
  508. -- 当前轮到出牌的玩家
  509. , defVar("userId", VT_Int, -1)
  510. -- 0:pass;1:可以出牌;2:必须出牌(不能pass)
  511. , defVar("opType", VT_Short, -1)
  512. )
  513. --托管状态
  514. zgwrDdzMessage.HostingResponseEntity = defClass("HostingResponseEntity"
  515. ,defVar("nUserId",VT_Int,0)
  516. --1.托管 0取消托管
  517. ,defVar("status",VT_UChar,0)
  518. ,defVar("ext", VT_String, "")
  519. )
  520. --托管状态(0x8133)
  521. zgwrDdzMessage.HostingResponse = defClass("HostingResponse"
  522. ,defVar("userList", VT_Vector(zgwrDdzMessage.HostingResponseEntity), {})
  523. )
  524. -- 托管请求(0x8134)
  525. zgwrDdzMessage.HostingRequest = defClass("HostingRequest"
  526. , defVar("status", VT_Short, 0)
  527. )
  528. return zgwrDdzMessage