local message={} -- OtherQiHuTongZhi = defClass("OtherQiHuTongZhi" -- --弃胡玩家uid -- , defVar("uid", VT_Int, -1) -- --玩家操作 -- , defVar("optType", VT_Short, -1) -- ) -- QiHuSelfResponese = defClass("QiHuSelfResponese" -- --0: 操作成功 1: 玩家或者桌子状态不对,不需要弃胡操作 -- , defVar("result", VT_Short, -1) -- --操作 同上 -- , defVar("optType", VT_Short, -1) -- ) -- SendQiHu = defClass("SendQiHu" -- --0: 过(即不弃胡) 1: 弃胡 -- , defVar("optType", VT_Short, -1) -- ) -- DaiXing = defClass("DaiXing" -- --玩家选中的牌值 -- , defVar("xingCard", VT_UChar, -1) -- ) -- RequestTingCard = defClass("RequestTingCard" -- --玩家选中的牌值 -- , defVar("card", VT_UChar, -1) -- ) message.Card = defClass("card" --牌值 ,defVar("card", VT_UChar, 0) ) message.TingCard = defClass("TingCard" --玩家选中的牌值 , defVar("card", VT_UChar, -1) --数量 , defVar("count", VT_UChar, -1) ) message.TingCardResult = defClass("TingCardResult" --听牌类型 0为普通听牌类型,1为全听,全听时不会具体听牌 , defVar("tingType", VT_UChar, -1) --听牌列表 , defVar("tingCards",VT_Vector(message.TingCard),{}) ) --是否听牌 message.TingCardStatus = defClass("TingCardResult" --玩家选中的牌值 , defVar("nTingStatus", VT_UChar, 0) ) --点击一张牌的听牌信息 message.PushTing= defClass("PushTing" --玩家选中的牌值 , defVar("card", VT_UChar, 0) -- , defVar("tingType", VT_UChar, -1) , defVar("tingCards",VT_Vector(message.TingCard),{}) ) --谁可以听牌 message.Tings= defClass("Tings" , defVar("nUserId", VT_Int, 0) , defVar("tings",VT_Vector(message.PushTing),{}) ) -- --server收到0x8060协议后,广播当前桌子上所有用户 message.ServerChangeUserInfo = defClass("ServerChangeUserInfo" --更新信息的用户uid , defVar("uid", VT_Int, -1) --用户信息 , defVar("userInfo", VT_String, "") --保留字段,暂不使用 , defVar("reserved", VT_String, "") ) message.UserId = defClass("UserId" --nUserId , defVar("nUserId", VT_Int, -1) ) message.OperateCard = defClass("OperateCard" -- 牌类型 , defVar("opType", VT_Short, 0) -- 操作的牌 , defVar("opCard", VT_UChar, 0) -- 胡数 -- , defVar("hushu", VT_UChar, 0) -- 第一张牌 -- , defVar("card", VT_UChar, 0) ) --新加一个带来源的类 message.OperateCard1 = defClass("OperateCard1" -- 牌类型 , defVar("opType", VT_Short, 0) -- 操作的牌 , defVar("opCard", VT_UChar, 0) -- 来源ID , defVar("fromUserId", VT_Int, -1) ) --重连回复桌面牌 message.RecoverOperateCard = defClass("RecoverOperateCard" -- 用户id , defVar("nUserId", VT_Int, -1) -- 桌面组合牌 , defVar("operates", VT_Vector(message.OperateCard1), {}) ) -- ChuPaiPlayerOperation = defClass("ChuPaiPlayerOperation" -- --nUserId -- , defVar("nUserId", VT_Int, -1) -- --此用户是否可以操作,0:不可以 1: 可以 -- , defVar("isCanOpereate", VT_UChar, -1) -- ) -- --玩家出牌成功 message.OutCardSuccess = defClass("OutCardSuccess" -- 出牌用户id , defVar("nUserId", VT_Int, -1) -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1 , defVar("nSeatId", VT_UChar, -1) -- 出的牌 , defVar("card", VT_UChar, -1) -- 可以的操作ma -- , defVar("mainOpCode", VT_Short, -1) -- 玩家操作 , defVar("operates", VT_Vector(message.OperateCard), {}) ) -- --出牌错误 message.OutCardError = defClass("OutCardError" -- 牌值 , defVar("result", VT_UChar, -1) ) -- --出牌 -- message.OutCard = defClass("OutCard" -- -- 牌值 -- , defVar("nCard", VT_UChar, -1) -- ) -- MoPaiPlayerOperation = defClass("MoPaiPlayerOperation" -- --nUserId -- , defVar("nUserId", VT_Int, -1) -- --此用户是否可以操作,0:不可以 1: 可以 -- , defVar("isCanOpereate", VT_UChar, -1) -- ) -- --弃牌 message.QiPai = defClass("QiPai" -- 弃牌者的id , defVar("nUserId", VT_Int, -1) -- 弃牌,一般为抓的牌 , defVar("card", VT_UChar, -1) ) -- --摸牌 -- MoPai = defClass("MoPai" -- -- 抓牌者的id -- , defVar("nUserId", VT_Int, -1) -- -- 抓的牌 -- , defVar("turnOverCard", VT_UChar, -1) -- -- 自已可以的操作 -- , defVar("mainOpCode", VT_Short, -1) -- -- 剩余牌数 -- , defVar("leftCardNum", VT_Short, -1) -- -- 玩家操作 -- , defVar("operations", VT_Vector(MoPaiPlayerOperation), {}) -- -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能 -- , defVar("showCardFlag", VT_UChar, -1) -- ) -- --玩家操作成功的时候操作码合集 -- OperateionCodeSuccessItem = defClass("OperateionCodeSuccessItem" -- -- 操作者的座位id -- , defVar("nOperationCode", VT_Short, -1) -- ) -- --发送操作码成功 message.OperationCodeSuccess = defClass("OperationCodeSuccess" -- 操作者的id , defVar("nUserId", VT_Int, -1) -- 牌类型 , defVar("opType", VT_Short, 0) -- 操作的牌 , defVar("opCard", VT_UChar, 0) -- -- 操作的牌(只有天胡时 opCard才为0) -- , defVar("card", VT_UChar, 0) -- 表明操作者他是否要出牌 , defVar("isNeedOutCard", VT_UChar, 0) -- 被操作者座位Id , defVar("fromSeatId", VT_UChar, -1) ) -- OperationCodeFirst = defClass("OperationCodeFirst" -- --nUserId -- , defVar("nUserId", VT_Int, -1) -- ) -- message.GameSendOpCode = defClass("GameSendOpCode" -- -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1 -- , defVar("operateCode", VT_Short,-1) -- -- 具体的操作码,可多个由opCount取值确定例如: opCount = 2, 则会传两个operateCode过来,此种情况只有在吃牌比牌的情况下存在 -- , defVar("opCardNum", VT_Short,0) -- ) -- SystemOperationStart = defClass("SystemOperationStart" -- -- 用户uid -- , defVar("nUserId", VT_Int, 0) -- -- 可提牌的数量 -- , defVar("tiPaiList", VT_Vector(weaveCardList), {}) -- -- 可提牌的数量 -- , defVar("shaoList", VT_Vector(weaveCardList), {}) -- --总的胡数 -- , defVar("nTotalHuShu", VT_Short, 0) -- ) --发牌 message.BankerOutCard = defClass("BankerOutCard" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1 , defVar("nSeatId", VT_UChar, 0) -- 是否尾部发牌,0为否 1为是 , defVar("isTail", VT_UChar, 0) , defVar("nLeaveCardNum", VT_Short, 0) -- , defVar("card", VT_UChar, 0) -- 庄家操作列表 , defVar("operates", VT_Vector(message.OperateCard), {}) ) -- CardSendListData = defClass("CardSendListData" -- -- 牌值类型 -- , defVar("type", VT_Short, 0) -- -- 单张牌值 -- , defVar("card", VT_UChar, 0) -- ) message.PlayerHandCards= defClass("PlayerHandCards" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 庄家第一张摸的牌 -- , defVar("nbankFirstGrabCard", VT_UChar, 0) -- 牌值类型列表 , defVar("handCards", VT_Vector(message.Card), {}) ) message.GameSendCardResponse = defClass("GameSendCardResponse" -- 用户uid -- , defVar("nUserId", VT_Int, 0) -- 庄家第一张摸的牌 -- , defVar("nbankFirstGrabCard", VT_UChar, 0) -- 牌值类型列表 , defVar("playerCards", VT_Vector(message.PlayerHandCards), {}) ) -- -- 收到其他玩家掉线的信息 message.OtherDroppedResponse = defClass("OtherDroppedResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) -- //1在线,0离线 , defVar("nOnlineStatus", VT_Short, 0) ) -- GameBeginResponse = defClass("GameBeginResponse" -- --错误类型 -- ,defVar("nErrNo",VT_UChar,0) -- --可以开始游戏的用户ID -- ,defVar("nUserId",VT_Int,0) -- ) message.shuffleList = defClass("shuffleList" , defVar("nUserId", VT_Int, 0) -- 是否洗牌 , defVar("bShuffle", VT_UChar, 0) ) message.GameStartResponse = defClass("GameStartResponse" -- 局数 , defVar("nGameStartCount", VT_Int, 0) -- 总的局数 , defVar("nTotalGameNum", VT_Int, 0) -- 房主uid , defVar("nRoomOwnedUid", VT_Int, 0) -- 庄家座位id , defVar("nBankSeatId", VT_Int, 99) --玩家是否洗牌 ,defVar("shuffleList",VT_Vector(message.shuffleList),{}) --洗牌消耗数量 ,defVar("shuffleNum", VT_Int, 2) ) -- --一局结束后弃牌信息 -- BroadcastStopRoundGiveUpCardCount = defClass("BroadcastStopRoundGiveUpCardCount" -- --弃牌 -- , defVar("giveupChessOpCard", VT_UChar, 0) -- ) -- 玩家结算信息 message.PlayerResultInfo = defClass("PlayerResultInfo" --玩家的id , defVar("nUserId", VT_Int, 0) --番数 , defVar("fanshu", VT_Int, 0) --玩家本局输赢情况 0不胡不输 1胡,2点炮或者输 , defVar("result", VT_UChar, 0) -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输 , defVar("huType", VT_Short, 0) -- -- --玩家总的分数 -- , defVar("nTotalMoney", VT_Int, 0) -- --玩家碰,吃,哨,串,招个数 -- , defVar("tableWeaveCard", VT_Vector(weaveCardList)) -- --玩家手牌信息 -- , defVar("handCard", VT_Vector(weaveCardList)) -- --玩家弃牌信息 -- , defVar("desertedArea", VT_Vector(BroadcastStopRoundGiveUpCardCount)) ) -- --一局结束后底牌信息列表 -- message.BroadcastStopRoundDipaiList = defClass("BroadcastStopRoundDipaiList" -- --底牌信息 -- , defVar("chessCards", VT_UChar, 0) -- ) message.XiaojuPlayerInfo=defClass("GameXiaoJuResponse" --玩家的id , defVar("nUserId", VT_Int, 0) --当前局分数 , defVar("nTurnScore", VT_Int, 0) --总分 , defVar("nTotalMoney", VT_Int, 0) --番数 , defVar("fanshu", VT_Int, 0) --玩家本局输赢情况 0不胡不输 1胡,2点炮或者输 , defVar("result", VT_UChar, 0) -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输 , defVar("huType", VT_Short, 0) -- 桌面组合牌 ,defVar("gruoupCards",VT_Vector(message.OperateCard),{}) --玩家手牌 ,defVar("handCards",VT_Vector(message.Card),{}) --桌面弃牌 ,defVar("outCards",VT_Vector(message.Card),{}) ) message.GameXiaoJuResponse = defClass("GameXiaoJuResponse" -- 一局结束的原因 , defVar("stopFlag", VT_UChar, -1) -- 房间信息 , defVar("strGameInfo", VT_String, "") --结算信息 , defVar("strResultInfo",VT_String,"") --玩家信息 , defVar("playerInfos",VT_Vector(message.XiaojuPlayerInfo),{}) --是否大局结束,结束是1 , defVar("isGameOver", VT_Short, 0) --操作统计 ,defVar("opsCntMapString",VT_String,"") --分数统计 ,defVar("soreCntMapString",VT_String,"") ) -- --总结算玩家列表 message.DaJuPlayerInfo = defClass("DaJuPlayerInfo" --玩家Uid , defVar("nUserId", VT_Int, 0) --总输赢分数 , defVar("nTotalScore", VT_Int, 0) --json格式,暂无数据,后续扩展 , defVar("nTotalInfo", VT_String, 0) ) message.GameDaJuResponse = defClass("GameDaJuResponse" --多少个玩家 , defVar("nTotalPlayerInfos", VT_VectorToMap(message.DaJuPlayerInfo,"nUserId")) ) -- -- 收到其他玩家加入房间的信息 message.OtherSitDownResponse = defClass("OtherSitDownResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1 , defVar("nSeatId", VT_Int, 0) -- 用户信息 , defVar("userInfo", VT_String, "") -- 用户总的分数 , defVar("nTotalMoney", VT_Long, 0) ) -- -- 进入桌子失败 message.SitDownFailedResponse = defClass("SitDownFailedResponse" -- 错误码 , defVar("nErrorCode", VT_UChar, 0) ) -- -- 房间中的玩家信息 message.RoomMemberInfo = defClass("RoomMemberInfo" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 用户座位id, 从0编码, 最大为m_nMaxPlayCount-1 , defVar("nSeatId", VT_Int, -1) -- 在线状态 0离线 1在线 , defVar("nOnlineStatus", VT_UChar, -1) -- 是否正在玩 -1: 用户站起 0: 用户坐下 1: 准备状态 2: 正在玩 , defVar("nPlayerFlag", VT_UChar, 0) -- 用户信息 , defVar("userInfo", VT_String, "") -- 用户总的分数 , defVar("nTotalMoney", VT_Int, 0) ) -- -- 用户在桌子上坐下成功协议 message.SitDownSuccessResponse = defClass("SitDownSuccessResponse" -- 用户房间号 , defVar("gameId", VT_Short, 0) -- 用户房间号 , defVar("nShowTableId", VT_Int, 0) -- 房间最大人数 , defVar("nMaxPlayCount", VT_Int, 0) -- 用户房主 , defVar("nRoomOwnedUid", VT_Int, 0) -- 总的局数 , defVar("nTotalGameNum", VT_Short, 0) -- 底注 , defVar("nBaseChips", VT_Int, 0) -- 房间信息 , defVar("strGameInfo", VT_String, "") -- 玩家数量 -- , defVar("nPlayerCount", VT_Short, "") -- 用户 , defVar("memberList", VT_VectorToMap(message.RoomMemberInfo, "nUserId")) ) -- --玩家打出的牌 -- message. = defClass("DesertedAreaVector" -- --玩家弃牌区的牌 -- ,defVar("card", VT_UChar, 0) -- ) message.QiangGangHu = defClass("qiangGangHu" -- , defVar("opType", VT_Short, 0) -- , defVar("opCard", VT_UChar, 0) ) -- -- 玩家的牌桌信息 message.playerInfo = defClass("playerInfo" --用户的USER ID , defVar("nUserId", VT_Int, 0) --用户的TABLE ID , defVar("nSeatId", VT_UChar, 0) --用户的游戏状态标识 , defVar("nPlayerFlag", VT_UChar, 0) --玩家解散状态 0:初始状态, 1:发起解散 2: 同意解散 3:不同意解散 , defVar("nDisbandStatus", VT_UChar, 255) --是否在线 0:离线 1:在线 , defVar("nOnlineStatus", VT_UChar, 255) --用户信息 , defVar("userInfo", VT_String, "") --当前局分数 , defVar("nTurnScore", VT_Int, -1) --总分 , defVar("nTotalMoney", VT_Int, -1) --听牌状态,1听牌状态,0不听牌 , defVar("nTingStatus", VT_UChar, 0) --是否可以操作,用于闹钟 此用户是否可以操作,0:不可以 1: 可以 -- , defVar("isCanOperate", VT_UChar, 255) -- -- 弃胡玩家弃胡状态 0: 无弃胡 1:待弃胡 2: 已弃胡 (当玩家需要出牌且此值为1时则展示弃胡按钮提示玩家是否弃胡) -- , defVar("nQiHuStatus", VT_Short, 0) -- 桌面组合牌 ,defVar("gruoupCards",VT_Vector(message.OperateCard),{}) --玩家手牌 ,defVar("handCards",VT_Vector(message.Card),{}) --桌面弃牌 ,defVar("outCards",VT_Vector(message.Card),{}) ) -- --断线重连 message.GameReconnection = defClass("GameReconnection" -- 用户房间号 , defVar("gameId", VT_Short, 0) -- 用户房间号 , defVar("nShowTableId", VT_Int, 0) -- 房间最大人数 , defVar("nMaxPlayCount", VT_Int, 0) -- 用户房主 , defVar("nRoomOwnedUid", VT_Int, 0) -- 总的局数 , defVar("nTotalGameNum", VT_Short, 0) --底注 , defVar("nBaseChips", VT_Int, 0) -- 游戏信息 , defVar("strGameInfo", VT_String, "") -- 当前局数 , defVar("nGameStartCount", VT_Short, 0) -- 游戏状态 , defVar("nStatus", VT_UChar, 0) -- 庄家座位 , defVar("nBankSeatId", VT_UChar, 0) -- 我的座位 , defVar("nMySeatId", VT_UChar, 0) -- 是否有人发起解散 , defVar("bUserDisbandGame", VT_UChar, 0) -- 解散剩余时间,没人发起解散,此值为0 , defVar("nDismissStateTime", VT_Int, 0) -- -- , defVar("userCount", VT_Short, 0) -- -- 牌桌信息 -- , defVar("usersInfo",VT_Vector()) ,defVar("playerInfos", VT_VectorToMap(message.playerInfo, "nUserId")) -- --剩余的底牌 ,defVar("leaveCards",VT_Vector(message.Card)) --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色) ,defVar("outCardUserId",VT_Int,0) -- --亮出的牌(庄家的天胡的操作状态时showCard == 0) -- ,defVar("showCard",VT_UChar,0) -- --自己的操作码 -- ,defVar("mainOpCode",VT_Short,0) -- --是否已经操作过 0表示没用,非0表示已经提交了操作 -- ,defVar("isSubmitOp",VT_UChar,255) -- -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能 -- , defVar("showCardFlag", VT_UChar, -1) -- --[[ -- state: -- GAME_STATUS_WAIT_OUT_CARDS -- ]] --出牌者的seatId ,defVar("outCardSeatId",VT_UChar,255) -- --出牌者上一次的操作 -- ,defVar("lastOperate",VT_Short,-1) -- --出牌者上一次操作了虾米牌 ,defVar("lastOpCard",VT_UChar,255) --操作列表 ,defVar("operates",VT_Vector(message.OperateCard),{}) --出牌ID ,defVar("needOutCardId",VT_Int,0) --上次出的牌 ,defVar("lastOutCardId",VT_Int,0) --上次出的牌 ,defVar("lastOutCard",VT_UChar,0) -- ,defVar("stopFlag",VT_UChar,255) --结算信息 ,defVar("strResultInfo",VT_String,"") --结算玩家列表 ,defVar("resultInfos",VT_Vector(message.PlayerResultInfo)) --操作统计 ,defVar("opsCntMapString",VT_String,"") --分数统计 ,defVar("soreCntMapString",VT_String,"") -- --[[ -- state: -- GAME_STATUS_AUTO_DISCSRD -- ]] -- --弃牌者的seatId -- ,defVar("disCardSeatId",VT_UChar,255) -- --要弃的牌(即别人出的牌或翻的牌) -- ,defVar("disCard",VT_UChar,255) -- --一局结束原因 -- ,defVar("stopFlag",VT_UChar,255) -- --赢家uid, -1则表示黄局 (对于黄局下面4个字段是无用的) -- ,defVar("winUserId",VT_Int,255) -- --点炮胡时,表示为点炮用户,赔包子时为吃包子用户,自摸胡时此值无意义 -- ,defVar("dianPaoUserId",VT_Int,255) -- --胡数 -- ,defVar("huShu",VT_UChar,255) -- --胡的类型(如地胡、抬炮胡等) -- ,defVar("huType",VT_Short,255) -- --倍数 -- ,defVar("multiNum",VT_UChar,255) -- --醒牌 -- ,defVar("xingCard",VT_UChar,255) -- --醒的倍数 -- ,defVar("xingCardNum",VT_UChar,255) -- --胡的牌 -- ,defVar("huCard",VT_UChar,255) -- --听牌张数 -- ,defVar("tingCards",VT_Vector(TingCard),{}) -- --解散总时间 -- ,defVar("nDismissToTalTime",VT_Short,0) ) -- -- 本地存储完整的房间数据 message.RoomInfoLocal = defClass("RoomInfoLocal" -- 用户房间号 , defVar("nShowTableId", VT_Int, 0) -- 房间最大人数 , defVar("nMaxPlayCount", VT_Int, 0) -- 用户房主 , defVar("nRoomOwnedUid", VT_Int, 0) -- 总的局数 , defVar("nTotalGameNum", VT_Short, 0) -- 房间信息 , defVar("strGameInfo", VT_String, "") -- 用户 -- , defVar("memberList", VT_VectorToMap(message.RoomMemberInfo, "nUserId")) -- 当前局数 , defVar("nGameStartCount", VT_Short, 0) -- 庄家座位id , defVar("nBankSeatId", VT_UChar, 99) -- 庄家第一张摸的牌 , defVar("nbankFirstGrabCard", VT_UChar, 0) -- 游戏状态 , defVar("nStatus", VT_UChar, 0) -- 是否有人发起解散 , defVar("bUserDisbandGame", VT_UChar, 0) -- 解散剩余时间,没人发起解散,此值为0 , defVar("nDismissStateTime", VT_Int, 0) -- 牌桌信息 -- , defVar("arrayTableInfo", VT_VectorToMap(message.CardTableInfo, "nUserId")) --底牌信息 -- ,defVar("dipaiList",VT_Vector(message.BroadcastStopRoundDipaiList)) --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色) ,defVar("showCardSeatId",VT_UChar,0) --亮出的牌(庄家的天胡的操作状态时showCard == 0) ,defVar("showCard",VT_UChar,0) --自己的操作码 ,defVar("mainOpCode",VT_Short,0) --是否已经操作过 0表示没用,非0表示已经提交了操作 ,defVar("isSubmitOp",VT_UChar,255) -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能 , defVar("showCardFlag", VT_UChar, -1) --[[ state: GAME_STATUS_WAIT_OUT_CARDS -- ]] --出牌者的seatId ,defVar("outCardSeatId",VT_UChar,255) --出牌者上一次的操作 ,defVar("lastOperate",VT_Short,-1) --出牌者上一次操作了虾米牌 ,defVar("lastOpCard",VT_UChar,255) --[[ state: GAME_STATUS_AUTO_DISCSRD ]] --弃牌者的seatId ,defVar("disCardSeatId",VT_UChar,255) --要弃的牌(即别人出的牌或翻的牌) ,defVar("disCard",VT_UChar,255) --一局结束原因 ,defVar("stopFlag",VT_UChar,255) --赢家uid, -1则表示黄局 (对于黄局下面4个字段是无用的) ,defVar("winUserId",VT_Int,255) --点炮胡时,表示为点炮用户,赔包子时为吃包子用户,自摸胡时此值无意义 ,defVar("dianPaoUserId",VT_Int,255) --胡数 ,defVar("huShu",VT_UChar,255) --胡的类型(如地胡、抬炮胡等) ,defVar("huType",VT_UChar,255) --倍数 ,defVar("multiNum",VT_UChar,255) --醒牌 ,defVar("xingCard",VT_UChar,255) --醒的倍数 ,defVar("xingCardNum",VT_UChar,255) --胡的牌 ,defVar("huCard",VT_UChar,255) --多少个玩家 -- , defVar("playList", VT_Vector(message.BroadcastStopRoundPlayList)) --是否大局结束,结束是1 , defVar("isGameOver", VT_Short, 0) --听牌张数 -- ,defVar("tingCards",VT_Vector(message.TingCard),{}) --解散总时间 ,defVar("nDismissToTalTime",VT_Short,0) ) -- -- 解散房间请求 message.DismissRequest = defClass("DismissRequest" -- 玩家操作 1: 表示发起解散 2:同意解散 3:不同意解散 , defVar("operateType", VT_UChar, 0) ) -- -- 每个玩家对于解散房间的处理 message.UserDismissResult = defClass("UserDismissResult" -- nUserId , defVar("nUserId", VT_Int, 0) -- 0: 未做任何操作 1: 请求解散 2: 同意解散 3:不同意解散 , defVar("dismissState", VT_UChar, 0) ) -- -- 解散房间请求的结果 message.DismissResult = defClass("DismissResult" -- 错误码: -- 0:成功 -- 1:operateType取值范围不对 -- 2:当前没人发起解散 -- 3:已经有人申请解散 , defVar("errorCode", VT_Short, 0) -- 玩家操作 , defVar("operateType", VT_Int, 0) -- 桌子上其他用户数量 , defVar("memberList", VT_VectorToMap(message.UserDismissResult, "nUserId")) -- 剩余解散超时时间 , defVar("timeLeft", VT_Short, 0) ) -- -- 服务器广播每个玩家对解散房间的处理 message.DismissResponse = defClass("DismissResponse" -- nUserId , defVar("nUserId", VT_Int, 0) -- 1: 表示发起解散 2:同意解散 3:不同意解散 , defVar("operateType", VT_UChar, 0) -- 剩余解散超时时间 , defVar("timeLeft", VT_Short, 0) ) -- -- 退出房间成功,则读取房间数据 message.UserExitResponse = defClass("UserExitResponse" -- 用户当前积分 , defVar("nTotalMoney", VT_Long, 0) -- 用户的房卡信息,格式"10,5", 以逗号分隔,第一个表示历史房卡数量, 第二个表示当前房卡数量 , defVar("userInfo", VT_String, "") -- 是否要求用户退出,返回大厅,0: 不退出, 1: 退出 , defVar("logoutFlag", VT_Short, 0) ) -- -- 收到其他玩家退出房间的信息 message.OtherLogoutResponse = defClass("OtherLogoutResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) ) -- 快速开始请求 --0x8200 --[[ FAST_START_REQ_TYPE_START = 1, //请求开始游戏 FAST_START_REQ_TYPE_AGREE = 2, //同意开始游戏 FAST_START_REQ_TYPE_DISAGREE = 3, //拒绝开始游戏 --]] message.FastStartRequest = defClass("FastStartRequest" , defVar("tp", VT_UChar, 0) ) -- 快速开始请求结果(失败) --0x8202 --[[ FAST_START_GAME_RET_NOT_ENOUGH = 1, //人数不够 FAST_START_GAME_OTHER_REQ = 2, //其他人已请求 FAST_START_GAME_RET_ENOUGH = 3, //人数已满 FAST_START_GAME_RET_INVALID = 4, //非法操作 --]] message.FastStartRequestError = defClass("FastStartRequestError" , defVar("result", VT_Short, -1) ) -- 服务器广播快速开始状态(成功) --0x8201 --[[ nStatus: FAST_START_REQ_TYPE_START = 1, //请求开始游戏 FAST_START_REQ_TYPE_AGREE = 2, //同意开始游戏 FAST_START_REQ_TYPE_DISAGREE = 3, //拒绝开始游戏 FAST_START_REQ_TYPE_INIT = 4, FAST_START_REQ_TYPE_NEW_OR_OUT = 5, //有人进来或者退出 FAST_START_REQ_TYPE_TIMEOUT = 6, --]] message.FastPlayer = defClass("FastPlayer" , defVar("nUserId", VT_Int, 0) , defVar("nStatus", VT_UChar, 0) ) message.FastStartStatus = defClass("FastStartStatus" , defVar("nUserId", VT_Int, 0) , defVar("nStatus", VT_Short, 0) , defVar("pList", VT_Vector(message.FastPlayer), {}) , defVar("timeOut", VT_Short, 0) ) -- 快速开始,所有人同意,广播用户新位置 message.FastSuccessPlayer = defClass("FastSuccessPlayer" , defVar("nUserId", VT_Int, 0) , defVar("nSeatId", VT_UChar, 0) ) message.UpdateSeatIds = defClass("UpdateSeatIds" , defVar("pList", VT_Vector(message.FastSuccessPlayer), {}) ) -- 同步托管倒计时 message.UpdateDirectionTime = defClass("UpdateDirectionTime" , defVar("nTime", VT_Int, 0) ) --托管状态 message.HostingRequest = defClass("HostingRequest" ,defVar("nUserId",VT_Int,0) --1.托管 0取消托管 ,defVar("status",VT_Short,0) ) message.UserPass = defClass("UserPass" , defVar("nUserId", VT_Int, 0) ) -- 首次听牌提示 message.FirstTingTips = defClass("FirstTingTips" --, defVar("nTime", VT_Int, 0 ) -- 开局后后台推送的信息 message.GameInfoChange = defClass("GameInfoChange" -- 游戏信息 , defVar("gameInfoChange", VT_String, "") ) return message