25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

672 lines
19 KiB

  1. local message=MJFramework.MJFrameworkClassImprot("mj.luaScript.Protocol.MJMessage")
  2. message.TingCard = defClass("TingCard"
  3. --玩家选中的牌值
  4. , defVar("card", VT_UChar, -1)
  5. --数量
  6. , defVar("count", VT_UChar, -1)
  7. --番数
  8. , defVar("fanshu", VT_Int, 0)
  9. )
  10. message.TingCardResult = defClass("TingCardResult"
  11. --听牌类型 0为普通听牌类型,1为全听,全听时不会具体听牌
  12. , defVar("tingType", VT_UChar, -1)
  13. --听牌列表
  14. , defVar("tingCards",VT_Vector(message.TingCard),{})
  15. )
  16. --服务器通知庄家是否可以爆牌
  17. message.BankerBaoPai = defClass("BankerBaoPai"
  18. ,defVar("nUserId",VT_Int ,-1)
  19. )
  20. --请求爆牌
  21. message.BaoPaiRequest=defClass("BaoPaiRequest"
  22. ,defVar("isBaoPai",VT_UChar ,0)
  23. )
  24. --服务器广播爆牌
  25. message.BaoPaiResponse = defClass("BaoPaiResponse"
  26. --哪个玩家爆牌
  27. ,defVar("nUserId",VT_Int ,-1)
  28. ,defVar("isBaoPai",VT_Short ,0)
  29. )
  30. message.PushCard = defClass("PushCard"
  31. --出的牌
  32. , defVar("outCard", VT_UChar,0)
  33. --听牌列表
  34. , defVar("tingCards",VT_Vector(message.TingCard),{})
  35. )
  36. message.OutCardTingInfo = defClass("OutCardTingInfo"
  37. , defVar("pushTing",VT_Vector(message.PushCard),{})
  38. )
  39. --鬼麻将红中可以吃碰杠
  40. message.OperateCard = defClass("OperateCard"
  41. , defVar("opType", VT_Short, 0)
  42. -- 操作的牌
  43. , defVar("opCard", VT_UChar, 0)
  44. -- 操作牌中红中的个数
  45. --, defVar("redNum", VT_UChar, 0)
  46. -- 操作牌中是否含有红中 0表示无 1有 2左侧,例如吃2,3吃1
  47. --, defVar("isUseRed", VT_Short, 0)
  48. )
  49. --血流小结算的胡牌数据
  50. message.UserHuPaiInfo = defClass("UserHuPaiInfo"
  51. -- , defVar("opType", VT_Short, 0) --WriteShort
  52. -- 操作的牌
  53. -- , defVar("opCard", VT_UChar, 0) --WriteByte
  54. , defVar("huType", VT_Short, 0) --//自摸还是接炮
  55. , defVar("fanShu", VT_Short, 0) --//番数(保留暂时不用)
  56. , defVar("paiType", VT_Short, 0) --//牌的类型,平胡、7对胡等
  57. --[[, defVar("huCard", VT_UChar, 0) --//胡什么牌--]]
  58. -- , defVar("card", VT_UChar, 0) --//胡什么牌
  59. , defVar("huCard", VT_UChar, 0) --//胡什么牌
  60. , defVar("fangpaoId", VT_UChar, 0) --//放炮id 0:自摸 XX:放炮人id
  61. , defVar("subPaiType", VT_UChar, 0) --//子胡牌类型(天胡、地胡)
  62. , defVar("isJinGouDiao", VT_UChar, 0) --//是否金钩钩
  63. , defVar("isHaiDiLaoYue", VT_UChar, 0) --//是否海底捞月
  64. , defVar("isHaiDiPao", VT_UChar, 0) --//是否海底炮
  65. , defVar("isGangShangKaiHua", VT_UChar, 0) --//是否杠上开花
  66. , defVar("isGangShangPao", VT_UChar, 0) --//是否杠上炮
  67. , defVar("isQiangGangHu", VT_UChar, 0) --//是否抢杠胡
  68. , defVar("isMenQing", VT_UChar, 0) --//是否门清
  69. , defVar("isZhongZhang", VT_UChar, 0) --//是否中张
  70. )
  71. message.OperateRequest= defClass("OperateRequest"
  72. -- 牌类型
  73. , defVar("opType", VT_Short, 0)
  74. -- 操作的牌
  75. , defVar("opCard", VT_UChar, 0)
  76. -- 原始操作数的个数
  77. --, defVar("opNum", VT_Short, 0)
  78. -- 原始操作数
  79. , defVar("operates", VT_Vector(message.OperateCard), {})
  80. )
  81. --新加一个带来源的类
  82. message.OperateCard1 = defClass("OperateCard1"
  83. -- 牌类型
  84. , defVar("opType", VT_Short, 0)
  85. -- 操作的牌
  86. , defVar("opCard", VT_UChar, 0)
  87. -- 无用字段
  88. , defVar("redNum", VT_UChar, 0)
  89. -- 无用字段
  90. , defVar("isUseRed", VT_Short, 0)
  91. -- 来源ID
  92. , defVar("fromUserId", VT_Int, -1)
  93. )
  94. message.PlayerHandCards= defClass("PlayerHandCards"
  95. -- 用户uid
  96. , defVar("nUserId", VT_Int, 0)
  97. --根据听牌状态判断是否可以爆牌
  98. --, defVar("isTing", VT_Short, 0)
  99. -- 牌值类型列表
  100. , defVar("handCards", VT_Vector(message.Card), {})
  101. )
  102. message.GameSendCardResponse = defClass("GameSendCardResponse"
  103. -- 用户uid
  104. -- , defVar("nUserId", VT_Int, 0)
  105. -- 庄家第一张摸的牌
  106. -- , defVar("nbankFirstGrabCard", VT_UChar, 0)
  107. -- 牌值类型列表
  108. , defVar("playerCards", VT_Vector(message.PlayerHandCards), {})
  109. )
  110. --发牌
  111. message.BankerOutCard = defClass("BankerOutCard"
  112. -- 用户uid
  113. , defVar("nUserId", VT_Int, 0)
  114. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  115. , defVar("nSeatId", VT_UChar, 0)
  116. -- 是否尾部发牌,0为否 1为是
  117. , defVar("isTail", VT_UChar, 0)
  118. , defVar("nLeaveCardNum", VT_Short, 0)
  119. --
  120. , defVar("card", VT_UChar, 0)
  121. -- 庄家操作列表
  122. , defVar("operates", VT_Vector(message.OperateCard), {})
  123. --共多少手牌出牌后形成听牌状态
  124. , defVar("pushCardTing",VT_Vector(message.PushCard))
  125. )
  126. -- --玩家出牌成功
  127. message.OutCardSuccess = defClass("OutCardSuccess"
  128. -- 出牌用户id
  129. , defVar("nUserId", VT_Int, -1)
  130. -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1
  131. , defVar("nSeatId", VT_UChar, -1)
  132. -- 出的牌
  133. , defVar("card", VT_UChar, -1)
  134. -- 可以的操作ma
  135. -- , defVar("mainOpCode", VT_Short, -1)
  136. -- 玩家操作
  137. , defVar("operates", VT_Vector(message.OperateCard), {})
  138. )
  139. -- --发送操作码成功
  140. message.OperationCodeSuccess = defClass("OperationCodeSuccess"
  141. -- 操作者的id
  142. , defVar("nUserId", VT_Int, -1)
  143. -- 牌类型
  144. , defVar("opType", VT_Short, 0)
  145. -- 操作的牌
  146. , defVar("opCard", VT_UChar, 0)
  147. -- -- 操作的牌(只有天胡时 opCard才为0)
  148. -- , defVar("card", VT_UChar, 0)
  149. -- 表明操作者他是否要出牌
  150. , defVar("isNeedOutCard", VT_UChar, 0)
  151. -- 被操作者座位Id
  152. , defVar("fromSeatId", VT_UChar, -1)
  153. --使用的红中数量
  154. --, defVar("redNum", VT_UChar, 0)
  155. )
  156. -- 玩家的牌桌信息
  157. message.playerInfo = defClass("playerInfo"
  158. --用户的USER ID
  159. , defVar("nUserId", VT_Int, 0)
  160. --用户的TABLE ID
  161. , defVar("nSeatId", VT_UChar, 0)
  162. --用户的游戏状态标识
  163. , defVar("nPlayerFlag", VT_UChar, 0)
  164. --玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散
  165. , defVar("nDisbandStatus", VT_UChar, 255)
  166. --是否在线 0:离线 1:在线
  167. , defVar("nOnlineStatus", VT_UChar, 255)
  168. --用户信息
  169. , defVar("userInfo", VT_String, "")
  170. --当前局分数
  171. , defVar("nTurnScore", VT_Int, -1)
  172. --总分
  173. , defVar("nTotalMoney", VT_Int, -1)
  174. --番数
  175. , defVar("fanshu", VT_Int, -1)
  176. -- 桌面组合牌
  177. ,defVar("gruoupCards",VT_Vector(message.OperateCard),{})
  178. --玩家手牌
  179. ,defVar("handCards",VT_Vector(message.Card),{})
  180. --桌面弃牌
  181. ,defVar("outCards",VT_Vector(message.Card),{})
  182. --是否换过牌
  183. ,defVar("isSwapCard",VT_UChar,0)
  184. --是否定缺
  185. ,defVar("isDingQue",VT_UChar,0)
  186. --定缺牌类型 0万 1筒 2条
  187. ,defVar("nQue",VT_UChar,0)
  188. --是否查叫
  189. ,defVar("isDj",VT_UChar,0)
  190. --是否花猪
  191. ,defVar("isHz",VT_UChar,0)
  192. --点炮次数
  193. ,defVar("dpCount",VT_Short,0)
  194. --点炮顺序
  195. ,defVar("dpOrder",VT_Short,0)
  196. -- 杠信息
  197. --, defVar("gangInfo", VT_String, "")
  198. --保留
  199. --,defVar("extJson",VT_String,"")
  200. )
  201. message.PlayerResultInfo = defClass("PlayerResultInfo"
  202. --玩家的id
  203. , defVar("nUserId", VT_Int, 0)
  204. --1胡牌 2听叫 0默认
  205. , defVar("userStatus", VT_UChar, 0)
  206. -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
  207. , defVar("huType", VT_Short, 0)
  208. --胡的牌
  209. , defVar("huCard", VT_UChar, 0)
  210. --胡牌顺序
  211. , defVar("huOrder", VT_UChar, 0)
  212. --胡牌类型 点炮 or 自摸
  213. , defVar("result", VT_Short, 0)
  214. --子胡牌类型(天胡、地胡等)
  215. , defVar("subPaiType", VT_UChar, 0)
  216. --谁点炮
  217. , defVar("dpSeatId", VT_UChar, -1)
  218. --根次数
  219. , defVar("genCount", VT_UChar, 0)
  220. --是否绝张
  221. , defVar("isJueZhang", VT_UChar, 0)
  222. --是否金钩钓
  223. , defVar("isJinGouDiao", VT_UChar, 0)
  224. --是否海底捞月
  225. , defVar("isHaiDiLaoYue", VT_UChar, 0)
  226. --是否海底炮
  227. , defVar("isHaiDiPao", VT_UChar, 0)
  228. --是否杠上开花
  229. , defVar("isGangShangKaiHua", VT_UChar, 0)
  230. --是否杠上炮
  231. , defVar("isGangShangPao", VT_UChar, 0)
  232. --是否抢杠胡
  233. , defVar("isQiangGangHu", VT_UChar, 0)
  234. --是否门清
  235. , defVar("isMenQing", VT_UChar, 0)
  236. --是否中张
  237. , defVar("isZhongZhang", VT_UChar, 0)
  238. --是否死叫
  239. , defVar("isSiJiao",VT_UChar,0)
  240. --todo lwq new add
  241. -- , defVar("hupaiInfoSize",VT_UChar,0)
  242. , defVar("hupaiInfo",VT_Vector(message.UserHuPaiInfo),{})
  243. --拓展字段
  244. , defVar("extJson",VT_String,"")
  245. )
  246. -- 玩家的爆牌信息
  247. message.playerBaoInfo = defClass("playerBaoInfo"
  248. --用户的USER ID
  249. , defVar("nUserId", VT_Int, 0)
  250. --爆牌状态 1 报叫 2 没报
  251. ,defVar("isBaoPai",VT_Short,0)
  252. --是否可以爆牌
  253. ,defVar("canBaoPai",VT_UChar,255)
  254. )
  255. -- --断线重连
  256. message.GameReconnection = defClass("GameReconnection"
  257. -- 用户房间号
  258. , defVar("gameId", VT_Short, 0)
  259. -- 用户房间号
  260. , defVar("nShowTableId", VT_Int, 0)
  261. -- 房间最大人数
  262. , defVar("nMaxPlayCount", VT_Int, 0)
  263. -- 用户房主
  264. , defVar("nRoomOwnedUid", VT_Int, 0)
  265. -- 总的局数
  266. , defVar("nTotalGameNum", VT_Short, 0)
  267. --底注
  268. , defVar("nBaseChips", VT_Int, 0)
  269. -- 游戏信息
  270. , defVar("strGameInfo", VT_String, "")
  271. -- 当前局数
  272. , defVar("nGameStartCount", VT_Short, 0)
  273. -- 游戏状态
  274. , defVar("nStatus", VT_UChar, 0)
  275. -- 庄家座位
  276. , defVar("nBankSeatId", VT_UChar, 0)
  277. -- 我的座位
  278. , defVar("nMySeatId", VT_UChar, 0)
  279. -- 是否有人发起解散
  280. , defVar("bUserDisbandGame", VT_UChar, 0)
  281. -- 解散剩余时间,没人发起解散,此值为0
  282. , defVar("nDismissStateTime", VT_Int, 0)
  283. -- 牌桌信息
  284. ,defVar("playerInfos", VT_VectorToMap(message.playerInfo, "nUserId"))
  285. -- --剩余的底牌
  286. ,defVar("leaveCards",VT_Vector(message.Card))
  287. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  288. ,defVar("outCardUserId",VT_Int,0)
  289. --出牌者的seatId
  290. ,defVar("outCardSeatId",VT_UChar,255)
  291. --当前发的牌或者出的牌
  292. ,defVar("lastOpCard",VT_UChar,255)
  293. --操作列表
  294. ,defVar("operates",VT_Vector(message.OperateCard),{})
  295. --是否需要出牌 1需要 0不需要
  296. ,defVar("isNeedOutCard",VT_UChar,0)
  297. --游戏结束标志 0正常结束 7黄庄 8长时间自动解散 9解散游戏
  298. ,defVar("stopFlag",VT_UChar,255)
  299. --胡牌玩家列表
  300. ,defVar("resultInfos",VT_VectorToMap(message.PlayerResultInfo,"nUserId"))
  301. --操作统计 "diangang_cnt":1, //点杠次数 "mgang":1, //明杠次数 "bgang":1, //巴杠次数 "agang":1, //暗杠次数
  302. ,defVar("opsCntMapString",VT_String,"")
  303. --听牌状态
  304. ,defVar("tingStatus",VT_UChar,0)
  305. --听牌信息
  306. ,defVar("tingCard",VT_Vector(message.PushCard),{})
  307. --是否在快开始界面,1是0否
  308. ,defVar("bUserFastStartGame",VT_UChar,0)
  309. --当前快速开始等待时间
  310. ,defVar("leftFastStartGameTime",VT_Int,0)
  311. --快速开始状态
  312. ,defVar("pList", VT_Vector(message.FastPlayer), {})
  313. -- 爆牌信息
  314. ,defVar("playerBaoInfos", VT_VectorToMap(message.playerBaoInfo, "nUserId"))
  315. --洗牌消耗数量
  316. ,defVar("shuffleNum", VT_Int, 2)
  317. --,defVar("extJson", VT_String, "")
  318. )
  319. --通知胡牌
  320. message.HuRespone = defClass("HuRespone"
  321. ,defVar("nUserId",VT_Int,0)
  322. --自摸还是点炮胡
  323. ,defVar("huType",VT_Short,0)
  324. --番数
  325. ,defVar("fanshu",VT_UChar,0)
  326. --牌类型
  327. ,defVar("paiType",VT_UChar,0)
  328. --胡的牌
  329. ,defVar("huCard",VT_UChar,0)
  330. --是否抢杠胡 1是 0否
  331. ,defVar("isQiangGng",VT_UChar,0)
  332. --是否杠上炮 1是 0否
  333. ,defVar("isGspHu",VT_UChar,0)
  334. --是否杠上开花
  335. ,defVar("isGskhHu",VT_UChar,0)
  336. --点炮玩家
  337. ,defVar("dpId",VT_Int,0)
  338. --胡顺序
  339. ,defVar("huOrder",VT_UChar,0)
  340. --是否呼叫转移,1是 0否
  341. ,defVar("isHjzy",VT_UChar,0)
  342. )
  343. message.XiaojuPlayerInfo=defClass("XiaojuPlayerInfo"
  344. --玩家的id
  345. , defVar("nUserId", VT_Int, 0)
  346. --当前局分数
  347. , defVar("nTurnScore", VT_Int, 0)
  348. --总分
  349. , defVar("nTotalMoney", VT_Int, 0)
  350. --番数
  351. , defVar("fanshu", VT_Int, 0)
  352. --1胡牌 2听叫 0默认
  353. , defVar("userStatus", VT_UChar, 0)
  354. -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
  355. , defVar("huType", VT_Short, 0)
  356. -- 桌面组合牌
  357. , defVar("gruoupCards",VT_Vector(message.OperateCard),{})
  358. --玩家手牌
  359. , defVar("handCards",VT_Vector(message.Card),{})
  360. --桌面弃牌
  361. , defVar("outCards",VT_Vector(message.Card),{})
  362. --胡的牌
  363. , defVar("huCard", VT_UChar, 0)
  364. --胡牌顺序
  365. , defVar("huOrder", VT_UChar, 0)
  366. --胡牌类型 点炮 or 自摸
  367. , defVar("result", VT_Short, 0)
  368. --子胡牌类型(天胡、地胡等)
  369. , defVar("subPaiType", VT_UChar, 0)
  370. --点炮次数
  371. , defVar("dpCount", VT_Short, 0)
  372. --谁点炮
  373. , defVar("dpSeatId", VT_UChar, -1)
  374. --点炮顺序
  375. , defVar("dpOrder", VT_Short, 0)
  376. --是否大叫
  377. , defVar("isDj", VT_UChar, 0)
  378. --是否花猪
  379. , defVar("isHz", VT_UChar, 0)
  380. --归次数
  381. , defVar("genCount", VT_UChar, 0)
  382. --是否绝张
  383. , defVar("isJueZhang", VT_UChar, 0)
  384. --是否金钩钓
  385. , defVar("isJinGouDiao", VT_UChar, 0)
  386. --是否海底捞月
  387. , defVar("isHaiDiLaoYue", VT_UChar, 0)
  388. --是否海底炮
  389. , defVar("isHaiDiPao", VT_UChar, 0)
  390. --是否杠上开花
  391. , defVar("isGangShangKaiHua", VT_UChar, 0)
  392. --是否杠上炮
  393. , defVar("isGangShangPao", VT_UChar, 0)
  394. --是否抢杠胡
  395. , defVar("isQiangGangHu", VT_UChar, 0)
  396. --是否门清
  397. , defVar("isMenQing", VT_UChar, 0)
  398. --是否中张
  399. , defVar("isZhongZhang", VT_UChar, 0)
  400. --是否死叫
  401. , defVar("isSiJiao",VT_UChar,0)
  402. --todo lwq new add
  403. -- , defVar("hupaiInfoSize",VT_UChar,0)
  404. , defVar("hupaiInfo",VT_Vector(message.UserHuPaiInfo),{})
  405. --拓展字段
  406. , defVar("extJson",VT_String,"")
  407. )
  408. -- 玩家的爆牌信息
  409. message.playerxjBaoInfo = defClass("playerxjBaoInfo"
  410. --用户的USER ID
  411. , defVar("nUserId", VT_Int, 0)
  412. --爆牌状态 1 报叫 2 没报
  413. ,defVar("isBaoPai",VT_Short,0)
  414. --是否杀报
  415. ,defVar("isShaBao",VT_UChar,0)
  416. )
  417. message.GameXiaoJuResponse = defClass("GameXiaoJuResponse"
  418. -- 一局结束的原因
  419. , defVar("stopFlag", VT_UChar, -1)
  420. -- 房间信息
  421. , defVar("strGameInfo", VT_String, "")
  422. --玩家信息
  423. , defVar("allPlayerInfo",VT_VectorToMap(message.XiaojuPlayerInfo,"nUserId"))
  424. --是否大局结束,结束是1
  425. , defVar("isGameOver", VT_Short, 0)
  426. --操作统计
  427. ,defVar("opsCntMapString",VT_String,"")
  428. --玩家信息
  429. , defVar("xjBaoInfo",VT_VectorToMap(message.playerxjBaoInfo,"nUserId"))
  430. )
  431. -- --总结算玩家列表
  432. message.DaJuPlayerInfo = defClass("DaJuPlayerInfo"
  433. --玩家Uid
  434. , defVar("nUserId", VT_Int, 0)
  435. --总输赢分数
  436. , defVar("nTotalScore", VT_Int, 0)
  437. --房卡
  438. --, defVar("roomCard",VT_Int,0)
  439. --需求房卡
  440. --, defVar("requireCard",VT_Short,0)
  441. -- 大局信息"ziMoCnt":1, //自摸胡次数 "jiePaoCnt":1, //接炮次数
  442. -- "dianPaoCnt":1, //点炮次数 "mingCnt":1, //明杠次数 "zhiCnt":1, //直杠次数
  443. --"baCnt":1, //巴杠次数 "anCnt":1, //暗杠次数 "djCnt":1, //查大叫的次数
  444. ,defVar("countInfo",VT_String,"")
  445. )
  446. -- 消耗房卡信息
  447. message.DaJuPlayerCostInfo = defClass("DaJuPlayerInfo"
  448. --玩家Uid
  449. , defVar("nUserId", VT_Int, 0)
  450. , defVar("costCard",VT_Short,0)
  451. )
  452. message.GameDaJuResponse = defClass("GameDaJuResponse"
  453. --多少个玩家
  454. , defVar("nTotalPlayerInfos", VT_VectorToMap(message.DaJuPlayerInfo,"nUserId"))
  455. --房卡消耗
  456. , defVar("costCardInfos", VT_VectorToMap(message.DaJuPlayerCostInfo,"nUserId"))
  457. --解散状态
  458. , defVar("stopFlag",VT_Short,0)
  459. --解散状态
  460. ,defVar("strDisbandStatus",VT_String,"")
  461. --结束时间
  462. ,defVar("nEndTime",VT_Long,os.time())
  463. )
  464. message.WaitOperate= defClass("WaitOperate"
  465. --玩家Uid
  466. --, defVar("nUserId", VT_Int, 0)
  467. -- 牌类型
  468. --, defVar("opType", VT_Short, 0)
  469. )
  470. --断碰断杠操作
  471. message.QiangDuanOperates = defClass("QiangDuanOperates"
  472. ,defVar("operates",VT_Vector(message.OperateCard),{})
  473. )
  474. --请求飘
  475. message.PiaoRequest=defClass("PiaoRequest"
  476. ,defVar("isPiao",VT_UChar ,0)
  477. )
  478. --玩家飘状态
  479. message.PiaoState = defClass("PiaoState"
  480. --玩家Uid
  481. , defVar("nUserId", VT_Int, 0)
  482. -- 飘状态 0,1
  483. , defVar("piaostate", VT_UChar, 0)
  484. )
  485. --服务器收到玩家飘请求操作后广播给其他玩家
  486. message.PiaoResponse = defClass("PiaoResponse"
  487. --玩家Uid
  488. , defVar("nUserId", VT_Int, 0)
  489. -- 飘状态 0,1
  490. , defVar("piaostate", VT_UChar, 0)
  491. , defVar("playerPiaoState",VT_Vector(message.PiaoState),{})
  492. )
  493. --出牌错误
  494. message.OutCardError = defClass("OutCardError"
  495. -- 牌值
  496. , defVar("result", VT_Short, -1)
  497. )
  498. --换三张换的牌
  499. message.SwapCards= defClass("SwapCards"
  500. -- 服务器推荐的换牌
  501. , defVar("swapCards", VT_Vector(message.Card), {})
  502. )
  503. -- 请求换三张换的牌
  504. message.GetSwapCards = defClass("GetSwapCards"
  505. --出的牌 癞子保持0x5D
  506. ,defVar("bySwapCard", VT_Vector(VT_UChar), {})
  507. )
  508. --换三张错误
  509. message.SwapCardsErr= defClass("SwapCardsErr"
  510. -- 错误码
  511. , defVar("errFlag", VT_UChar, 0)
  512. )
  513. --换三张成功
  514. message.SwapCardsSucc= defClass("SwapCardsSucc"
  515. -- 换牌的用户id
  516. , defVar("nUserId", VT_Int, 0)
  517. -- 选中的牌
  518. , defVar("selectCards", VT_Vector(message.Card), {})
  519. )
  520. --全部换完成功的
  521. message.SwapCardsSuccInfo= defClass("SwapCardsSuccInfo"
  522. -- 错误码
  523. , defVar("swapCards", VT_Vector(message.Card), {})
  524. -- 换牌方式 1顺时针 2对家换牌 3逆时针
  525. , defVar("swapType", VT_UChar, 0)
  526. )
  527. --定缺牌
  528. message.QueCard=defClass("QueCard"
  529. --定缺牌面花色,0万 1筒 2条
  530. ,defVar("queCard",VT_UChar ,0)
  531. )
  532. --定缺成功
  533. message.DingQueSucc=defClass("DingQueSucc"
  534. -- 用户id
  535. ,defVar("nUserId", VT_Int, 0)
  536. --定缺牌面花色,0万 1筒 2条
  537. ,defVar("queCard",VT_UChar ,0)
  538. )
  539. --定缺成功广播告诉玩家定缺类型
  540. message.DingQueSuccInfo=defClass("DingQueSuccInfo"
  541. -- 用户id
  542. , defVar("dingQueInfo", VT_Vector(message.DingQueSucc), {})
  543. )
  544. -- 请求操作返回,失败[0x8109]
  545. message.OperateCard_Error = defClass('OperateCard_Error'
  546. , defVar('result', VT_UChar, -1)
  547. )
  548. --托管状态
  549. message.HostingResponseEntity = defClass("HostingResponseEntity"
  550. ,defVar("nUserId",VT_Int,0)
  551. --1.托管 0取消托管
  552. ,defVar("status",VT_UChar,0)
  553. ,defVar("ext", VT_String, "")
  554. )
  555. --托管状态
  556. message.HostingResponse = defClass("HostingResponse"
  557. ,defVar("userList", VT_Vector(message.HostingResponseEntity), {})
  558. )
  559. message.HostingRequest = defClass("HostingRequest"
  560. , defVar("nUserId", VT_Int, 0)
  561. , defVar("status", VT_UChar, 0)
  562. )
  563. message.LiuShuiDetail = defClass("LiuShuiDetail"
  564. , defVar("type", VT_UChar, 0)--得分类型
  565. , defVar("card", VT_UChar, 0)--牌
  566. , defVar("score", VT_Int, 0)--分数
  567. , defVar("seat", VT_String, 0)--影响的座位id
  568. --胡信息
  569. , defVar("fanshu", VT_Short, 0)--番数
  570. , defVar("paiType", VT_Short, 0)--牌的类型
  571. , defVar("genShu", VT_Int, 0)--根数
  572. , defVar("subPaiType", VT_UChar, 0)--子胡牌类型
  573. , defVar("bIsJinGouDiao", VT_UChar, 0)--是否金钩钓
  574. , defVar("bIsHaiDiLaoYue", VT_UChar, 0)--是否海底捞月
  575. , defVar("bIsHaiDiPao", VT_UChar, 0)--是否海底炮
  576. , defVar("bGangShangKaiHua", VT_UChar, 0)--是否杠上开花
  577. , defVar("bGangShangPao", VT_UChar, 0)--是否杠上炮
  578. , defVar("bQiangGangHu", VT_UChar, 0)--是否抢杠胡
  579. , defVar("bMenQing", VT_UChar, 0)--是否门清
  580. , defVar("bZhongZhang", VT_UChar, 0)--是否中张
  581. )
  582. message.LiuShuiInfo = defClass("LiuShuiInfo"
  583. ,defVar("liushuiDetail", VT_Vector(message.LiuShuiDetail), {})
  584. ,defVar("totalScore", VT_Int, 0)
  585. ,defVar("isPush", VT_UChar, 0)
  586. ,defVar("nUserId", VT_Int, 0)
  587. )
  588. message.flowInfoReq = defClass("flowInfoReq"
  589. , defVar("nUserId", VT_Int, 0)
  590. )
  591. return message