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.

605 lines
16 KiB

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