167 lines
5.6 KiB
Protocol Buffer
167 lines
5.6 KiB
Protocol Buffer
syntax = "proto3";
|
||
package baccarat;
|
||
option go_package = "mongo.games.com/game/protocol/baccarat";
|
||
|
||
//百家乐
|
||
enum BaccaratPacketID{
|
||
PACKET_BACCARAT_ZERO = 0; //弃用消息号
|
||
PACKET_SC_BACCARAT_ROOMINFO = 5120; //房间信息
|
||
PACKET_CS_BACCARAT_PLAYEROP = 5121; //玩家操作(客户-》服务)
|
||
PACKET_SC_BACCARAT_PLAYEROP = 5122; //玩家操作(服务-》客户)
|
||
PACKET_SC_BACCARAT_ROOMSTATE = 5123; //房间状态
|
||
PACKET_SC_BACCARAT_GAMEBILLED = 5124; //游戏结算
|
||
PACKET_SC_BACCARAT_SEATS = 5125; //座位信息
|
||
PACKET_SC_BACCARAT_PLAYERLIST = 5126; //玩家列表
|
||
PACKET_SC_BACCARAT_SENDBET = 5127; //批量押注筹码信息
|
||
PACKET_SC_BACCARAT_BANKERLIST = 5128; // 上庄列表
|
||
}
|
||
|
||
enum OpResultCode {
|
||
OPRC_Sucess = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_Baccarat_EachBetsLimit = 7000; //每门下注上限
|
||
OPRC_Baccarat_YouHadBetCannotLeave = 7001; //你已下注!不能离开
|
||
OPRC_Baccarat_YouHadBankerCannotLeave = 7002; //你已上庄!不能离开
|
||
OPRC_Baccarat_CoinMustReachTheValue = 7005; //抱歉,xx筹码以上才能下注
|
||
OPRC_Baccarat_CoinIsNotEnough = 7006; //你的金币不足,无法下注
|
||
OPRC_Baccarat_BankerWaiting = 7007; //你已经在上庄等待区了
|
||
OPRC_Baccarat_BankerLimit = 7008; //不满足上庄条件
|
||
OPRC_Baccarat_NotBankerWaiting = 7009; //你已经在上庄等待区了
|
||
OPRC_Baccarat_BankerCannotBet = 7010; //庄家不能下注
|
||
OPRC_Baccarat_SelfBetLimitRate = 7011; //下注总额不能超过自身携带的1/6
|
||
}
|
||
|
||
message BaccaratPlayerData{
|
||
string Name = 1; //名字
|
||
int32 SnId = 2; //账号
|
||
int32 Head = 3; //头像
|
||
int32 Sex = 4; //性别
|
||
int64 Coin = 5; //金币
|
||
int32 Pos = 6; //座位位置
|
||
int32 Flag = 7; //二进制标记
|
||
repeated string Params = 8; //其他数据 如:ip 等
|
||
string City = 9; //城市
|
||
int64 Lately20Win = 10;//最近20局输赢 (赢的次数)
|
||
int64 Lately20Bet = 11;//最近20局总下注 (可能是负值)
|
||
int32 HeadOutLine = 12; //头像框
|
||
int32 VIP = 13;
|
||
int32 NiceId = 14;
|
||
}
|
||
|
||
//筹码数据
|
||
message BaccaratChips{
|
||
int32 Chip = 1;
|
||
int32 Count = 2;
|
||
}
|
||
|
||
message BaccaratZoneChips{
|
||
int32 Zone = 1;//和,龙,虎
|
||
repeated BaccaratChips Detail = 2;//筹码类型
|
||
}
|
||
|
||
message SCBaccaratRoomInfo {
|
||
//房间信息
|
||
int32 RoomId = 1; //房间id
|
||
int32 Creator = 2; //创建者SnId
|
||
int32 GameId = 3; //游戏id
|
||
int32 RoomMode = 4;//游戏模式
|
||
repeated int32 Params = 5; //规则参数
|
||
int32 NumOfGames = 6;//当前第几局
|
||
repeated int32 Cards = 7;//牌数据 (没开牌之前是两个-1)
|
||
int32 State = 8; //房间当前状态
|
||
int32 TimeOut = 9; //等待剩余时间 单位:毫秒
|
||
int32 BankerPos = 10;//庄家位置
|
||
int32 DisbandGen = 11;//解散申请
|
||
int32 AgentId = 12; //代开房者
|
||
repeated int32 ParamsEx = 13; //其他参数
|
||
int32 SceneType = 14; //房间模式 0:房卡模式 1:钻石模式
|
||
repeated BaccaratPlayerData Players = 15; //房间内的玩家信息
|
||
repeated int64 TotalChips = 16; //3个区域内的筹码总额 和,龙,虎
|
||
repeated BaccaratZoneChips MyChips = 17; //区域内我的筹码数据
|
||
repeated int32 Trend100Cur = 18; //当前100局走势数据
|
||
repeated int32 Trend20Lately = 19; //最近20龙虎走势数据
|
||
int32 OLNum = 20; //在线玩家数量
|
||
int32 LastCards = 21; //剩余的牌数
|
||
int32 BankerId = 22; // 庄家Id
|
||
int32 LoopNum = 23; // 后台控制结算结果时使用
|
||
}
|
||
|
||
//座位位置
|
||
message SCBaccaratSeats{
|
||
repeated BaccaratPlayerData Data = 1; //玩家信息
|
||
int32 PlayerNum = 2; //玩家数量
|
||
int32 BankerId = 3; //庄的id, 0:系统庄
|
||
}
|
||
|
||
|
||
//玩家操作
|
||
message CSBaccaratOp{
|
||
int32 OpCode = 1; //操作码 0:押注 1:获取在线玩家 2:上庄 3:在庄的下庄 4:上庄列表 5:下庄
|
||
repeated int64 Params = 2; //操作参数
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCBaccaratOp{
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
}
|
||
|
||
//房间状态
|
||
message SCBaccaratRoomState{
|
||
int32 State = 1; //房间当前状态
|
||
int32 SubState = 2; //房间当前子状态
|
||
repeated int32 Params = 3; //状态参数
|
||
// State==3时:Params中三个值,依次为牌,牌,比牌结果
|
||
}
|
||
|
||
//玩家列表
|
||
message SCBaccaratPlayerList {
|
||
repeated BaccaratPlayerData Data = 1;
|
||
int32 OLNum = 2; //在线人数
|
||
}
|
||
|
||
//
|
||
message BaccaratBill{
|
||
int32 SnId=1;//玩家ID
|
||
int64 Coin=2;//总金币
|
||
int64 GainCoin = 3;//输赢的金币
|
||
}
|
||
|
||
//大赢家
|
||
message BaccaratBigWinner{
|
||
int32 SnId = 1; //账号
|
||
string Name = 2; //名字
|
||
int32 Head = 3; //头像
|
||
int32 HeadOutLine = 4; //头像框
|
||
int32 VIP = 5;
|
||
int32 Sex = 6; //性别
|
||
int64 Coin = 7; //金币
|
||
int32 GainCoin = 8;//本局赢的钱
|
||
string City = 9; //城市
|
||
}
|
||
|
||
//结算
|
||
message SCBaccaratBilled{
|
||
repeated BaccaratBill BillData = 1;//8个位置的结算数据
|
||
BaccaratBigWinner BigWinner = 2;//大赢家数据
|
||
int32 LoopNum = 3; // 后台控制结算结果时使用
|
||
}
|
||
|
||
message BaccaratBetInfo{
|
||
int32 SnId = 1; //座位上的人ID
|
||
repeated int64 TotalChips = 2; //3个区域内的筹码总额 和,龙,虎
|
||
}
|
||
|
||
message SCBaccaratSendBet{
|
||
repeated BaccaratBetInfo Data = 1;//所有座位筹码信息
|
||
repeated int64 TotalChips = 2; //3个区域内的筹码总额 和,龙,虎
|
||
}
|
||
|
||
//上庄列表
|
||
message SCBaccaratBankerList{
|
||
int32 Count = 1; // 数量
|
||
int32 IsExist = 2; // 玩家是否已经在上庄列表 0:不在上庄列表 1:在上庄列表
|
||
repeated BaccaratPlayerData Data = 3; // 上庄列表
|
||
} |