164 lines
5.3 KiB
Protocol Buffer
164 lines
5.3 KiB
Protocol Buffer
syntax = "proto3";
|
||
package crash;
|
||
option go_package = "mongo.games.com/game/protocol/crash";
|
||
|
||
//操作结果
|
||
enum OpResultCode {
|
||
OPRC_Sucess = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_CoinMustReachTheValue = 2;//提示低于多少不能下注
|
||
OPRC_CoinIsNotEnough = 3; //金币不足
|
||
OPRC_OnlyBet = 4; //已下注,不可重复下注
|
||
OPRC_OnlyMultiple = 5; //跳伞失败,跳伞倍率错误
|
||
}
|
||
//碰撞游戏
|
||
enum CrashPacketID{
|
||
PACKET_CRASH_ZERO = 0; // 弃用消息号
|
||
PACKET_SC_CRASH_ROOMINFO = 5140; //房间信息
|
||
PACKET_CS_CRASH_PLAYEROP = 5141; //玩家操作(客户-》服务)
|
||
PACKET_SC_CRASH_PLAYEROP = 5142; //玩家操作(服务-》客户)
|
||
PACKET_SC_CRASH_ROOMSTATE = 5143; //房间状态
|
||
PACKET_SC_CRASH_GAMEBILLED = 5144; //游戏结算
|
||
PACKET_SC_CRASH_SEATS = 5145; //座位信息
|
||
PACKET_SC_CRASH_PLAYERLIST = 5146; //玩家列表
|
||
PACKET_SC_CRASH_SENDBET = 5147; //批量押注筹码信息
|
||
PACKET_SC_CRASH_SENDTime = 5148; //时间频率更新
|
||
PACKET_SC_CRASH_Parachute = 5149; //跳伞推送
|
||
}
|
||
|
||
//时间 PACKET_SC_CRASH_SENDTime
|
||
message CrashTime{
|
||
int64 Millisecond = 1; //毫秒
|
||
int32 Multiple = 2; //下注倍数
|
||
}
|
||
|
||
message CrashPlayerData{
|
||
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;
|
||
}
|
||
|
||
//筹码数据 PACKET_SC_CRASH_Parachute
|
||
message CrashChips{
|
||
int64 Chip = 1; //下注金额
|
||
int32 Multiple = 2; //下注倍数
|
||
int32 SnId = 3; //玩家ID
|
||
|
||
}
|
||
|
||
message CrashZoneChips{
|
||
repeated CrashChips Data = 1;//筹码
|
||
}
|
||
|
||
//房间信息
|
||
message SCCrashRoomInfo {
|
||
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;//牌数据
|
||
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 CrashPlayerData Players = 15; //房间内的玩家信息
|
||
repeated CrashZoneChips OtherChips = 16; //其它人的筹码数据
|
||
repeated CrashZoneChips MyChips = 17; //我的筹码数据
|
||
repeated int32 Trend100Cur = 18; //当前100局走势数据
|
||
repeated int32 Trend20Lately = 19; //最近20局走势数据
|
||
repeated int32 Trend20CardKind = 20; //最近20局牌型数据
|
||
int32 AllOnlinePlayerNum = 21; //在线玩家数量
|
||
repeated int32 OtherIntParams = 22; //规则参数
|
||
int32 LoopNum = 23; // 后台控制结算结果时使用
|
||
int64 AllBetCoin = 24;//总下注筹码
|
||
int32 AllBetPlayerNum = 25;//已下注的玩家数量
|
||
int32 ParachutePlayerNum = 26;//已跳伞玩家数量
|
||
int64 ParachutePlayerCoin = 27;//已跳伞玩家下注金额
|
||
}
|
||
|
||
//座位位置
|
||
message SCCrashSeats{
|
||
repeated CrashPlayerData Data = 1; //玩家信息
|
||
int32 PlayerNum = 2; //玩家数量
|
||
}
|
||
|
||
|
||
//玩家操作
|
||
message CSCrashOp{
|
||
int32 OpCode = 1; //操作码 0:押注 1:获取在线玩家 2:跳伞
|
||
repeated int64 Params = 2; //操作参数
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCCrashOp{
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
}
|
||
|
||
//房间状态
|
||
message SCCrashRoomState{
|
||
int32 State = 1; //房间当前状态
|
||
int32 SubState = 2; //房间当前子状态
|
||
repeated int32 Params = 3; //状态参数
|
||
// State==3时:Params中9个值,依次为黑方3张牌,红方3张牌,黑方牌型,红方牌型,比牌结果
|
||
}
|
||
|
||
//玩家列表
|
||
message SCCrashPlayerList {
|
||
repeated CrashPlayerData Data = 1;
|
||
int32 OLNum = 2; //在线人数
|
||
}
|
||
|
||
//
|
||
message CrashBill{
|
||
int32 SnId = 1;//玩家ID
|
||
int64 Coin = 2;//总金币
|
||
int64 GainCoin = 3;//本局输赢金币 这个含税了
|
||
|
||
}
|
||
|
||
//大赢家
|
||
message CrashBigWinner{
|
||
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 SCCrashBilled{
|
||
repeated CrashBill BillData = 1;//8个位置的结算数据
|
||
CrashBigWinner BigWinner = 2;//大赢家
|
||
int32 LoopNum = 3; // 后台控制结算结果时使用
|
||
}
|
||
|
||
//批量下注消息
|
||
message SCCrashSendBet{
|
||
repeated CrashChips Data = 1;//前20位筹码信息
|
||
int64 AllBetCoin = 2;//总下注筹码
|
||
int32 AllOnlinePlayerNum = 3;//所有在线人数
|
||
int32 AllBetPlayerNum = 4;//已下注的玩家数量
|
||
} |