|
- local message=MJFramework.MJFrameworkClassImprot("mj.luaScript.Protocol.MJMessage")
-
- -- 托管
- 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.OperateCard = defClass("OperateCard"
- , defVar("opType", VT_Short, 0)
- -- 操作的牌
- , defVar("opCard", VT_UChar, 0)
- -- 操作牌中红中的个数
- --, defVar("redNum", VT_UChar, 0)
- -- 操作牌中是否含有红中 0表示无 1有 2左侧,例如吃2,3吃1
- --, defVar("isUseRed", VT_Short, 0)
- )
-
- message.TingCard = defClass("TingCard"
- --玩家选中的牌值
- , defVar("card", VT_UChar, -1)
- --数量
- , defVar("count", VT_UChar, -1)
- --番数
- , defVar("fanshu", VT_Int, 0)
- )
-
- message.TingCardResult = defClass("TingCardResult"
- --听牌类型 0为普通听牌类型,1为全听,全听时不会具体听牌
- , defVar("tingType", VT_UChar, -1)
- --听牌列表
- , defVar("tingCards",VT_Vector(message.TingCard),{})
- )
-
- --服务器通知庄家是否可以爆牌
- message.BankerBaoPai = defClass("BankerBaoPai"
- ,defVar("nUserId",VT_Int ,-1)
- )
-
- --请求爆牌
- message.BaoPaiRequest=defClass("BaoPaiRequest"
- ,defVar("isBaoPai",VT_UChar ,0)
- )
-
- --服务器广播爆牌
- message.BaoPaiResponse = defClass("BaoPaiResponse"
- --哪个玩家爆牌
- ,defVar("nUserId",VT_Int ,-1)
- ,defVar("isBaoPai",VT_Short ,0)
- --是否需要出牌
- , defVar("isNeedOutCard", VT_UChar,0)
- --是否可以躺操作
- --, defVar("isNeedTang", VT_UChar,0)
- -- 庄家操作列表
- , defVar("operates", VT_Vector(message.OperateCard), {})
-
- )
-
- message.PushCard = defClass("PushCard"
- --出的牌
- , defVar("outCard", VT_UChar,0)
- --听牌列表
- , defVar("tingCards",VT_Vector(message.TingCard),{})
- )
-
- message.OutCardTingInfo = defClass("OutCardTingInfo"
- , defVar("pushTing",VT_Vector(message.PushCard),{})
- )
-
- message.OperateRequest= defClass("OperateRequest"
- -- 牌类型
- , defVar("opType", VT_Short, 0)
- -- 操作的牌
- , defVar("opCard", VT_UChar, 0)
- -- 操作牌中红中的个数
- , defVar("redNum", VT_UChar, 0)
- )
-
- --新加一个带来源的类
- message.OperateCard1 = defClass("OperateCard1"
- -- 牌类型
- , defVar("opType", VT_Short, 0)
- -- 操作的牌
- , defVar("opCard", VT_UChar, 0)
- -- 无用字段
- , defVar("redNum", VT_UChar, 0)
- -- 无用字段
- , defVar("isUseRed", VT_Short, 0)
- -- 来源ID
- , defVar("fromUserId", VT_Int, -1)
-
- )
-
- message.PlayerHandCards= defClass("PlayerHandCards"
- -- 用户uid
- , defVar("nUserId", VT_Int, 0)
- --根据听牌状态判断是否可以爆牌
- , defVar("isTing", 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.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), {})
- --共多少手牌出牌后形成听牌状态
- , defVar("pushCardTing",VT_Vector(message.PushCard))
- )
-
- -- --玩家出牌成功
- 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)
- -- 可操作值数量
- --, defVar("mainOpCode", VT_Short, -1)
- -- 玩家操作
- , defVar("operates", VT_Vector(message.OperateCard), {})
- )
-
- -- --发送操作码成功
- 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)
- --是否需要躺操作
- , defVar("isNeedTang", 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_String, -1)
- --总分
- , defVar("nTotalMoney", VT_String, -1)
- --番数
- , defVar("fanshu", VT_Int, -1)
- -- 桌面组合牌
- ,defVar("gruoupCards",VT_Vector(message.OperateCard),{})
- --躺牌
- ,defVar("tangCards",VT_Vector(message.Card),{})
- --玩家手牌
- ,defVar("handCards",VT_Vector(message.Card),{})
- --桌面弃牌
- ,defVar("outCards",VT_Vector(message.Card),{})
- --是否查叫
- ,defVar("isDj",VT_UChar,0)
- --点炮次数
- ,defVar("dpCount",VT_Short,0)
- --点炮顺序
- ,defVar("dpOrder",VT_Short,0)
- --是否飘操作
- ,defVar("isPiao",VT_UChar,0)
- --当前飘状态
- ,defVar("piaoType",VT_UChar,0)
- --报叫状态
- ,defVar("baoJiao",VT_UChar,0)
- --是否可以报叫
- ,defVar("canBaoJiao",VT_UChar,0)
- --摆牌 0没有摆1摆牌2独摆
- ,defVar("isBaiPai", VT_UChar, 0)
- --保留
- ,defVar("extJson",VT_String,"")
- )
-
- message.PlayerResultInfo = defClass("PlayerResultInfo"
- --玩家的id
- , defVar("nUserId", VT_Int, 0)
- --1胡牌 2听叫 0默认
- , defVar("userStatus", VT_UChar, 0)
- -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
- , defVar("huType", VT_Int, 0)
- --胡的牌
- , defVar("huCard", VT_UChar, 0)
- --胡牌顺序
- , defVar("huOrder", VT_UChar, 0)
- --胡牌类型 点炮 or 自摸
- , defVar("result", VT_Short, 0)
- --谁点炮
- , defVar("dpSeatId", VT_UChar, -1)
- --根次数
- , defVar("genCount", VT_UChar, 0)
- --是否杠上开花
- , defVar("isGangShangKaiHua", VT_UChar, 0)
- --是否杠上炮
- , defVar("isGangShangPao", VT_UChar, 0)
- --是否抢杠胡
- , defVar("isQiangGangHu", VT_UChar, 0)
- --拓展字段
- , defVar("extJson",VT_String,"")
- )
-
- message.PiaoInfo = defClass("PiaoInfo"
- --玩家的id
- , defVar("nUserId", VT_Int, 0)
- --1胡牌 2听叫 0默认
- , defVar("canPiao", VT_Short, 0)
- -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
- , defVar("isPiao", VT_Short, 0)
- )
-
- -- --断线重连
- 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("paoCards",VT_Vector(message.Card))
- -- 牌桌信息
- ,defVar("playerInfos", VT_VectorToMap(message.playerInfo, "nUserId"))
- -- --剩余的底牌
- ,defVar("leaveCards",VT_Vector(message.Card))
-
- --天胡的庄家\翻牌者\出牌者的seatId(可通过状态判断具体的角色)
- ,defVar("outCardUserId",VT_Int,0)
- --出牌者的seatId
- ,defVar("outCardSeatId",VT_UChar,255)
- --当前发的牌或者出的牌
- ,defVar("lastOpCard",VT_UChar,255)
- --操作列表
- ,defVar("operates",VT_Vector(message.OperateCard),{})
- --是否需要出牌 1需要 0不需要
- ,defVar("isNeedOutCard",VT_UChar,0)
- --游戏结束标志 0正常结束 7黄庄 8长时间自动解散 9解散游戏
- ,defVar("stopFlag",VT_UChar,255)
-
- --胡牌玩家列表
- ,defVar("resultInfos",VT_VectorToMap(message.PlayerResultInfo,"nUserId"))
-
- --操作统计 "diangang_cnt":1, //点杠次数 "mgang":1, //明杠次数 "bgang":1, //巴杠次数 "agang":1, //暗杠次数
- ,defVar("opsCntMapString",VT_String,"")
- --听牌状态
- ,defVar("tingStatus",VT_UChar,0)
- --听牌信息
- ,defVar("tingCard",VT_Vector(message.PushCard),{})
-
- --是否在快开始界面,1是0否
- ,defVar("bUserFastStartGame",VT_UChar,0)
- --当前快速开始等待时间
- ,defVar("leftFastStartGameTime",VT_Int,0)
- --快速开始状态
- ,defVar("pList", VT_Vector(message.FastPlayer), {})
- --洗牌消耗数量
- ,defVar("shuffleNum", VT_Int, 2)
- -- 是否由电竞SDK创建的房间
- , defVar("isEapCreate", VT_Int, 0)
- -- 电竞倒计时时间
- , defVar("EapTime", VT_Int, 0)
- )
-
- --通知胡牌
- message.HuRespone = defClass("HuRespone"
- ,defVar("nUserId",VT_Int,0)
- --自摸还是点炮胡
- ,defVar("huType",VT_Short,0)
- --番数
- ,defVar("fanshu",VT_UChar,0)
- --牌类型
- ,defVar("paiType",VT_Int,0)
- --胡的牌
- ,defVar("huCard",VT_UChar,0)
- --是否抢杠胡 1是 0否
- ,defVar("isQiangGng",VT_UChar,0)
- --是否杠上炮 1是 0否
- ,defVar("isGspHu",VT_UChar,0)
- --是否杠上开花
- ,defVar("isGskhHu",VT_UChar,0)
- --点炮玩家
- ,defVar("dpId",VT_Int,0)
- --胡顺序
- ,defVar("huOrder",VT_UChar,0)
- --是否呼叫转移,1是 0否
- ,defVar("reserve",VT_String,0)
- )
-
- message.XiaojuPlayerInfo=defClass("XiaojuPlayerInfo"
- --玩家的id
- , defVar("nUserId", VT_Int, 0)
- --当前局分数
- , defVar("nTurnScore", VT_String, 0)
- --总分
- , defVar("nTotalMoney", VT_String, 0)
- --番数
- , defVar("fanshu", VT_Int, 0)
- --1胡牌 2听叫 0默认
- , defVar("userStatus", VT_UChar, 0)
- -- 胡牌牌类型-7对胡、平胡,0为输或者不胡不输
- , defVar("huType", VT_Int, 0)
- --当前飘分
- , defVar("piaoType", VT_UChar, 0)
- --报叫
- , defVar("isBaoJiao", VT_UChar, 0)
- --摆牌 0没有摆1摆牌2独摆
- , defVar("isBaiPai", VT_UChar, 0)
- -- 桌面组合牌
- , defVar("gruoupCards",VT_Vector(message.OperateCard),{})
- --玩家手牌
- , defVar("handCards",VT_Vector(message.Card),{})
- --桌面弃牌
- , defVar("outCards",VT_Vector(message.Card),{})
- --胡的牌
- , defVar("huCard", VT_UChar, 0)
- --胡牌顺序
- , defVar("huOrder", VT_UChar, 0)
- --胡牌类型 点炮 or 自摸
- , defVar("result", VT_Short, 0)
- --点炮次数
- , defVar("dpCount", VT_Short, 0)
- --谁点炮
- , defVar("dpSeatId", VT_UChar, -1)
- --点炮顺序
- , defVar("dpOrder", VT_Short, 0)
- --是否大叫
- , defVar("isDj", VT_UChar, 0)
- --归次数
- , defVar("genCount", VT_UChar, 0)
- --是否杠上开花
- , defVar("isGangShangKaiHua", VT_UChar, 0)
- --是否杠上炮
- , defVar("isGangShangPao", VT_UChar, 0)
- --是否抢杠胡
- , defVar("isQiangGangHu", VT_UChar, 0)
- --拓展字段
- , defVar("extJson",VT_String,"")
-
- )
-
- message.GameXiaoJuResponse = defClass("GameXiaoJuResponse"
- -- 一局结束的原因
- , defVar("stopFlag", VT_UChar, -1)
- -- 房间信息
- , defVar("strGameInfo", VT_String, "")
- --玩家信息
- , defVar("allPlayerInfo",VT_VectorToMap(message.XiaojuPlayerInfo,"nUserId"))
- --是否大局结束,结束是1
- , defVar("isGameOver", VT_Short, 0)
- --操作统计 son,无点杠”{}”
- --[[{
- “1000”:{ //用户id
- “diangang_cnt”:1, //点杠次数
- “mgang”:1, //明杠次数
- “bgang”:1, //巴杠次数
- “agang”:1, //暗杠次数
- },--]]
- ,defVar("opsCntMapString",VT_String,"")
-
- )
-
- -- --总结算玩家列表
- message.DaJuPlayerInfo = defClass("DaJuPlayerInfo"
- --玩家Uid
- , defVar("nUserId", VT_Int, 0)
- --总输赢分数
- , defVar("nTotalScore", VT_String, 0)
- -- 大局信息"ziMoCnt":1, //自摸胡次数 "jiePaoCnt":1, //接炮次数
- -- "dianPaoCnt":1, //点炮次数 "mingCnt":1, //明杠次数 "zhiCnt":1, //直杠次数
- --"baCnt":1, //巴杠次数 "anCnt":1, //暗杠次数 "djCnt":1, //查大叫的次数
- ,defVar("countInfo",VT_String,"")
- --需求房卡
- , defVar("requireCard",VT_Short,0)
- --扩展预留
- ,defVar("extJson",VT_String,"")
-
- )
- -- 消耗房卡信息
- message.DaJuPlayerCostInfo = defClass("DaJuPlayerInfo"
- --玩家Uid
- , defVar("nUserId", VT_Int, 0)
- , defVar("costCard",VT_Short,0)
- )
-
- message.GameDaJuResponse = defClass("GameDaJuResponse"
- --多少个玩家
- , defVar("nTotalPlayerInfos", VT_VectorToMap(message.DaJuPlayerInfo,"nUserId"))
- --解散状态
- , defVar("stopFlag",VT_Short,0)
- --解散状态
- ,defVar("strDisbandStatus",VT_String,"")
- --结束时间
- ,defVar("nEndTime",VT_Long,os.time())
- )
-
-
- message.WaitOperate= defClass("WaitOperate"
- --玩家Uid
- , defVar("nUserId", VT_Int, 0)
- -- 牌类型
- , defVar("opType", VT_Short, 0)
- )
-
- --断碰断杠操作
- message.QiangDuanOperates = defClass("QiangDuanOperates"
- ,defVar("operates",VT_Vector(message.OperateCard),{})
- )
-
- --请求飘
- message.PiaoRequest=defClass("PiaoRequest"
- ,defVar("isPiao",VT_UChar ,0)
- )
-
- --玩家飘状态
- message.PiaoState = defClass("PiaoState"
- --玩家Uid
- , defVar("nUserId", VT_Int, 0)
- -- 飘状态 0,1
- , defVar("piaostate", VT_UChar, 0)
- )
-
- --服务器收到玩家飘请求操作后广播给其他玩家
- message.PiaoResponse = defClass("PiaoResponse"
- --玩家Uid
- , defVar("nUserId", VT_Int, 0)
- -- 飘状态 0,1
- , defVar("piaostate", VT_UChar, 0)
- , defVar("playerPiaoState",VT_Vector(message.PiaoState),{})
- )
-
- --出牌错误
- message.OutCardError = defClass("OutCardError"
- -- 牌值
- , defVar("result", VT_Short, -1)
- )
-
- --换三张换的牌
- message.SwapCards= defClass("SwapCards"
- -- 服务器推荐的换牌
- , defVar("swapCards", VT_Vector(message.Card), {})
- )
-
- -- 请求换三张换的牌
- message.GetSwapCards = defClass("GetSwapCards"
- --出的牌 癞子保持0x5D
- ,defVar("bySwapCard", VT_Vector(VT_UChar), {})
- )
-
- --换三张错误
- message.SwapCardsErr= defClass("SwapCardsErr"
- -- 错误码
- , defVar("errFlag", VT_UChar, 0)
- )
-
- --换三张成功
- message.SwapCardsSucc= defClass("SwapCardsSucc"
- -- 换牌的用户id
- , defVar("nUserId", VT_Int, 0)
- )
-
- --全部换完成功的
- message.SwapCardsSuccInfo= defClass("SwapCardsSuccInfo"
- -- 错误码
- , defVar("swapCards", VT_Vector(message.Card), {})
- -- 换牌方式 1顺时针 2对家换牌 3逆时针
- , defVar("swapType", VT_UChar, 0)
- )
-
- --定缺牌
- message.QueCard=defClass("QueCard"
- --定缺牌面花色,0万 1筒 2条
- ,defVar("queCard",VT_UChar ,0)
- )
-
- --定缺成功
- message.DingQueSucc=defClass("DingQueSucc"
- -- 用户id
- ,defVar("nUserId", VT_Int, 0)
- --定缺牌面花色,0万 1筒 2条
- ,defVar("queCard",VT_UChar ,0)
- )
-
- --定缺成功广播告诉玩家定缺类型
- message.DingQueSuccInfo=defClass("DingQueSuccInfo"
- -- 用户id
- , defVar("dingQueInfo", VT_Vector(message.DingQueSucc), {})
- )
-
- -- 请求操作返回,失败[0x8109]
- message.OperateCard_Error = defClass('OperateCard_Error'
- , defVar('result', VT_UChar, -1)
- )
-
- -- 请求躺操作[0x8212]
- message.TangRequest = defClass('TangRequest'
- --操作值
- ,defVar("operateCodes", VT_Short, -1)
- --出的牌
- ,defVar("curOutCard", VT_UChar, 0)
- --躺的牌
- ,defVar("curTangCards", VT_Vector(VT_UChar), {})
- )
-
- message.TangError = defClass('TangError'
- --操作值
- ,defVar("errCode", VT_UChar, -1)
-
- )
-
- -- 躺操作结果[0x8212]
- message.TangResponse = defClass('TangResponse'
- --操作值
- ,defVar("nUserId", VT_Int, -1)
- --躺结果
- ,defVar("isTang", VT_UChar, 0)
- --躺的牌
- ,defVar("tangCards", VT_Vector(message.Card), {})
- --炮牌
- ,defVar("paoCards", VT_Vector(message.Card), {})
- --预留字段
- ,defVar("reserve", VT_String, "")
- )
-
- -- -- 用户在桌子上坐下成功协议
- 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"))
-
- -- 是否由电竞SDK创建的房间
- , defVar("isEapCreate", VT_Int, 0)
- -- 电竞倒计时时间
- , defVar("EapTime", VT_Int, 0)
- )
-
-
- return message
|