local message=ZPFramework.ZPFrameworkClassImprot("zp_base.luaScript.Protocol.ZPMessage") message.GamePiao = defClass("GamePiao" --玩家ID , defVar("nUserId", VT_Int, 0) --听牌的牌值 , defVar("isPiao", VT_Short, -1) ) 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) ) message.BankerOutCard = defClass("BankerOutCard" -- 庄家uid , defVar("nUserId", VT_Int, 0) --出的牌 , defVar("byOutCard", VT_UChar, 0) --操作码 , defVar("mainOpCode", VT_Short, 0) --玩家数量 , defVar("palyerNum", VT_Short, 0) --出牌玩家剩余牌数据 , defVar("leftCardNum", VT_Short, 0) --总坨数 , defVar("totalTuoNum", VT_Int, 0) -- 是否必胡 , defVar("isBiHu", VT_Short, 0) ) 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("totalTuoNum", VT_Int, 0) --[[ -- 庄家uid , defVar("nUserId", VT_Int, 0)--]] ) message.UserOperateNotify = defClass("UserOperateNotify" -- 操作者ID , defVar("nUserId", VT_Int, 0) -- 是否胡牌 , defVar("ishu", VT_UChar, 0) -- 偷操作码 , defVar("TouoperateCode", VT_Short, 0) -- 偷操作个数 , defVar("ToucardList", VT_Vector(VT_UChar), {}) -- 巴操作码 , defVar("BaoperateCode", VT_Short, 0) -- 巴操作个数 , defVar("BacardList", VT_Vector(VT_UChar), {}) -- 总坨数 , defVar("totalTuoNum", VT_Int, 0) -- 操作 , defVar("mainOpCode",VT_Int, 0) -- 是否是小家 , defVar("isXiaoJia", VT_UChar, 0) -- 是否必胡 , defVar("isBiHu", VT_Short, 0) ) message.GameBaoSendOperateCode = defClass("GameBaoSendOperateCode" , defVar("operateCode", VT_Short, {}) ) message.UserCanBaoNotify = defClass("UserCanBaoNotify" ,defVar("operateCode",VT_Short,{}) ) message.UserBaoResulst = defClass("UserBaoResulst" -- 操作者ID , defVar("nUserId", VT_Int, 0) --椅子ID ,defVar("nSeatid",VT_Int, 0) --报叫的牌 ,defVar("baoCard",VT_UChar, 0) --报叫的类型 ,defVar("baoType",VT_Short, 0) ) message.GameOpreateList = defClass("GameOpreateList" --操作牌型 , defVar("opType", VT_Short, 0) --操作牌的集合 , defVar("opCardList", VT_UChar, 0) --提交过操作的胡数 , defVar("hushu", VT_UChar, 0) --操作的牌 ,defVar("opCard", VT_Vector(VT_UChar), {}) ) message.GameQiShouBroadCastOperate = defClass("GameQiShouBroadCastOperate" -- 操作者ID , defVar("nUserId", VT_Int, 0) -- 操作的牌 , defVar("opCard", VT_UChar, 0) -- 操作码 , defVar("operateCodes", VT_Short, 0) -- 操作列表 , defVar("opreateList", VT_Vector(message.GameOpreateList), {}) -- 总坨数 用于自己显示坨数 , defVar("totalTuoNum", VT_Int, 0) -- 手上剩余的牌 , defVar("leftCardNum", VT_Short, 0) -- 其他玩家的坨数 , defVar("otherTuoNum", VT_Int, 0) ) --广播庄家起手出牌 message.GameUserOutCard = defClass("GameUserOutCard" -- 出牌的ID , defVar("nUserId", VT_Int, 0) --出牌的seatid , defVar("nSeatid", VT_Int, 0) --吃后不能出的牌 ,defVar("disCard", VT_Vector(VT_UChar), {}) --巴后不能出的牌 ,defVar("firstOutCard", VT_Vector(VT_UChar), {}) --正常吃不能打的牌 ,defVar("nomorlDisCard",VT_Vector(VT_UChar), {}) ) --玩家出牌成功 message.OutCardSuccess = defClass("OutCardSuccess" -- 出牌用户id , defVar("nOutCardUserId", VT_Int, -1) -- 出的牌 , defVar("byOutCard", VT_UChar, -1) -- 可以的操作ma , defVar("mainOpCode", VT_Short, -1) --是否是必碰 , defVar("isBiPeng", VT_UChar, 0) --总共玩家数量 , defVar("totalPlayerNum", VT_Short, 0) --可以操作的牌 , defVar("opCardList", VT_Vector(VT_UChar), {}) --出牌后剩余牌 , defVar("leftHandCardNum", VT_Short, -1) --总坨数 , defVar("totoltuoNum", VT_Int, 0) --是否是小家 , defVar("isXiaoJia", VT_UChar, 0) --是否是庄家第一次出牌 , defVar("isBankerFirstOut", VT_UChar, 0) -- 是否必胡 , defVar("isBiHu", VT_Short, 0) ) 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_Vector(VT_UChar), {}) ) --发送操作码成功 message.OperationCodeSuccess = defClass("OperationCodeSuccess" -- 操作者的id , defVar("nUserId", VT_Int, -1) -- 操作的牌(只有天胡时 opCard才为0) , defVar("card", VT_UChar, 0) --桌面上打出的牌 :吃的时候要用到 , defVar("tableCard", VT_UChar, 0) -- 表明操作者他是否要出牌 , defVar("isShouldOutCard", VT_UChar, 0) -- 操作码的个数 一般为1;吃上比下时为多个 , defVar("operateCodes", VT_Short, {}) -- 组合牌信息 注意: 当本次玩家为跑起时,客户端需判断跑起牌中座位seatid是否在[0,3]范围内,若在,则需处理飞牌动画操作 , defVar("weaveCardList", VT_Vector(message.weaveCardList), {}) -- 吃牌区总的胡数 , defVar("totalHuShu", VT_Int, -1) -- 剩余手牌数量 , defVar("leftHandCardNum", VT_Short, -1) -- 其他玩家的坨数 , defVar("otherTuoNum", VT_Int, 0) --是否操作播放牌型 , defVar("isSanGen",VT_Short, -1) --是否操作播放牌型 , defVar("isSiGen",VT_Short, -1) ) --玩家进牌 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("totoltuoNum",VT_Int, 0) --报的类型 ,defVar("baoType", VT_Short, 0) ) --玩家进牌后操作提示 message.GameUserGetCardOperateNotify = defClass("GameUserGetCardOperateNotify" -- 操作者ID , defVar("nUserId", VT_Int, 0) -- 是否胡牌 , defVar("ishu", VT_UChar, 0) -- 偷操作码 , defVar("TouoperateCode", VT_Short, 0) -- 偷操作个数 , defVar("ToucardList", VT_Vector(VT_UChar), {}) -- 巴操作码 , defVar("BaoperateCode", VT_Short, 0) -- 巴操作个数 , defVar("BacardList", VT_Vector(VT_UChar), {}) -- 总坨数 , defVar("totalTuoNum", VT_Int, 0) --是否是小家 , defVar("isXiaoJia", VT_UChar, 0) --操作码 , defVar("mainOpCode", VT_Short, 0) -- 是否必胡 , defVar("isBiHu", VT_Short, 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("isBiPeng", VT_UChar, 0) -- 剩余牌数 , defVar("leftCardNum", VT_Short, -1) -- 吃牌的张数 , defVar("chiOpCardList", VT_Vector(VT_UChar), {}) --是否是小家 , defVar("isXiaoJia", VT_UChar, 0) -- 是否必胡 , defVar("isBiHu", VT_Short, 0) ) message.GameSendOpCodeResponse = defClass("GameSendOpCodeResponse" -- 操作的数量, 一般情况下,这个值都为取值为1,只有在吃牌,比牌的情况下大于1 , defVar("operateCode", VT_Short, {}) -- 操作的牌 , defVar("opCard", VT_UChar,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.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) --是否爆牌 0:不爆 1: 等待爆牌 2:已爆牌 , defVar("nBaoPaiStatus", VT_UChar, 0) --总坨数 , defVar("totalTuoNum",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) --违规uid , defVar("weiGuiUid", VT_Int, 0) --胡牌后总的胡数 , defVar("huPaiHuShu", VT_UChar, 0) -- 胡的类型(如天胡、地胡 ,自摸胡等) , defVar("huTypes", VT_Short, 0) --普通4张的个数 x1 , defVar("fourNormolNum", VT_UChar, 0) --4张红的个数x2 , defVar("fourHongNum", 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("isSanGen", 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) --是否必碰 , defVar("isBiPeng", VT_UChar, 0) --用户信息 , defVar("userInfo", VT_String, "") --当前局分数 , defVar("nTurnScore", VT_Int, -1) --总分 , defVar("nTotalMoney", VT_Int, -1) --总坨数 , defVar("totalTuoNum",VT_Int, 0) --是否可以操作,用于闹钟 此用户是否可以操作,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("TouoperateCode", VT_Short, 0) -- 偷操作个数 , defVar("ToucardList", VT_Vector(VT_UChar), {}) -- 巴操作码 , defVar("BaoperateCode", VT_Short, 0) -- 巴操作个数 , defVar("BacardList", VT_Vector(VT_UChar), {}) -- 总坨数 , defVar("totalTuoNum", VT_Int, 0) --可以操作的牌 吃的牌列表 ,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("stopFlag", VT_UChar, -1) -- 当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), {}) --当前操作ID ,defVar("curOpreateID",VT_Short, 0) --优先出的牌 ,defVar("firstOutCard", VT_Vector(VT_UChar), {}) --正常吃不能打的牌 ,defVar("nomorlDisCard",VT_Vector(VT_UChar), {}) --报叫动作 ,defVar("baoType",VT_Short, 0) --胡成三根或四根 ,defVar("isSanSiGen",VT_Short, 0) --后抓要变颜色的牌 --,defVar("houzhuaCard",VT_Vector(VT_UChar), {}) --是否进牌胡 , defVar("isZiMoHu", VT_Short, 0) -- 是否必胡 , defVar("isBiHu", VT_Short, 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("status", VT_Short, 0) ) return message