game_sync/protocol/baccarat/baccarat.proto

167 lines
5.5 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package baccarat;
option go_package = ".;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; // 上庄列表
}