syntax = "proto3"; package GameInfo; //用户准备 100-2 100-4(发送回复都是空) message PB_CS_USER_READY{ }; message pb_dwUserName{ string dwUserName = 1; }; //s->c 用户下一局洗牌 全部选择完回应 100-5 message PB_CS_S_SHUFFLE_ALL_ACK{ uint32 cbCount = 1;// 人数 repeated pb_dwUserName dwUserName = 2;//昵称 }; //用户聊天 100-10 message PB_CS_UserChat{ uint32 wChatLength = 1; //信息长度 uint32 dwChatColor = 2; //信息颜色 uint32 dwTargetUserID = 3; //目标用户 uint32 dwSendUserID = 4; //发送用户 string szChatString = 5; //聊天信息 }; //用户表情 100-11 message PB_CS_UserExpression{ uint32 wItemIndex = 1; //表情索引 uint32 dwSendUserID = 2; //发送用户 uint32 dwTargetUserID = 3; //目标用户 }; //游戏状态 100-100 message PB_CS_GameStatus{ uint32 cbGameStatus = 1; //游戏状态 uint32 cbAllowLookon = 2; //旁观标志 }; message PB_CS_C_tagGameConfig{ uint32 wSubGameID = 1; //子游戏类型(0一脚赖油,1无赖到底,2半赖,3血流) uint32 wPlayRule = 2; //底分 uint32 wMaxFanRule = 3; //房费(0房间创建者,1打牌者平摊) uint32 wMaxScore = 4; //IP限制(0限制,1不限制) uint32 wPlayCountRule = 5; //一次玩的局数(8局?16局?) uint32 wHadPlayCount = 6; //桌子号 uint32 zmExtraRule = 7; //是否是房主 uint32 dghRule = 8; // string sPrivateTableID = 9; uint32 bDuoLai = 10; //多癞子可平胡,1 不能放冲 0 能放冲胡吧----推倒胡 用这个值标示 是否可以放冲胡 uint32 wFengDing = 11; //封顶值 uint32 tmp1 = 12; //备用字段 uint32 tmp2 = 13; //备用字段 uint32 tmp3 = 14; //备用字段 uint32 tmp4 = 15; //备用字段 uint32 tmp5 = 16; //备用字段 }; //游戏场景(断线重连) 100-101 message PB_CS_S_StatusFree{ PB_CS_C_tagGameConfig gameConfig = 1; //游戏基本配置 repeated sint64 lUserTmpScore = 2; //临时积分。在私有桌子中不使用自身的积分或金币,使用临时积分。 uint32 leftTime = 3; //未开始设置 255 uint32 wchairId = 4; //发起人座位号 repeated uint32 options = 5; // 0 未决定 1 tongy 2jj uint32 UserStat = 6; //玩家当前状态 }; //组合子项 message pb_WeaveItem{ uint32 cbWeaveKind = 1; //组合类型 uint32 cbCenterCard = 2; //中心扑克 uint32 cbPublicCard = 3; //公开标志 uint32 wProvideUser = 4; //供应用户 repeated uint32 cbMargicOffset = 5; //如果有财神参与组合,财神的位置 1-4 ,该位置存储实际是那张财神的index }; message pb_WeaveItemArray{ repeated pb_WeaveItem WeaveItem = 2; }; message pb_cbDiscardCard{ repeated uint32 cbDiscardCard = 1; }; //游戏状态,断线重连 100-103 message PB_CS_S_StatusPlay{ PB_CS_C_tagGameConfig gameConfig = 1; repeated uint64 lUserTmpScore = 2; //临时积分。本轮玩家的积分 uint32 leftTime = 3; //255未开始 uint32 wchairId = 4; //解散申请人 repeated uint32 options = 5; //在坐玩家 解散状态 0 未决定 1 同意 2不同意 //游戏变量 uint32 cbTotalCardCount = 6; //游戏总牌数 uint32 cbLeftCardCount = 7; //单局游戏剩余牌数 uint32 wBankerUser = 8; //本局游戏庄家 repeated uint32 lSiZi = 9; //色子1,2,皮子,癞子 uint32 dwOwnerID = 10; //房主ID //当前状态 uint32 wCurrentUser = 11; //当前用户 repeated uint32 bPutCardData = 12; //最后一张牌打出的人和牌值 uint32 totalOptTime = 13; //总操作时间10秒 uint32 leftOptTime = 14; //还剩多少时间0 repeated uint32 cbDiscardCount = 15; //丢弃数目 repeated pb_cbDiscardCard cbDiscardCard = 16; //丢弃记录 repeated uint32 cbCardCount = 17; //每个玩家扑克数目 //组合扑克 repeated uint32 cbWeaveCount = 18; //组合数目 repeated pb_WeaveItemArray WeaveItemArray = 19; //组合扑克 repeated uint32 cbCardData = 20; //当前玩家手牌 //断线玩家数据就是当前牌权玩家 uint64 cbActionMask = 21; //操作掩码 repeated uint32 gangCards = 22; //当有杠的时候这里面有牌 }; //用户距离 100-104 message PB_CS_S_UserDistance{ repeated uint32 cbOperLocation = 1; //是否开启定位 0未开启 1开启 repeated sint64 dwUserDistance = 2; //玩家距离 }; //系统消息 100-200 message PB_CS_S_SystemMessage{ uint32 wType = 1; //消息类型 uint32 wLength = 2; //消息长度 string szString = 3; //消息内容 };