local message = {} message.TingCardValue = defClass("TingCardValue" --听牌的牌值 , defVar("tingCard", VT_UChar, -1) --听牌剩余的张数 , defVar("tingCardNum", VT_UChar, -1) ) message.TingCard = defClass("TingCard" --玩家可以出的牌 , defVar("outCard", VT_UChar, -1) --听牌牌值和剩余数量 ,defVar("tingCardValue",VT_Vector(message.TingCardValue),{}) ) message.TingCardResult = defClass("TingCardResult" --听牌张数 ,defVar("tingCards",VT_Vector(message.TingCard),{}) --是否可以包牌 -- 0: 不可爆牌 1: 可爆牌 ,defVar("canBaoPai", VT_Short, -1) ) -- 托管 message.TuoGuan = defClass("TuoGuan" -- 用户uid , defVar("optType", VT_Short, 0) ) -- 用户托管信息 message.TuoGuanInfo = defClass("TuoGuanInfo" -- 用户uid , defVar("nUserID", VT_Int, 0) -- , defVar("aiStatus", VT_UChar, 0) -- , defVar("reserve", VT_String, "") ) -- 玩家超时系统自动托管 以及自动托管后,服务器都会广播当前桌上所有玩家的托管状态 message.TuoGuanResponse = defClass("TuoGuanResponse" -- 用户uid , defVar("userCnt", VT_VectorToMap(message.TuoGuanInfo,"nUserID")) ) --扎鸟 message.ZhaNiao = defClass("ZhaNiao" --扎鸟超时时间 , defVar("leftZhaBirdTime", VT_Short, -1) ) --扎鸟选择 message.ZhaNiaoRequest = defClass("ZhaNiaoRequest" --扎鸟分数,0表示不扎鸟 , defVar("nZhaBirdScore", VT_Short, -1) ) --扎鸟结果 message.ZhaNiaoResult = defClass("ZhaNiaoResult" --玩家uid , defVar("nUserId", VT_Int, -1) --扎鸟分数 , defVar("nZhaBirdScore", VT_Short, -1) ) --server收到0x8060协议后,广播当前桌子上所有用户 message.ServerChangeUserInfo = defClass("ServerChangeUserInfo" --更新信息的用户uid , defVar("uid", VT_Int, -1) --用户信息 , defVar("userInfo", VT_String, "") --保留字段,暂不使用 , defVar("reserved", VT_String, "") ) message.IntPacket = defClass("IntPacket" --nUserId , defVar("nUserId", VT_Int, -1) ) message.ChuPaiPlayerOperation = defClass("ChuPaiPlayerOperation" --nUserId , defVar("nUserId", VT_Int, -1) --此用户是否可以操作,0:不可以 1: 可以 , defVar("isCanOpereate", VT_UChar, -1) ) --玩家出牌成功 message.OutCardSuccess = defClass("OutCardSuccess" -- 出牌用户id , defVar("nOutCardUserId", VT_Int, -1) -- 出的牌 , defVar("byOutCard", VT_UChar, -1) -- 可以的操作ma , defVar("mainOpCode", VT_Short, -1) -- 玩家操作 , defVar("operations", VT_Vector(message.ChuPaiPlayerOperation), {}) -- 出牌用户剩余手牌数量 , defVar("leftHandCardNum", VT_Short, -1) ) --出牌错误 message.OutCardError = defClass("OutCardError" -- 牌值 , defVar("result", VT_Short, -1) ) --出牌 message.OutCard = defClass("OutCard" -- 牌值 , defVar("nCard", VT_UChar, -1) ) message.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("disCard", VT_UChar, -1) ) --摸牌 message.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(message.MoPaiPlayerOperation), {}) -- 摸牌显示 为空操作的玩家是否能够看到牌,0;不能 1:能 , defVar("showCardFlag", VT_UChar, -1) ) message.weaveCardList = defClass("weaveCardList" -- 牌类型 , defVar("type", VT_Short, 0) -- 操作的牌 , defVar("opcard", VT_UChar, 0) -- 此组合牌的胡数 , defVar("hushu", VT_UChar, 0) -- 第一张牌 此组合牌第一张牌,如1、2、3,则值为1 , defVar("card", VT_UChar, 0) ) --玩家操作成功的时候操作码合集 message.OperateionCodeSuccessItem = defClass("OperateionCodeSuccessItem" -- 操作者的座位id , defVar("nOperationCode", VT_Short, -1) ) --操作成功玩家信息 message.SuccessPlayerInfo = defClass("SuccessPlayerInfo" -- ID , defVar("nUserId", VT_Int, -1) -- 操作输赢分数,分数为0不飞金币 , defVar("nOptScore", VT_Short, -1) -- 玩家当局输赢的分数 , defVar("nTurnScore", VT_Int, -1) -- 玩家最后的分数 , defVar("nTotalScore", VT_Int, -1) ) --发送操作码成功 message.OperationCodeSuccess = defClass("OperationCodeSuccess" -- 操作者的id , defVar("nUserId", VT_Int, -1) -- 操作的牌(只有天胡时 opCard才为0) , defVar("card", VT_UChar, 0) -- 表明操作者他是否要出牌 , defVar("isShouldOutCard", VT_UChar, 0) -- 操作码的个数 一般为1;吃上比下时为多个 , defVar("OperationCodeList", VT_Vector(message.OperateionCodeSuccessItem), {}) -- 组合牌信息 注意: 当本次玩家为跑起时,客户端需判断跑起牌中座位seatid是否在[0,3]范围内,若在,则需处理飞牌动画操作 , defVar("weaveCardList", VT_Vector(message.weaveCardList), {}) -- 吃牌区总的胡数 , defVar("totalHuShu", VT_Short, -1) -- 剩余手牌数量 , defVar("leftHandCardNum", VT_Short, -1) ) message.OperationCodeFirst = defClass("OperationCodeFirst" --nUserId , defVar("nUserId", VT_Int, -1) ) message.GameSendOpCodeResponse = defClass("GameSendOpCodeResponse" -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1 , defVar("operateCode", VT_Vector(VT_Short), {}) -- 具体的操作码,可多个由opCount取值确定例如: opCount = 2, 则会传两个operateCode过来,此种情况只有在吃牌比牌的情况下存在 --, defVar("opCardNum", VT_Short,0) -- 操作牌 , defVar("opCard", VT_UChar, 0) ) message.SystemOperationInfo = defClass("SystemOperationInfo" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 可提牌的数量 , defVar("tiPaiList", VT_Vector(message.weaveCardList), {}) -- 可提牌的数量 , defVar("shaoList", VT_Vector(message.weaveCardList), {}) --本局分数 , defVar("nTurnScore", VT_Int, 0) --总的分数 , defVar("nTotalScore", VT_Int, 0) --是否五福告警 -1:初始状态 0: 不报警 1: 等待报警 2: 确认报警 , defVar("nWuFuWarn", VT_Short, 0) -- 操作输赢分数,分数为0不飞金币 , localVar("nOptScore", VT_Short, -1) ) message.SystemOperationStart = defClass("SystemOperationStart" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 可提牌的数量 , defVar("tiPaiList", VT_Vector(message.weaveCardList), {}) --总的胡数 , defVar("nTotalHuShu", VT_Short, 0) -- 出牌用户剩余手牌数量 , defVar("leftHandCardNum", VT_Short, -1) ) message.BankerOutCard = defClass("BankerOutCard" -- 庄家uid , defVar("nUserId", VT_Int, 0) -- 庄家操作类型 , defVar("mainOpCode", VT_Short, 0) --庄家是否需要出牌0不需要 1:需要 , defVar("IsShouldOutCard", VT_UChar, 0) --庄家起手抓的牌 , defVar("bankFirstGrabCard", VT_UChar, 0) ) message.CardSendListData = defClass("CardSendListData" -- 牌值类型 , defVar("type", VT_Short, 0) -- 单张牌值 , defVar("card", VT_UChar, 0) ) message.GameSendCardResponse = defClass("GameSendCardResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 牌值类型列表 , defVar("cardList", VT_Vector(message.CardSendListData), {}) --[[ -- 庄家uid , defVar("nUserId", VT_Int, 0)--]] ) -- 收到其他玩家掉线的信息 message.OtherDroppedResponse = defClass("OtherDroppedResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 0: 用户掉线回来, 1: 用户已经掉线 , defVar("nDroppedStatus", VT_Short, 0) ) message.GameBeginResponse = defClass("GameBeginResponse" --错误类型 ,defVar("nErrNo",VT_UChar,0) --可以开始游戏的用户ID ,defVar("nUserId",VT_Int,0) ) message.GameStartResponse = defClass("GameStartResponse" -- 局数 , defVar("nGameStartCount", VT_Short, 0) -- 总的局数 , defVar("nTotalGameNum", VT_Short, 0) -- 房主uid , defVar("nRoomOwnedUid", VT_Int, 0) -- 庄家座位id , defVar("nBankSeatId", VT_UChar, 99) -- 当4人玩时,小家座位ID,无小家此值为-1 , defVar("xiaoSeatId", VT_Short, -1) ) --一局结束后弃牌信息 message.BroadcastStopRoundGiveUpCardCount = defClass("BroadcastStopRoundGiveUpCardCount" --弃牌 , defVar("giveupChessOpCard", VT_UChar, 0) ) --一局结束后玩家列表 message.BroadcastStopRoundPlayList = defClass("BroadcastStopRoundPlayList" --玩家的id , defVar("nUserId", VT_Int, 0) --玩家本局输赢分数 , defVar("nTurnScore", VT_Int, 0) --玩家总的分数 , defVar("nTotalMoney", VT_Int, 0) --玩家碰,吃,哨,串,招个数 , defVar("tableWeaveCard", VT_Vector(message.weaveCardList)) --玩家手牌信息 , defVar("handCard", VT_Vector(message.weaveCardList)) --玩家弃牌信息 , defVar("desertedArea", VT_Vector(message.BroadcastStopRoundGiveUpCardCount)) ) --一局结束后底牌信息列表 message.BroadcastStopRoundDipaiList = defClass("BroadcastStopRoundDipaiList" --底牌信息 , defVar("chessCards", VT_UChar, 0) ) --胡牌信息 message.huInfo = defClass("huInfo" --胡牌uid, -1则下面6个字段是无用 , defVar("huPaiUid", VT_Int, 0) --点炮胡时,表示为点炮用户,其他情况无意义 , defVar("dianPaoUid", VT_Int, 0) --胡牌后总的胡数 , defVar("huPaiHuShu", VT_UChar, 0) -- 胡的类型(如天胡、地胡 ,自摸胡等) , defVar("huTypes", VT_Short, 0) --归的个数 , defVar("guiNum", VT_UChar, 0) --倍数 , defVar("multiNum", VT_UChar, 0) --胡的牌 , defVar("huCard", VT_UChar, 0) --保留字段 , defVar("reserve", VT_String, "") ) message.GameXiaoJuResponse = defClass("GameXiaoJuResponse" -- 一局结束的原因 , defVar("stopFlag", VT_UChar, -1) --胡牌信息 , defVar("hupaiInfo",VT_Vector(message.huInfo)) --多少个玩家 , defVar("playList", VT_VectorToMap(message.BroadcastStopRoundPlayList,"nUserId")) --底牌信息 , defVar("dipaiList", VT_Vector(message.BroadcastStopRoundDipaiList)) --是否大局结束,结束是1 , defVar("isGameOver", VT_Short, 0) ) --总结算玩家列表 message.BroadcastGameOverPlayList = defClass("BroadcastGameOverPlayList" --玩家Uid , defVar("nUserId", VT_Int, 0) --总输赢分数 , defVar("nTotalScore", VT_Int, 0) --用户金币信息 , defVar("propertyInfo", VT_String, 0) --json格式,暂无数据,后续扩展 , defVar("nTextJson", VT_String, 0) ) message.GameDaJuResponse = defClass("GameDaJuResponse" --多少个玩家 , defVar("playList", VT_VectorToMap(message.BroadcastGameOverPlayList, "nUserId")) --结束时间 , defVar("endTime", VT_Long, 0) ) -- 收到其他玩家加入房间的信息 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_Int, 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) -- 是否正在玩 -1: 用户站起 0: 用户坐下 1: 准备状态 2: 正在玩 , defVar("nPlayerFlag", VT_UChar, 0) -- 用户信息 , defVar("userInfo", VT_String, "") -- 用户总的分数 , defVar("nTotalMoney", VT_Int, 0) -- 用户扎鸟 , localVar("zhaBirdScore", VT_Int, 0) ) -- 服务器补充了一个新的离线扩展信息 message.RoomMemberInfoEx = defClass("RoomMemberInfoEx" -- 用户uid , defVar("nUserId", VT_Int, 0) --离线状态 , defVar("nOnlineStatus", VT_UChar, 1) -- 用户信息 , defVar("reserve", VT_String, "") ) -- 用户在桌子上坐下成功协议 message.SitDownSuccessResponse = defClass("SitDownSuccessResponse" -- 用户房间号 , 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("memberListEx", VT_VectorToMap(message.RoomMemberInfoEx, "nUserId")) ) --玩家弃牌区的牌 message.DesertedAreaVector = defClass("DesertedAreaVector" --玩家弃牌区的牌 ,defVar("card", VT_UChar, 0) ) -- array牌桌信息 message.CardTableInfo = defClass("CardTableInfo" --用户的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) --是否爆牌 0:不爆 1: 等待爆牌 2:已爆牌 , defVar("nBaoPaiStatus", VT_UChar, 255) --用户信息 , defVar("userInfo", VT_String, "") --当前局分数 , defVar("nTurnScore", VT_Int, -1) --总分 , defVar("nTotalMoney", VT_Int, -1) --是否可以操作,用于闹钟 此用户是否可以操作,0:不可以 1: 可以 , defVar("isCanOperate", VT_UChar, 255) --桌面组合牌 ,defVar("tableWeaveCard",VT_Vector(message.weaveCardList),{}) --玩家手牌 ,defVar("handCard",VT_Vector(message.weaveCardList),{}) --桌面弃牌 ,defVar("desertedArea",VT_Vector(message.DesertedAreaVector),{}) ) -- 离线时间 message.OffLineTime = defClass("OffLineTime" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 玩家扩展信息json格式 , defVar("extInfo", VT_String, "") ) -- 用户托管信息 message.TuoGuanInfo = defClass("TuoGuanInfo" -- 用户uid , defVar("nUserID", VT_Int, 0) -- , defVar("aiStatus", VT_UChar, 0) -- , defVar("reserve", VT_String, "") ) --断线重连 message.GameReconnection = defClass("GameReconnection" -- 用户房间号 , defVar("nShowTableId", VT_Int, 0) -- 房间最大人数 , defVar("nMaxPlayCount", VT_Short, 0) -- 用户房主 , defVar("nRoomOwnedUid", VT_Int, 0) -- 总的局数 , defVar("nTotalGameNum", VT_Short, 0) -- 当前局数 , defVar("nGameStartCount", VT_Short, 0) -- 游戏信息 , defVar("strGameInfo", VT_String, "") -- 游戏状态 , defVar("nStatus", VT_UChar, 0) -- 庄家座位 , defVar("nBankSeatId", VT_UChar, 0) -- 是否有人发起解散 , defVar("bUserDisbandGame", VT_UChar, 0) --解散总时间 , defVar("nDismissToTalTime", VT_Short, 0) -- 解散剩余时间,没人发起解散,此值为0 , defVar("nDismissStateTime", VT_Short, 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) -- 结束原因 , defVar("stopFlag", VT_UChar, -1) --胡牌信息 ,defVar("hupaiInfo",VT_Vector(message.huInfo)) --听牌张数 ,defVar("tingCards",VT_Vector(message.TingCard),{}) -- 当4人玩时,小家座位ID,无小家此值为-1 , defVar("xiaoSeatId", VT_Short, -1) --离线时长数据 ,defVar("offLineInfo",VT_Vector(message.OffLineTime),{}) --托管状态信息 , defVar("tuoGuanInfo", VT_VectorToMap(message.TuoGuanInfo,"nUserID")) ) -- 本地存储完整的房间数据 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) --解散总时间 , defVar("nDismissToTalTime", VT_Short, 0) -- 庄家座位id , defVar("nBankSeatId", VT_UChar, 99) --庄家中庄次数,为0以及中庄模式则显示庄字,连中非0值则显示具体数字 , defVar("nZhongBankCnt", VT_UChar, 99) -- 是否有人发起解散 , 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) --胡牌信息 ,defVar("hupaiInfo",VT_Vector(message.huInfo)) --听牌张数 ,defVar("tingCards",VT_Vector(message.TingCard),{}) ) -- 解散房间请求 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) ) -- 报警 message.BaoJing = defClass("BaoJing" -- 只有0与2 的取值,0:不报警 2:报警 , defVar("optType", VT_Short, 0) ) -- 报警结果 message.BaoJingResponse = defClass("BaoJingResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 只有0与2 的取值,0:不报警 2:报警 , defVar("optType", VT_Short, 0) ) -- 位置 message.ChoiceTable = defClass("ChoiceTable" --uid ,defVar("nUserId",VT_Int,0) --座位ID ,defVar("nSeatId",VT_UChar,0) ) -- 位置随机打乱 message.ChoicePlace = defClass("ChoicePlace" --位置信息 ,defVar("place",VT_Vector(message.ChoiceTable),{}) ) --申请提前开始游戏(座位没坐满) message.EarlyStartRequest = defClass("EarlyStartRequest" -- 玩家操作 0初始状态 1申请开始游戏 2同意开始游戏 3不同意开始游戏 , defVar("optType", VT_Short, 0) ) -- 每个玩家对于提前开始游戏的处理 message.UserEarlyStartSInfo = defClass("UserEarlyStartSInfo" -- nUserId , defVar("nUserId", VT_Int, 0) -- 0初始状态 1申请开始游戏 2同意开始游戏 3不同意开始游戏 , defVar("optType", VT_UChar, 0) -- 保留字段,暂不使用 , defVar("reserved", VT_String, "") ) -- 每个玩家对于提前开始游戏的处理 message.updateSeatId = defClass("updateSeatId" -- nUserId , defVar("nUserId", VT_Int, 0) --nSeatId , defVar("nSeatId", VT_UChar, 0) ) -- 提前开始游戏广播 message.EarlyStartBroadcast = defClass("EarlyStartBroadcast" --剩余申请游戏开始剩余时间 , defVar("nleftStartGameTimeout", VT_Short, -1) -- 桌子上其他用户提前开始游戏信息 , defVar("earlyStartPlayerInfo", VT_VectorToMap(message.UserEarlyStartSInfo, "nUserId")) ) -- 提前开始游戏结果 message.EarlyStartResult = defClass("EarlyStartResult" --更新椅子号 , defVar("updateSeatId", VT_VectorToMap(message.updateSeatId, "nUserId")) ) --爆牌请求 message.BaoPai = defClass("BaoPai" --爆牌请求 0 /1 两个取值 , defVar("optType", VT_Short, -1) ) --爆牌结果 message.BaoPaiResponse = defClass("BaoPaiResponse" -- nUserId , defVar("nUserId", VT_Int, 0) --爆牌结果 , defVar("optType", VT_Short, -1) ) --最后一张牌 message.LastCard = defClass("LastCard" -- 获得牌uid , defVar("nUserId", VT_Int, -1) -- 牌值 , defVar("firstCard", VT_UChar, -1) ) --获取手牌 message.GetHandcardsResponse = defClass("GetHandcardsResponse" --用户的USER ID , defVar("nUserId", VT_Int, 0) --玩家手牌 ,defVar("handCard",VT_Vector(message.weaveCardList),{}) ) message.card = defClass("card" -- 抽牌 , defVar("card", VT_UChar, 0) ) --[[----------------------------------------------------------- -- 快速开始请求 message.FastStartRequest = defClass("FastStartRequest" , defVar("tp", VT_UChar, 0) ) -- 快速开始请求结果 message.FastStartRequestResult = defClass("FastStartRequestResult" , defVar("result", VT_Short, -1) ) -- 服务器广播快速开始状态 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), {}) ) -- 游戏快速结束 -------------------------------------------------------------]] return message