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

238 lines
7.1 KiB

  1. ---
  2. -- ================================================================
  3. -- 文件名: xzddMessage.lua
  4. -- 描述: 继承自川南血战到底的协议
  5. -- 版权: Copyright © 2016-2019 公司名称 版权所有
  6. -- 作者: Administrator
  7. -- 创建日期: 2019-10-21
  8. -- 更新日期: 2019-10-21
  9. -- 备注:
  10. -- ================================================================
  11. --
  12. local xzdd2rMessage=MJFramework.MJFrameworkClassImprot("mj_xzdd.luaScript.Protocol.xzddMessage")
  13. -- 玩家的牌桌信息
  14. xzdd2rMessage.playerInfo = defClass("playerInfo"
  15. --用户的USER ID
  16. , defVar("nUserId", VT_Int, 0)
  17. --用户的TABLE ID
  18. , defVar("nSeatId", VT_UChar, 0)
  19. --用户的游戏状态标识
  20. , defVar("nPlayerFlag", VT_UChar, 0)
  21. --玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散
  22. , defVar("nDisbandStatus", VT_UChar, 255)
  23. --是否在线 0:离线 1:在线
  24. , defVar("nOnlineStatus", VT_UChar, 255)
  25. --用户信息
  26. , defVar("userInfo", VT_String, "")
  27. --当前局分数
  28. , defVar("nTurnScore", VT_String, -1)
  29. --总分
  30. , defVar("nTotalMoney", VT_String, -1)
  31. --番数
  32. , defVar("fanshu", VT_Int, -1)
  33. -- 桌面组合牌
  34. ,defVar("gruoupCards",VT_Vector(xzdd2rMessage.OperateCard),{})
  35. --玩家手牌
  36. ,defVar("handCards",VT_Vector(xzdd2rMessage.Card),{})
  37. --桌面弃牌
  38. ,defVar("outCards",VT_Vector(xzdd2rMessage.Card),{})
  39. --是否换过牌
  40. ,defVar("isSwapCard",VT_UChar,0)
  41. --是否定缺
  42. ,defVar("isDingQue",VT_UChar,0)
  43. --定缺牌类型 0万 1筒 2条
  44. ,defVar("nQue",VT_UChar,0)
  45. --是否查叫
  46. ,defVar("isDj",VT_UChar,0)
  47. --是否花猪
  48. ,defVar("isHz",VT_UChar,0)
  49. --点炮次数
  50. ,defVar("dpCount",VT_Short,0)
  51. --点炮顺序
  52. ,defVar("dpOrder",VT_Short,0)
  53. -- 杠信息
  54. --, defVar("gangInfo", VT_String, "")
  55. --保留
  56. --,defVar("extJson",VT_String,"")
  57. )
  58. -- --断线重连
  59. xzdd2rMessage.GameReconnection = defClass("GameReconnection"
  60. -- 用户房间号
  61. , defVar("gameId", VT_Short, 0)
  62. -- 用户房间号
  63. , defVar("nShowTableId", VT_Int, 0)
  64. -- 房间最大人数
  65. , defVar("nMaxPlayCount", VT_Int, 0)
  66. -- 用户房主
  67. , defVar("nRoomOwnedUid", VT_Int, 0)
  68. -- 总的局数
  69. , defVar("nTotalGameNum", VT_Short, 0)
  70. --底注
  71. , defVar("nBaseChips", VT_Int, 0)
  72. -- 游戏信息
  73. , defVar("strGameInfo", VT_String, "")
  74. -- 当前局数
  75. , defVar("nGameStartCount", VT_Short, 0)
  76. -- 游戏状态
  77. , defVar("nStatus", VT_UChar, 0)
  78. -- 庄家座位
  79. , defVar("nBankSeatId", VT_UChar, 0)
  80. -- 我的座位
  81. , defVar("nMySeatId", VT_UChar, 0)
  82. -- 是否有人发起解散
  83. , defVar("bUserDisbandGame", VT_UChar, 0)
  84. -- 解散剩余时间,没人发起解散,此值为0
  85. , defVar("nDismissStateTime", VT_Int, 0)
  86. -- 牌桌信息
  87. ,defVar("playerInfos", VT_VectorToMap(xzdd2rMessage.playerInfo, "nUserId"))
  88. -- --剩余的底牌
  89. ,defVar("leaveCards",VT_Vector(xzdd2rMessage.Card))
  90. --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
  91. ,defVar("outCardUserId",VT_Int,0)
  92. --出牌者的seatId
  93. ,defVar("outCardSeatId",VT_UChar,255)
  94. --当前发的牌或者出的牌
  95. ,defVar("lastOpCard",VT_UChar,255)
  96. --操作列表
  97. ,defVar("operates",VT_Vector(xzdd2rMessage.OperateCard),{})
  98. --是否需要出牌 1需要 0不需要
  99. ,defVar("isNeedOutCard",VT_UChar,0)
  100. --游戏结束标志 0正常结束 7黄庄 8长时间自动解散 9解散游戏
  101. ,defVar("stopFlag",VT_UChar,255)
  102. --胡牌玩家列表
  103. ,defVar("resultInfos",VT_VectorToMap(xzdd2rMessage.PlayerResultInfo,"nUserId"))
  104. --操作统计 "diangang_cnt":1, //点杠次数 "mgang":1, //明杠次数 "bgang":1, //巴杠次数 "agang":1, //暗杠次数
  105. ,defVar("opsCntMapString",VT_String,"")
  106. --听牌状态
  107. ,defVar("tingStatus",VT_UChar,0)
  108. --听牌信息
  109. ,defVar("tingCard",VT_Vector(xzdd2rMessage.PushCard),{})
  110. --是否在快开始界面,1是0否
  111. ,defVar("bUserFastStartGame",VT_UChar,0)
  112. --当前快速开始等待时间
  113. ,defVar("leftFastStartGameTime",VT_Int,0)
  114. --快速开始状态
  115. ,defVar("pList", VT_Vector(xzdd2rMessage.FastPlayer), {})
  116. --洗牌消耗数量
  117. ,defVar("shuffleNum", VT_Int, 2)
  118. -- 爆牌信息
  119. ,defVar("playerBaoInfos", VT_VectorToMap(xzdd2rMessage.playerBaoInfo, "nUserId"))
  120. --,defVar("extJson", VT_String, "")
  121. )
  122. xzdd2rMessage.XiaojuPlayerInfo=defClass("XiaojuPlayerInfo"
  123. --玩家的id
  124. , defVar("nUserId", VT_Int, 0)
  125. --当前局分数
  126. , defVar("nTurnScore", VT_String, 0)
  127. --总分
  128. , defVar("nTotalMoney", VT_String, 0)
  129. --番数
  130. , defVar("fanshu", VT_Int, 0)
  131. --1胡牌 2听叫 0默认
  132. , defVar("userStatus", VT_UChar, 0)
  133. -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
  134. , defVar("huType", VT_Short, 0)
  135. -- 桌面组合牌
  136. , defVar("gruoupCards",VT_Vector(xzdd2rMessage.OperateCard),{})
  137. --玩家手牌
  138. , defVar("handCards",VT_Vector(xzdd2rMessage.Card),{})
  139. --桌面弃牌
  140. , defVar("outCards",VT_Vector(xzdd2rMessage.Card),{})
  141. --胡的牌
  142. , defVar("huCard", VT_UChar, 0)
  143. --胡牌顺序
  144. , defVar("huOrder", VT_UChar, 0)
  145. --胡牌类型 点炮 or 自摸
  146. , defVar("result", VT_Short, 0)
  147. --子胡牌类型(天胡、地胡等)
  148. , defVar("subPaiType", VT_UChar, 0)
  149. --点炮次数
  150. , defVar("dpCount", VT_Short, 0)
  151. --谁点炮
  152. , defVar("dpSeatId", VT_UChar, -1)
  153. --点炮顺序
  154. , defVar("dpOrder", VT_Short, 0)
  155. --是否大叫
  156. , defVar("isDj", VT_UChar, 0)
  157. --是否花猪
  158. , defVar("isHz", VT_UChar, 0)
  159. --归次数
  160. , defVar("genCount", VT_UChar, 0)
  161. --是否绝张
  162. , defVar("isJueZhang", VT_UChar, 0)
  163. --是否金钩钓
  164. , defVar("isJinGouDiao", VT_UChar, 0)
  165. --是否海底捞月
  166. , defVar("isHaiDiLaoYue", VT_UChar, 0)
  167. --是否海底炮
  168. , defVar("isHaiDiPao", VT_UChar, 0)
  169. --是否杠上开花
  170. , defVar("isGangShangKaiHua", VT_UChar, 0)
  171. --是否杠上炮
  172. , defVar("isGangShangPao", VT_UChar, 0)
  173. --是否抢杠胡
  174. , defVar("isQiangGangHu", VT_UChar, 0)
  175. --是否门清
  176. , defVar("isMenQing", VT_UChar, 0)
  177. --是否中张
  178. , defVar("isZhongZhang", VT_UChar, 0)
  179. --拓展字段
  180. , defVar("extJson",VT_String,"")
  181. )
  182. xzdd2rMessage.GameXiaoJuResponse = defClass("GameXiaoJuResponse"
  183. -- 一局结束的原因
  184. , defVar("stopFlag", VT_UChar, -1)
  185. -- 房间信息
  186. , defVar("strGameInfo", VT_String, "")
  187. --玩家信息
  188. , defVar("allPlayerInfo",VT_VectorToMap(xzdd2rMessage.XiaojuPlayerInfo,"nUserId"))
  189. --是否大局结束,结束是1
  190. , defVar("isGameOver", VT_Short, 0)
  191. --操作统计
  192. ,defVar("opsCntMapString",VT_String,"")
  193. --玩家信息
  194. , defVar("xjBaoInfo",VT_VectorToMap(xzdd2rMessage.playerxjBaoInfo,"nUserId"))
  195. )
  196. -- --总结算玩家列表
  197. xzdd2rMessage.DaJuPlayerInfo = defClass("DaJuPlayerInfo"
  198. --玩家Uid
  199. , defVar("nUserId", VT_Int, 0)
  200. --总输赢分数
  201. , defVar("nTotalScore", VT_String, 0)
  202. ,defVar("countInfo",VT_String,"")
  203. )
  204. xzdd2rMessage.GameDaJuResponse = defClass("GameDaJuResponse"
  205. --多少个玩家
  206. , defVar("nTotalPlayerInfos", VT_VectorToMap(xzdd2rMessage.DaJuPlayerInfo,"nUserId"))
  207. --房卡消耗
  208. , defVar("costCardInfos", VT_VectorToMap(xzdd2rMessage.DaJuPlayerCostInfo,"nUserId"))
  209. --解散状态
  210. , defVar("stopFlag",VT_Short,0)
  211. --解散状态
  212. ,defVar("strDisbandStatus",VT_String,"")
  213. --结束时间
  214. ,defVar("nEndTime",VT_Long,os.time())
  215. )
  216. return xzdd2rMessage