local message=ZPFramework.ZPFrameworkClassImprot("zp_base.luaScript.Protocol.ZPMessage") 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) --翻牌的座位id , defVar("turnSeatId", VT_Short, -1) --翻的牌 , defVar("turnCard", VT_Short, 0) --leftCardNum , defVar("leftCardNum", VT_Short, 0) ) message.TingCardResult = defClass("TingCardResult" --听牌张数 ,defVar("tingCards",VT_Vector(VT_UChar),{}) --是否可以包牌 -- 0: 不可爆牌 1: 可爆牌 ,defVar("canBaoPai", VT_Short, -1) ) message.CardSendListData = defClass("CardSendListData" -- 牌值类型 , defVar("type", VT_UChar, 0) --数量 --, defVar("cardNum", VT_Short, 0) -- 多个张牌值 , defVar("card", VT_Vector(VT_UChar), {}) ) message.GameSendCardResponse = defClass("GameSendCardResponse" -- 用户uid , defVar("nUserId", VT_Int, 0) --, defVar("turnSeatId", VT_Short, 0) -- 牌值类型列表 , defVar("cardList", VT_Vector(message.CardSendListData), {}) -- 桌面剩余牌 , defVar("leftCardNum", VT_Short, 0) --[[ -- 庄家uid , defVar("nUserId", VT_Int, 0)--]] ) message.TouBaCardList = defClass("TouBaCardList" , defVar("cardlist", VT_Vector(VT_UChar), {}) ) message.UserOperateNotify = defClass("UserOperateNotify" -- 操作者ID , defVar("nUserId", VT_Int, 0) -- 是否胡牌 , defVar("ishu", VT_UChar, 0) -- 偷操作个数 , defVar("ToucardList", VT_Vector(message.TouBaCardList), {}) -- 巴操作个数 , defVar("BacardList", VT_Vector(VT_UChar), {}) -- 操作 , defVar("mainOpCode",VT_Int, 0) ) message.GameQiShouSendOperateCodeResponse = defClass("GameQiShouSendOpCodeResponse" -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1 , defVar("operateCode", VT_Short, 0) -- 具体的牌 , defVar("opCard", VT_Vector(VT_UChar),{}) ) message.GameSendOpCodeResponse = defClass("GameSendOpCodeResponse" -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1 , defVar("operateCode", VT_Short, 0) -- 具体的牌 , defVar("opCard", VT_Vector(VT_UChar),{}) ) message.GameOpreateList = defClass("GameOpreateList" --操作牌型 , defVar("opType", VT_Short, 0) --操作牌的集合 , defVar("opCardList", VT_UChar, 0) --操作的牌 ,defVar("opCard", VT_Vector(VT_UChar), {}) ) message.GameQiShouBroadCastOperate = defClass("GameQiShouBroadCastOperate" -- 操作者ID , defVar("nUserId", VT_Int, 0) -- 操作码 , defVar("operateCodes", VT_Short, 0) -- 操作的牌 , defVar("opCard", VT_Vector(VT_UChar), {}) -- 操作列表 , defVar("opreateList", VT_Vector(message.GameOpreateList), {}) -- 手上剩余的牌 , defVar("leftCardNum", VT_Short, 0) ) --玩家进牌 message.GameUserGetCard = defClass("GameUserGetCard" -- 进牌的ID , defVar("nUserId", VT_Int, 0) --进牌的seatid , defVar("nSeatid", VT_Int, 0) -- 桌上剩余的牌 , defVar("tableCardNum", VT_Short, 0) --进的牌 , defVar("moCard", VT_UChar, 0) --玩家的剩余手牌 , defVar("leftCardNum",VT_Short, 0) --是否是后抓牌 ,defVar("isHouZhuaCard", VT_UChar, 0) ) --广播庄家起手出牌 message.GameBankerOutCard = defClass("GameBankerOutCard" -- 出牌的ID , defVar("nUserId", VT_Int, 0) --出牌的seatid , defVar("nSeatid", VT_Int, 0) --吃后不能出的牌 ,defVar("disCard", VT_Vector(VT_UChar), {}) --巴后不能出的牌 --,defVar("afterbadisCard", VT_Vector(VT_UChar), {}) ) --出牌 message.OutCard = defClass("OutCard" -- 牌值 , defVar("nCard", VT_UChar, -1) --包赔 ,defVar("baoPei", VT_UChar, 0) ) --通知包赔 message.BaoPei = defClass("OutCard" -- 牌值 , defVar("bCard", 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("isBaopei", VT_UChar, 0) --总共玩家数量 , defVar("totalPlayerNum", VT_Short, 0) --可以吃的牌 , defVar("opCardList", VT_Vector(VT_UChar), {}) --可以碰的牌 , defVar("CanOpPengCard", VT_Vector(message.TouBaCardList),{}) --出牌后剩余牌 , defVar("leftHandCardNum", VT_Short, -1) ) message.weaveCardList = defClass("weaveCardList" -- 牌类型 , defVar("type", VT_Short, 0) -- 操作的牌 , defVar("opcard", VT_UChar, 0) -- 第一张牌 此组合牌第一张牌,如1、2、3,则值为1 , defVar("card", VT_Vector(VT_UChar), {}) ) --发送操作码成功 message.OperationCodeSuccess = defClass("OperationCodeSuccess" -- 操作者的id , defVar("nUserId", VT_Int, -1) --桌面上打出的牌 :吃的时候要用到 , defVar("tableCard", VT_UChar, 0) -- 表明操作者他是否要出牌 , defVar("isShouldOutCard", VT_UChar, 0) -- 操作码的个数 一般为1;吃上比下时为多个 , defVar("operateCodes", VT_Short, {}) --操作的牌 , defVar("card", VT_Vector(VT_UChar), {}) -- 组合牌信息 注意: 当本次玩家为跑起时,客户端需判断跑起牌中座位seatid是否在[0,3]范围内,若在,则需处理飞牌动画操作 , defVar("weaveCardList", VT_Vector(message.weaveCardList), {}) -- 剩余手牌数量 , defVar("leftHandCardNum", VT_Short, -1) --是否吃来包起 , defVar("isChilaiBao",VT_Short, -1) --是否是后抓的牌 , defVar("isHouZhuaCard",VT_UChar, 0) ) --玩家进牌后操作提示 message.GameUserGetCardOperateNotify = defClass("GameUserGetCardOperateNotify" -- 操作者ID , defVar("nUserId", VT_Int, 0) -- 是否胡牌 , defVar("ishu", VT_UChar, 0) -- 偷操作个数 , defVar("ToucardList", VT_Vector(message.TouBaCardList), {}) -- 巴操作个数 , defVar("BacardList", VT_Vector(VT_UChar), {}) -- 操作码 , defVar("mainOpCode", VT_Int, 0) ) --摸牌 message.MoPai = defClass("MoPai" -- 抓牌者的id , defVar("nUserId", VT_Int, -1) -- 抓的牌 , defVar("turnOverCard", VT_UChar, -1) -- 自已可以的操作 , defVar("mainOpCode", VT_Short, -1) -- //0正常操作吃;1提醒过吃包赔;2必吃不过 , defVar("Baopeichi", VT_UChar, 0) -- 剩余牌数 , defVar("leftCardNum", VT_Short, -1) -- 吃牌的张数 , defVar("chiOpCardList", VT_Vector(VT_UChar), {}) -- 可以碰的牌 , defVar("canPengOpCard", VT_Vector(message.TouBaCardList), {}) ) --一局结束后弃牌信息 message.BroadcastStopRoundGiveUpCardCount = defClass("BroadcastStopRoundGiveUpCardCount" --弃牌 , defVar("giveupChessOpCard", VT_UChar, 0) ) --一局结束后玩家列表 message.BroadcastStopRoundPlayList = defClass("BroadcastStopRoundPlayList" --玩家的id , defVar("nUserId", VT_Int, 0) --玩家本局输赢分数 , defVar("nTurnScore", VT_String, 0) --玩家总的分数 , defVar("nTotalMoney", VT_String, 0) --是否爆牌 0:不爆 1: 等待爆牌 2:已爆牌 , defVar("nBaoPaiStatus", VT_UChar, 0) --总坨数 , defVar("shuangmanStatus",VT_UChar, 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) --包赔玩家ID ,defVar("BaoPeiUid", VT_Int, -1) --胡牌后总的胡数 , defVar("huPaiHuShu", VT_UChar, 0) -- 胡的类型(如天胡、地胡 ,自摸胡等) , defVar("huTypes", VT_Short, 0) --普通4张的个数 x1 , defVar("fourNormolNum", VT_UChar, 0) --普通3张的个数 x1 , defVar("threeNormolNum", VT_UChar, 0) --三张红的个数x1 , defVar("threeHongNum", 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) --是否进牌胡 , defVar("isZiMoHu", VT_Short, 0) ) message.OffLineTime = defClass("OffLineTime" -- 用户uid , defVar("nUserId", VT_Int, 0) -- 玩家扩展信息json格式 , defVar("extInfo", VT_String, "") ) message.TingCard = defClass("TingCard" --玩家可以出的牌 , defVar("outCard",VT_Vector(VT_UChar), {}) ) --玩家弃牌区的牌 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_Int, 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) --是否报叫 0 --未报 1--正在报叫 2--已经报叫 , defVar("isCanCall", VT_UChar, 0) --是否双满 , defVar("isShuangMan", VT_UChar, 0) --用户信息 , defVar("userInfo", VT_String, "") --当前局分数 , defVar("nTurnScore", VT_String, -1) --总分 , defVar("nTotalMoney", VT_String, -1) --是否可以操作,用于闹钟 此用户是否可以操作,0:不可以 1: 可以 , defVar("isCanOperate", VT_UChar, 255) --手上剩余牌 , defVar("leftCardNum",VT_UChar, 0) --桌面组合牌 ,defVar("tableWeaveCard",VT_Vector(message.weaveCardList),{}) --玩家手牌 ,defVar("handCard",VT_Vector(message.weaveCardList),{}) --桌面弃牌 ,defVar("desertedArea",VT_Vector(message.DesertedAreaVector),{}) ) --断线重连 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("xiaoSeatId", VT_UChar, 0) --翻牌者座位 , defVar("fanpaiSeatId", 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),{}) -- 是否胡牌 , defVar("ishu", VT_UChar, 0) -- 偷操作个数 , defVar("ToucardList", VT_Vector(message.TouBaCardList), {}) -- 巴操作个数 , defVar("BacardList", VT_Vector(VT_UChar), {}) --可以操作的牌 吃的牌列表 ,defVar("chiCardList", VT_Vector(VT_UChar),{}) --天胡的庄家\翻牌者\出牌者的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("isBaopeiCard", VT_UChar, 0) -- 结束原因 , defVar("stopFlag", VT_UChar, -1) --听牌张数 ,defVar("tingCards",VT_Vector(VT_UChar),{}) -- 当4人玩时,小家座位ID,无小家此值为-1 --, defVar("xiaoSeatId", VT_Short, -1) --离线时长数据 ,defVar("offLineInfo",VT_Vector(message.OffLineTime),{}) --胡牌信息 ,defVar("hupaiInfo",VT_Vector(message.huInfo)) --油牌 吃后不能出的牌 ,defVar("disCard", VT_Vector(VT_UChar), {}) --可碰的牌 ,defVar("canPengOpCard", VT_Vector(message.TouBaCardList),{}) --当前操作ID ,defVar("curOpreateID",VT_Short, 0) --点过提示 ,defVar("isBaopeiGuo",VT_Short, 0) --[[ --巴后不能出的牌 ,defVar("afterbadisCard", VT_Vector(VT_UChar), {})--]] --后抓要变颜色的牌 --,defVar("houzhuaCard",VT_Vector(VT_UChar), {}) --当前进的牌 ,defVar("curEnterCard", VT_UChar, 0) --是否进牌胡 , defVar("isZiMoHu", VT_Short, 0) --是否进牌胡 , defVar("isQiangBaHu", VT_Short, 0) ) --刷新手牌请求 message.ReflashHandCard = defClass("ReflashHandCard" --刷新手牌请求 0 /1 两个取值 , defVar("isFflash", VT_Short, -1) ) message.myHandCardList = defClass("myHandCardList" -- 牌类型 , defVar("type", VT_UChar, 0) -- 第一张牌 此组合牌第一张牌,如1、2、3,则值为1 , defVar("card", VT_Vector(VT_UChar), {}) ) --获取手牌 message.ReflashHandcardsResponse = defClass("ReflashHandcardsResponse" --用户的USER ID , defVar("nUserId", VT_Int, 0) --玩家手牌 ,defVar("handCard",VT_Vector(message.myHandCardList),{}) ) --抢巴胡 message.QiangBaResponse = defClass("QiangBaResponse" --用户的USER ID , defVar("nUserId", VT_Int, 0) --牌 , defVar("nCard", VT_UChar, 0) --操作 ,defVar("mainOpCode",VT_Short,0) ) message.GuoBaResponse = defClass("GuoBaResponse" --用户的USER ID , defVar("nUserId", VT_Int, 0) --用户的椅子ID , defVar("seatid", VT_Int, 0) --巴后不能出的牌 , defVar("disCard", VT_Vector(VT_UChar), {}) ) --弃牌 message.QiPai = defClass("QiPai" -- 弃牌者的id , defVar("nUserId", VT_Int, -1) -- 弃牌,一般为抓的牌 , defVar("disCard", VT_UChar, -1) --是否是后抓的牌 , defVar("isHouZhuaCard",VT_UChar, 0) ) --托管状态 message.HostingResponseEntity = defClass("HostingResponseEntity" ,defVar("nUserId",VT_Int,0) --1.托管 0取消托管 ,defVar("status",VT_UChar,0) ,defVar("ext", VT_String, "") ) --托管状态 message.HostingResponse = defClass("HostingResponse" ,defVar("userList", VT_Vector(message.HostingResponseEntity), {}) ) message.HostingRequest = defClass("HostingRequest" , defVar("nUserId", VT_Int, 0) , defVar("status", VT_UChar, 0) ) --总结算玩家列表 message.BroadcastGameOverPlayList = defClass("BroadcastGameOverPlayList" --玩家Uid , defVar("nUserId", VT_Int, 0) --总输赢分数 , defVar("nTotalScore", VT_String, 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) ) return message