Não pode escolher mais do que 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.

846 linhas
24 KiB

  1. local message={}
  2. -- OtherQiHuTongZhi = defClass("OtherQiHuTongZhi"
  3. -- --弃胡玩家uid
  4. -- , defVar("uid", VT_Int, -1)
  5. -- --玩家操作
  6. -- , defVar("optType", VT_Short, -1)
  7. -- )
  8. -- QiHuSelfResponese = defClass("QiHuSelfResponese"
  9. -- --0: 操作成功 1: 玩家或者桌子状态不对,不需要弃胡操作
  10. -- , defVar("result", VT_Short, -1)
  11. -- --操作 同上
  12. -- , defVar("optType", VT_Short, -1)
  13. -- )
  14. -- SendQiHu = defClass("SendQiHu"
  15. -- --0: 过(即不弃胡) 1: 弃胡
  16. -- , defVar("optType", VT_Short, -1)
  17. -- )
  18. -- DaiXing = defClass("DaiXing"
  19. -- --玩家选中的牌值
  20. -- , defVar("xingCard", VT_UChar, -1)
  21. -- )
  22. -- RequestTingCard = defClass("RequestTingCard"
  23. -- --玩家选中的牌值
  24. -- , defVar("card", VT_UChar, -1)
  25. -- )
  26. message.Card = defClass("card"
  27. --牌值
  28. ,defVar("card", VT_UChar, 0)
  29. )
  30. message.TingCard = defClass("TingCard"
  31. --玩家选中的牌值
  32. , defVar("card", VT_UChar, -1)
  33. --数量
  34. , defVar("count", VT_UChar, -1)
  35. )
  36. message.TingCardResult = defClass("TingCardResult"
  37. --听牌类型 0为普通听牌类型,1为全听,全听时不会具体听牌
  38. , defVar("tingType", VT_UChar, -1)
  39. --听牌列表
  40. , defVar("tingCards",VT_Vector(message.TingCard),{})
  41. )
  42. --是否听牌
  43. message.TingCardStatus = defClass("TingCardResult"
  44. --玩家选中的牌值
  45. , defVar("nTingStatus", VT_UChar, 0)
  46. )
  47. --点击一张牌的听牌信息
  48. message.PushTing= defClass("PushTing"
  49. --玩家选中的牌值
  50. , defVar("card", VT_UChar, 0)
  51. -- , defVar("tingType", VT_UChar, -1)
  52. , defVar("tingCards",VT_Vector(message.TingCard),{})
  53. )
  54. --谁可以听牌
  55. message.Tings= defClass("Tings"
  56. , defVar("nUserId", VT_Int, 0)
  57. , defVar("tings",VT_Vector(message.PushTing),{})
  58. )
  59. -- --server收到0x8060协议后,广播当前桌子上所有用户
  60. message.ServerChangeUserInfo = defClass("ServerChangeUserInfo"
  61. --更新信息的用户uid
  62. , defVar("uid", VT_Int, -1)
  63. --用户信息
  64. , defVar("userInfo", VT_String, "")
  65. --保留字段,暂不使用
  66. , defVar("reserved", VT_String, "")
  67. )
  68. message.UserId = defClass("UserId"
  69. --nUserId
  70. , defVar("nUserId", VT_Int, -1)
  71. )
  72. message.OperateCard = defClass("OperateCard"
  73. -- 牌类型
  74. , defVar("opType", VT_Short, 0)
  75. -- 操作的牌
  76. , defVar("opCard", VT_UChar, 0)
  77. -- 胡数
  78. -- , defVar("hushu", VT_UChar, 0)
  79. -- 第一张牌
  80. -- , defVar("card", VT_UChar, 0)
  81. )
  82. --新加一个带来源的类
  83. message.OperateCard1 = defClass("OperateCard1"
  84. -- 牌类型
  85. , defVar("opType", VT_Short, 0)
  86. -- 操作的牌
  87. , defVar("opCard", VT_UChar, 0)
  88. -- 来源ID
  89. , defVar("fromUserId", VT_Int, -1)
  90. )
  91. --重连回复桌面牌
  92. message.RecoverOperateCard = defClass("RecoverOperateCard"
  93. -- 用户id
  94. , defVar("nUserId", VT_Int, -1)
  95. -- 桌面组合牌
  96. , defVar("operates", VT_Vector(message.OperateCard1), {})
  97. )
  98. -- ChuPaiPlayerOperation = defClass("ChuPaiPlayerOperation"
  99. -- --nUserId
  100. -- , defVar("nUserId", VT_Int, -1)
  101. -- --此用户是否可以操作,0:不可以 1: 可以
  102. -- , defVar("isCanOpereate", VT_UChar, -1)
  103. -- )
  104. -- --玩家出牌成功
  105. message.OutCardSuccess = defClass("OutCardSuccess"
  106. -- 出牌用户id
  107. , defVar("nUserId", VT_Int, -1)
  108. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  109. , defVar("nSeatId", VT_UChar, -1)
  110. -- 出的牌
  111. , defVar("card", VT_UChar, -1)
  112. -- 可以的操作ma
  113. -- , defVar("mainOpCode", VT_Short, -1)
  114. -- 玩家操作
  115. , defVar("operates", VT_Vector(message.OperateCard), {})
  116. )
  117. -- --出牌错误
  118. message.OutCardError = defClass("OutCardError"
  119. -- 牌值
  120. , defVar("result", VT_UChar, -1)
  121. )
  122. -- --出牌
  123. -- message.OutCard = defClass("OutCard"
  124. -- -- 牌值
  125. -- , defVar("nCard", VT_UChar, -1)
  126. -- )
  127. -- MoPaiPlayerOperation = defClass("MoPaiPlayerOperation"
  128. -- --nUserId
  129. -- , defVar("nUserId", VT_Int, -1)
  130. -- --此用户是否可以操作,0:不可以 1: 可以
  131. -- , defVar("isCanOpereate", VT_UChar, -1)
  132. -- )
  133. -- --弃牌
  134. message.QiPai = defClass("QiPai"
  135. -- 弃牌者的id
  136. , defVar("nUserId", VT_Int, -1)
  137. -- 弃牌,一般为抓的牌
  138. , defVar("card", VT_UChar, -1)
  139. )
  140. -- --摸牌
  141. -- MoPai = defClass("MoPai"
  142. -- -- 抓牌者的id
  143. -- , defVar("nUserId", VT_Int, -1)
  144. -- -- 抓的牌
  145. -- , defVar("turnOverCard", VT_UChar, -1)
  146. -- -- 自已可以的操作
  147. -- , defVar("mainOpCode", VT_Short, -1)
  148. -- -- 剩余牌数
  149. -- , defVar("leftCardNum", VT_Short, -1)
  150. -- -- 玩家操作
  151. -- , defVar("operations", VT_Vector(MoPaiPlayerOperation), {})
  152. -- -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  153. -- , defVar("showCardFlag", VT_UChar, -1)
  154. -- )
  155. -- --玩家操作成功的时候操作码合集
  156. -- OperateionCodeSuccessItem = defClass("OperateionCodeSuccessItem"
  157. -- -- 操作者的座位id
  158. -- , defVar("nOperationCode", VT_Short, -1)
  159. -- )
  160. -- --发送操作码成功
  161. message.OperationCodeSuccess = defClass("OperationCodeSuccess"
  162. -- 操作者的id
  163. , defVar("nUserId", VT_Int, -1)
  164. -- 牌类型
  165. , defVar("opType", VT_Short, 0)
  166. -- 操作的牌
  167. , defVar("opCard", VT_UChar, 0)
  168. -- -- 操作的牌(只有天胡时 opCard才为0)
  169. -- , defVar("card", VT_UChar, 0)
  170. -- 表明操作者他是否要出牌
  171. , defVar("isNeedOutCard", VT_UChar, 0)
  172. -- 被操作者座位Id
  173. , defVar("fromSeatId", VT_UChar, -1)
  174. )
  175. -- OperationCodeFirst = defClass("OperationCodeFirst"
  176. -- --nUserId
  177. -- , defVar("nUserId", VT_Int, -1)
  178. -- )
  179. -- message.GameSendOpCode = defClass("GameSendOpCode"
  180. -- -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1
  181. -- , defVar("operateCode", VT_Short,-1)
  182. -- -- 具体的操作码,可多个由opCount取值确定例如: opCount = 2, 则会传两个operateCode过来,此种情况只有在吃牌比牌的情况下存在
  183. -- , defVar("opCardNum", VT_Short,0)
  184. -- )
  185. -- SystemOperationStart = defClass("SystemOperationStart"
  186. -- -- 用户uid
  187. -- , defVar("nUserId", VT_Int, 0)
  188. -- -- 可提牌的数量
  189. -- , defVar("tiPaiList", VT_Vector(weaveCardList), {})
  190. -- -- 可提牌的数量
  191. -- , defVar("shaoList", VT_Vector(weaveCardList), {})
  192. -- --总的胡数
  193. -- , defVar("nTotalHuShu", VT_Short, 0)
  194. -- )
  195. --发牌
  196. message.BankerOutCard = defClass("BankerOutCard"
  197. -- 用户uid
  198. , defVar("nUserId", VT_Int, 0)
  199. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  200. , defVar("nSeatId", VT_UChar, 0)
  201. -- 是否尾部发牌,0为否 1为是
  202. , defVar("isTail", VT_UChar, 0)
  203. , defVar("nLeaveCardNum", VT_Short, 0)
  204. --
  205. , defVar("card", VT_UChar, 0)
  206. -- 庄家操作列表
  207. , defVar("operates", VT_Vector(message.OperateCard), {})
  208. )
  209. -- CardSendListData = defClass("CardSendListData"
  210. -- -- 牌值类型
  211. -- , defVar("type", VT_Short, 0)
  212. -- -- 单张牌值
  213. -- , defVar("card", VT_UChar, 0)
  214. -- )
  215. message.PlayerHandCards= defClass("PlayerHandCards"
  216. -- 用户uid
  217. , defVar("nUserId", VT_Int, 0)
  218. -- 庄家第一张摸的牌
  219. -- , defVar("nbankFirstGrabCard", VT_UChar, 0)
  220. -- 牌值类型列表
  221. , defVar("handCards", VT_Vector(message.Card), {})
  222. )
  223. message.GameSendCardResponse = defClass("GameSendCardResponse"
  224. -- 用户uid
  225. -- , defVar("nUserId", VT_Int, 0)
  226. -- 庄家第一张摸的牌
  227. -- , defVar("nbankFirstGrabCard", VT_UChar, 0)
  228. -- 牌值类型列表
  229. , defVar("playerCards", VT_Vector(message.PlayerHandCards), {})
  230. )
  231. -- -- 收到其他玩家掉线的信息
  232. message.OtherDroppedResponse = defClass("OtherDroppedResponse"
  233. -- 用户uid
  234. , defVar("nUserId", VT_Int, 0)
  235. -- //1在线,0离线
  236. , defVar("nOnlineStatus", VT_Short, 0)
  237. )
  238. -- GameBeginResponse = defClass("GameBeginResponse"
  239. -- --错误类型
  240. -- ,defVar("nErrNo",VT_UChar,0)
  241. -- --可以开始游戏的用户ID
  242. -- ,defVar("nUserId",VT_Int,0)
  243. -- )
  244. message.shuffleList = defClass("shuffleList"
  245. , defVar("nUserId", VT_Int, 0)
  246. -- 是否洗牌
  247. , defVar("bShuffle", VT_UChar, 0)
  248. )
  249. message.GameStartResponse = defClass("GameStartResponse"
  250. -- 局数
  251. , defVar("nGameStartCount", VT_Int, 0)
  252. -- 总的局数
  253. , defVar("nTotalGameNum", VT_Int, 0)
  254. -- 房主uid
  255. , defVar("nRoomOwnedUid", VT_Int, 0)
  256. -- 庄家座位id
  257. , defVar("nBankSeatId", VT_Int, 99)
  258. --玩家是否洗牌
  259. ,defVar("shuffleList",VT_Vector(message.shuffleList),{})
  260. --洗牌消耗数量
  261. ,defVar("shuffleNum", VT_Int, 2)
  262. )
  263. -- --一局结束后弃牌信息
  264. -- BroadcastStopRoundGiveUpCardCount = defClass("BroadcastStopRoundGiveUpCardCount"
  265. -- --弃牌
  266. -- , defVar("giveupChessOpCard", VT_UChar, 0)
  267. -- )
  268. -- 玩家结算信息
  269. message.PlayerResultInfo = defClass("PlayerResultInfo"
  270. --玩家的id
  271. , defVar("nUserId", VT_Int, 0)
  272. --番数
  273. , defVar("fanshu", VT_Int, 0)
  274. --玩家本局输赢情况 0不胡不输 1胡,2点炮或者输
  275. , defVar("result", VT_UChar, 0)
  276. -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
  277. , defVar("huType", VT_Short, 0)
  278. --
  279. -- --玩家总的分数
  280. -- , defVar("nTotalMoney", VT_Int, 0)
  281. -- --玩家碰,吃,哨,串,招个数
  282. -- , defVar("tableWeaveCard", VT_Vector(weaveCardList))
  283. -- --玩家手牌信息
  284. -- , defVar("handCard", VT_Vector(weaveCardList))
  285. -- --玩家弃牌信息
  286. -- , defVar("desertedArea", VT_Vector(BroadcastStopRoundGiveUpCardCount))
  287. )
  288. -- --一局结束后底牌信息列表
  289. -- message.BroadcastStopRoundDipaiList = defClass("BroadcastStopRoundDipaiList"
  290. -- --底牌信息
  291. -- , defVar("chessCards", VT_UChar, 0)
  292. -- )
  293. message.XiaojuPlayerInfo=defClass("GameXiaoJuResponse"
  294. --玩家的id
  295. , defVar("nUserId", VT_Int, 0)
  296. --当前局分数
  297. , defVar("nTurnScore", VT_Int, 0)
  298. --总分
  299. , defVar("nTotalMoney", VT_Int, 0)
  300. --番数
  301. , defVar("fanshu", VT_Int, 0)
  302. --玩家本局输赢情况 0不胡不输 1胡,2点炮或者输
  303. , defVar("result", VT_UChar, 0)
  304. -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
  305. , defVar("huType", VT_Short, 0)
  306. -- 桌面组合牌
  307. ,defVar("gruoupCards",VT_Vector(message.OperateCard),{})
  308. --玩家手牌
  309. ,defVar("handCards",VT_Vector(message.Card),{})
  310. --桌面弃牌
  311. ,defVar("outCards",VT_Vector(message.Card),{})
  312. )
  313. message.GameXiaoJuResponse = defClass("GameXiaoJuResponse"
  314. -- 一局结束的原因
  315. , defVar("stopFlag", VT_UChar, -1)
  316. -- 房间信息
  317. , defVar("strGameInfo", VT_String, "")
  318. --结算信息
  319. , defVar("strResultInfo",VT_String,"")
  320. --玩家信息
  321. , defVar("playerInfos",VT_Vector(message.XiaojuPlayerInfo),{})
  322. --是否大局结束,结束是1
  323. , defVar("isGameOver", VT_Short, 0)
  324. --操作统计
  325. ,defVar("opsCntMapString",VT_String,"")
  326. --分数统计
  327. ,defVar("soreCntMapString",VT_String,"")
  328. )
  329. -- --总结算玩家列表
  330. message.DaJuPlayerInfo = defClass("DaJuPlayerInfo"
  331. --玩家Uid
  332. , defVar("nUserId", VT_Int, 0)
  333. --总输赢分数
  334. , defVar("nTotalScore", VT_Int, 0)
  335. --json格式,暂无数据,后续扩展
  336. , defVar("nTotalInfo", VT_String, 0)
  337. )
  338. message.GameDaJuResponse = defClass("GameDaJuResponse"
  339. --多少个玩家
  340. , defVar("nTotalPlayerInfos", VT_VectorToMap(message.DaJuPlayerInfo,"nUserId"))
  341. )
  342. -- -- 收到其他玩家加入房间的信息
  343. message.OtherSitDownResponse = defClass("OtherSitDownResponse"
  344. -- 用户uid
  345. , defVar("nUserId", VT_Int, 0)
  346. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  347. , defVar("nSeatId", VT_Int, 0)
  348. -- 用户信息
  349. , defVar("userInfo", VT_String, "")
  350. -- 用户总的分数
  351. , defVar("nTotalMoney", VT_Long, 0)
  352. )
  353. -- -- 进入桌子失败
  354. message.SitDownFailedResponse = defClass("SitDownFailedResponse"
  355. -- 错误码
  356. , defVar("nErrorCode", VT_UChar, 0)
  357. )
  358. -- -- 房间中的玩家信息
  359. message.RoomMemberInfo = defClass("RoomMemberInfo"
  360. -- 用户uid
  361. , defVar("nUserId", VT_Int, 0)
  362. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  363. , defVar("nSeatId", VT_Int, -1)
  364. -- 在线状态 0离线 1在线
  365. , defVar("nOnlineStatus", VT_UChar, -1)
  366. -- 是否正在玩 -1: 用户站起 0: 用户坐下 1: 准备状态 2: 正在玩
  367. , defVar("nPlayerFlag", VT_UChar, 0)
  368. -- 用户信息
  369. , defVar("userInfo", VT_String, "")
  370. -- 用户总的分数
  371. , defVar("nTotalMoney", VT_Int, 0)
  372. )
  373. -- -- 用户在桌子上坐下成功协议
  374. message.SitDownSuccessResponse = defClass("SitDownSuccessResponse"
  375. -- 用户房间号
  376. , defVar("gameId", VT_Short, 0)
  377. -- 用户房间号
  378. , defVar("nShowTableId", VT_Int, 0)
  379. -- 房间最大人数
  380. , defVar("nMaxPlayCount", VT_Int, 0)
  381. -- 用户房主
  382. , defVar("nRoomOwnedUid", VT_Int, 0)
  383. -- 总的局数
  384. , defVar("nTotalGameNum", VT_Short, 0)
  385. -- 底注
  386. , defVar("nBaseChips", VT_Int, 0)
  387. -- 房间信息
  388. , defVar("strGameInfo", VT_String, "")
  389. -- 玩家数量
  390. -- , defVar("nPlayerCount", VT_Short, "")
  391. -- 用户
  392. , defVar("memberList", VT_VectorToMap(message.RoomMemberInfo, "nUserId"))
  393. )
  394. -- --玩家打出的牌
  395. -- message. = defClass("DesertedAreaVector"
  396. -- --玩家弃牌区的牌
  397. -- ,defVar("card", VT_UChar, 0)
  398. -- )
  399. message.QiangGangHu = defClass("qiangGangHu"
  400. --
  401. , defVar("opType", VT_Short, 0)
  402. --
  403. , defVar("opCard", VT_UChar, 0)
  404. )
  405. -- -- 玩家的牌桌信息
  406. message.playerInfo = defClass("playerInfo"
  407. --用户的USER ID
  408. , defVar("nUserId", VT_Int, 0)
  409. --用户的TABLE ID
  410. , defVar("nSeatId", VT_UChar, 0)
  411. --用户的游戏状态标识
  412. , defVar("nPlayerFlag", VT_UChar, 0)
  413. --玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散
  414. , defVar("nDisbandStatus", VT_UChar, 255)
  415. --是否在线 0:离线 1:在线
  416. , defVar("nOnlineStatus", VT_UChar, 255)
  417. --用户信息
  418. , defVar("userInfo", VT_String, "")
  419. --当前局分数
  420. , defVar("nTurnScore", VT_Int, -1)
  421. --总分
  422. , defVar("nTotalMoney", VT_Int, -1)
  423. --听牌状态,1听牌状态,0不听牌
  424. , defVar("nTingStatus", VT_UChar, 0)
  425. --是否可以操作,用于闹钟 此用户是否可以操作,0:不可以 1: 可以
  426. -- , defVar("isCanOperate", VT_UChar, 255)
  427. -- -- 弃胡玩家弃胡状态 0: 无弃胡 1:待弃胡 2: 已弃胡 (当玩家需要出牌且此值为1时则展示弃胡按钮提示玩家是否弃胡)
  428. -- , defVar("nQiHuStatus", VT_Short, 0)
  429. -- 桌面组合牌
  430. ,defVar("gruoupCards",VT_Vector(message.OperateCard),{})
  431. --玩家手牌
  432. ,defVar("handCards",VT_Vector(message.Card),{})
  433. --桌面弃牌
  434. ,defVar("outCards",VT_Vector(message.Card),{})
  435. )
  436. -- --断线重连
  437. message.GameReconnection = defClass("GameReconnection"
  438. -- 用户房间号
  439. , defVar("gameId", VT_Short, 0)
  440. -- 用户房间号
  441. , defVar("nShowTableId", VT_Int, 0)
  442. -- 房间最大人数
  443. , defVar("nMaxPlayCount", VT_Int, 0)
  444. -- 用户房主
  445. , defVar("nRoomOwnedUid", VT_Int, 0)
  446. -- 总的局数
  447. , defVar("nTotalGameNum", VT_Short, 0)
  448. --底注
  449. , defVar("nBaseChips", VT_Int, 0)
  450. -- 游戏信息
  451. , defVar("strGameInfo", VT_String, "")
  452. -- 当前局数
  453. , defVar("nGameStartCount", VT_Short, 0)
  454. -- 游戏状态
  455. , defVar("nStatus", VT_UChar, 0)
  456. -- 庄家座位
  457. , defVar("nBankSeatId", VT_UChar, 0)
  458. -- 我的座位
  459. , defVar("nMySeatId", VT_UChar, 0)
  460. -- 是否有人发起解散
  461. , defVar("bUserDisbandGame", VT_UChar, 0)
  462. -- 解散剩余时间,没人发起解散,此值为0
  463. , defVar("nDismissStateTime", VT_Int, 0)
  464. --
  465. -- , defVar("userCount", VT_Short, 0)
  466. -- -- 牌桌信息
  467. -- , defVar("usersInfo",VT_Vector())
  468. ,defVar("playerInfos", VT_VectorToMap(message.playerInfo, "nUserId"))
  469. -- --剩余的底牌
  470. ,defVar("leaveCards",VT_Vector(message.Card))
  471. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  472. ,defVar("outCardUserId",VT_Int,0)
  473. -- --亮出的牌(庄家的天胡的操作状态时showCard == 0)
  474. -- ,defVar("showCard",VT_UChar,0)
  475. -- --自己的操作码
  476. -- ,defVar("mainOpCode",VT_Short,0)
  477. -- --是否已经操作过 0表示没用,非0表示已经提交了操作
  478. -- ,defVar("isSubmitOp",VT_UChar,255)
  479. -- -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  480. -- , defVar("showCardFlag", VT_UChar, -1)
  481. -- --[[
  482. -- state:
  483. -- GAME_STATUS_WAIT_OUT_CARDS
  484. -- ]]
  485. --出牌者的seatId
  486. ,defVar("outCardSeatId",VT_UChar,255)
  487. -- --出牌者上一次的操作
  488. -- ,defVar("lastOperate",VT_Short,-1)
  489. -- --出牌者上一次操作了虾米牌
  490. ,defVar("lastOpCard",VT_UChar,255)
  491. --操作列表
  492. ,defVar("operates",VT_Vector(message.OperateCard),{})
  493. --出牌ID
  494. ,defVar("needOutCardId",VT_Int,0)
  495. --上次出的牌
  496. ,defVar("lastOutCardId",VT_Int,0)
  497. --上次出的牌
  498. ,defVar("lastOutCard",VT_UChar,0)
  499. --
  500. ,defVar("stopFlag",VT_UChar,255)
  501. --结算信息
  502. ,defVar("strResultInfo",VT_String,"")
  503. --结算玩家列表
  504. ,defVar("resultInfos",VT_Vector(message.PlayerResultInfo))
  505. --操作统计
  506. ,defVar("opsCntMapString",VT_String,"")
  507. --分数统计
  508. ,defVar("soreCntMapString",VT_String,"")
  509. -- --[[
  510. -- state:
  511. -- GAME_STATUS_AUTO_DISCSRD
  512. -- ]]
  513. -- --弃牌者的seatId
  514. -- ,defVar("disCardSeatId",VT_UChar,255)
  515. -- --要弃的牌(即别人出的牌或翻的牌)
  516. -- ,defVar("disCard",VT_UChar,255)
  517. -- --一局结束原因
  518. -- ,defVar("stopFlag",VT_UChar,255)
  519. -- --赢家uid, -1则表示黄局 (对于黄局下面4个字段是无用的)
  520. -- ,defVar("winUserId",VT_Int,255)
  521. -- --点炮胡时,表示为点炮用户,赔包子时为吃包子用户,自摸胡时此值无意义
  522. -- ,defVar("dianPaoUserId",VT_Int,255)
  523. -- --胡数
  524. -- ,defVar("huShu",VT_UChar,255)
  525. -- --胡的类型(如地胡、抬炮胡等)
  526. -- ,defVar("huType",VT_Short,255)
  527. -- --倍数
  528. -- ,defVar("multiNum",VT_UChar,255)
  529. -- --醒牌
  530. -- ,defVar("xingCard",VT_UChar,255)
  531. -- --醒的倍数
  532. -- ,defVar("xingCardNum",VT_UChar,255)
  533. -- --胡的牌
  534. -- ,defVar("huCard",VT_UChar,255)
  535. -- --听牌张数
  536. -- ,defVar("tingCards",VT_Vector(TingCard),{})
  537. -- --解散总时间
  538. -- ,defVar("nDismissToTalTime",VT_Short,0)
  539. )
  540. -- -- 本地存储完整的房间数据
  541. message.RoomInfoLocal = defClass("RoomInfoLocal"
  542. -- 用户房间号
  543. , defVar("nShowTableId", VT_Int, 0)
  544. -- 房间最大人数
  545. , defVar("nMaxPlayCount", VT_Int, 0)
  546. -- 用户房主
  547. , defVar("nRoomOwnedUid", VT_Int, 0)
  548. -- 总的局数
  549. , defVar("nTotalGameNum", VT_Short, 0)
  550. -- 房间信息
  551. , defVar("strGameInfo", VT_String, "")
  552. -- 用户
  553. -- , defVar("memberList", VT_VectorToMap(message.RoomMemberInfo, "nUserId"))
  554. -- 当前局数
  555. , defVar("nGameStartCount", VT_Short, 0)
  556. -- 庄家座位id
  557. , defVar("nBankSeatId", VT_UChar, 99)
  558. -- 庄家第一张摸的牌
  559. , defVar("nbankFirstGrabCard", VT_UChar, 0)
  560. -- 游戏状态
  561. , defVar("nStatus", VT_UChar, 0)
  562. -- 是否有人发起解散
  563. , defVar("bUserDisbandGame", VT_UChar, 0)
  564. -- 解散剩余时间,没人发起解散,此值为0
  565. , defVar("nDismissStateTime", VT_Int, 0)
  566. -- 牌桌信息
  567. -- , defVar("arrayTableInfo", VT_VectorToMap(message.CardTableInfo, "nUserId"))
  568. --底牌信息
  569. -- ,defVar("dipaiList",VT_Vector(message.BroadcastStopRoundDipaiList))
  570. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  571. ,defVar("showCardSeatId",VT_UChar,0)
  572. --亮出的牌(庄家的天胡的操作状态时showCard == 0)
  573. ,defVar("showCard",VT_UChar,0)
  574. --自己的操作码
  575. ,defVar("mainOpCode",VT_Short,0)
  576. --是否已经操作过 0表示没用,非0表示已经提交了操作
  577. ,defVar("isSubmitOp",VT_UChar,255)
  578. -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能
  579. , defVar("showCardFlag", VT_UChar, -1)
  580. --[[
  581. state:
  582. GAME_STATUS_WAIT_OUT_CARDS
  583. -- ]]
  584. --出牌者的seatId
  585. ,defVar("outCardSeatId",VT_UChar,255)
  586. --出牌者上一次的操作
  587. ,defVar("lastOperate",VT_Short,-1)
  588. --出牌者上一次操作了虾米牌
  589. ,defVar("lastOpCard",VT_UChar,255)
  590. --[[
  591. state:
  592. GAME_STATUS_AUTO_DISCSRD
  593. ]]
  594. --弃牌者的seatId
  595. ,defVar("disCardSeatId",VT_UChar,255)
  596. --要弃的牌(即别人出的牌或翻的牌)
  597. ,defVar("disCard",VT_UChar,255)
  598. --一局结束原因
  599. ,defVar("stopFlag",VT_UChar,255)
  600. --赢家uid, -1则表示黄局 (对于黄局下面4个字段是无用的)
  601. ,defVar("winUserId",VT_Int,255)
  602. --点炮胡时,表示为点炮用户,赔包子时为吃包子用户,自摸胡时此值无意义
  603. ,defVar("dianPaoUserId",VT_Int,255)
  604. --胡数
  605. ,defVar("huShu",VT_UChar,255)
  606. --胡的类型(如地胡、抬炮胡等)
  607. ,defVar("huType",VT_UChar,255)
  608. --倍数
  609. ,defVar("multiNum",VT_UChar,255)
  610. --醒牌
  611. ,defVar("xingCard",VT_UChar,255)
  612. --醒的倍数
  613. ,defVar("xingCardNum",VT_UChar,255)
  614. --胡的牌
  615. ,defVar("huCard",VT_UChar,255)
  616. --多少个玩家
  617. -- , defVar("playList", VT_Vector(message.BroadcastStopRoundPlayList))
  618. --是否大局结束,结束是1
  619. , defVar("isGameOver", VT_Short, 0)
  620. --听牌张数
  621. -- ,defVar("tingCards",VT_Vector(message.TingCard),{})
  622. --解散总时间
  623. ,defVar("nDismissToTalTime",VT_Short,0)
  624. )
  625. -- -- 解散房间请求
  626. message.DismissRequest = defClass("DismissRequest"
  627. -- 玩家操作 1: 表示发起解散 2:同意解散 3:不同意解散
  628. , defVar("operateType", VT_UChar, 0)
  629. )
  630. -- -- 每个玩家对于解散房间的处理
  631. message.UserDismissResult = defClass("UserDismissResult"
  632. -- nUserId
  633. , defVar("nUserId", VT_Int, 0)
  634. -- 0: 未做任何操作 1: 请求解散 2: 同意解散 3:不同意解散
  635. , defVar("dismissState", VT_UChar, 0)
  636. )
  637. -- -- 解散房间请求的结果
  638. message.DismissResult = defClass("DismissResult"
  639. -- 错误码:
  640. -- 0:成功
  641. -- 1:operateType取值范围不对
  642. -- 2:当前没人发起解散
  643. -- 3:已经有人申请解散
  644. , defVar("errorCode", VT_Short, 0)
  645. -- 玩家操作
  646. , defVar("operateType", VT_Int, 0)
  647. -- 桌子上其他用户数量
  648. , defVar("memberList", VT_VectorToMap(message.UserDismissResult, "nUserId"))
  649. -- 剩余解散超时时间
  650. , defVar("timeLeft", VT_Short, 0)
  651. )
  652. -- -- 服务器广播每个玩家对解散房间的处理
  653. message.DismissResponse = defClass("DismissResponse"
  654. -- nUserId
  655. , defVar("nUserId", VT_Int, 0)
  656. -- 1: 表示发起解散 2:同意解散 3:不同意解散
  657. , defVar("operateType", VT_UChar, 0)
  658. -- 剩余解散超时时间
  659. , defVar("timeLeft", VT_Short, 0)
  660. )
  661. -- -- 退出房间成功,则读取房间数据
  662. message.UserExitResponse = defClass("UserExitResponse"
  663. -- 用户当前积分
  664. , defVar("nTotalMoney", VT_Long, 0)
  665. -- 用户的房卡信息,格式"10,5", 以逗号分隔,第一个表示历史房卡数量, 第二个表示当前房卡数量
  666. , defVar("userInfo", VT_String, "")
  667. -- 是否要求用户退出,返回大厅,0: 不退出, 1: 退出
  668. , defVar("logoutFlag", VT_Short, 0)
  669. )
  670. -- -- 收到其他玩家退出房间的信息
  671. message.OtherLogoutResponse = defClass("OtherLogoutResponse"
  672. -- 用户uid
  673. , defVar("nUserId", VT_Int, 0)
  674. )
  675. -- 快速开始请求 --0x8200
  676. --[[
  677. FAST_START_REQ_TYPE_START = 1, //请求开始游戏
  678. FAST_START_REQ_TYPE_AGREE = 2, //同意开始游戏
  679. FAST_START_REQ_TYPE_DISAGREE = 3, //拒绝开始游戏
  680. --]]
  681. message.FastStartRequest = defClass("FastStartRequest"
  682. , defVar("tp", VT_UChar, 0)
  683. )
  684. -- 快速开始请求结果(失败) --0x8202
  685. --[[
  686. FAST_START_GAME_RET_NOT_ENOUGH = 1, //人数不够
  687. FAST_START_GAME_OTHER_REQ = 2, //其他人已请求
  688. FAST_START_GAME_RET_ENOUGH = 3, //人数已满
  689. FAST_START_GAME_RET_INVALID = 4, //非法操作
  690. --]]
  691. message.FastStartRequestError = defClass("FastStartRequestError"
  692. , defVar("result", VT_Short, -1)
  693. )
  694. -- 服务器广播快速开始状态(成功) --0x8201
  695. --[[ nStatus:
  696. FAST_START_REQ_TYPE_START = 1, //请求开始游戏
  697. FAST_START_REQ_TYPE_AGREE = 2, //同意开始游戏
  698. FAST_START_REQ_TYPE_DISAGREE = 3, //拒绝开始游戏
  699. FAST_START_REQ_TYPE_INIT = 4,
  700. FAST_START_REQ_TYPE_NEW_OR_OUT = 5, //有人进来或者退出
  701. FAST_START_REQ_TYPE_TIMEOUT = 6,
  702. --]]
  703. message.FastPlayer = defClass("FastPlayer"
  704. , defVar("nUserId", VT_Int, 0)
  705. , defVar("nStatus", VT_UChar, 0)
  706. )
  707. message.FastStartStatus = defClass("FastStartStatus"
  708. , defVar("nUserId", VT_Int, 0)
  709. , defVar("nStatus", VT_Short, 0)
  710. , defVar("pList", VT_Vector(message.FastPlayer), {})
  711. , defVar("timeOut", VT_Short, 0)
  712. )
  713. -- 快速开始,所有人同意,广播用户新位置
  714. message.FastSuccessPlayer = defClass("FastSuccessPlayer"
  715. , defVar("nUserId", VT_Int, 0)
  716. , defVar("nSeatId", VT_UChar, 0)
  717. )
  718. message.UpdateSeatIds = defClass("UpdateSeatIds"
  719. , defVar("pList", VT_Vector(message.FastSuccessPlayer), {})
  720. )
  721. -- 同步托管倒计时
  722. message.UpdateDirectionTime = defClass("UpdateDirectionTime"
  723. , defVar("nTime", VT_Int, 0)
  724. )
  725. --托管状态
  726. message.HostingRequest = defClass("HostingRequest"
  727. ,defVar("nUserId",VT_Int,0)
  728. --1.托管 0取消托管
  729. ,defVar("status",VT_Short,0)
  730. )
  731. message.UserPass = defClass("UserPass"
  732. , defVar("nUserId", VT_Int, 0)
  733. )
  734. -- 首次听牌提示
  735. message.FirstTingTips = defClass("FirstTingTips"
  736. --, defVar("nTime", VT_Int, 0
  737. )
  738. -- 开局后后台推送的信息
  739. message.GameInfoChange = defClass("GameInfoChange"
  740. -- 游戏信息
  741. , defVar("gameInfoChange", VT_String, "")
  742. )
  743. return message