157 lines
6.0 KiB
Protocol Buffer
157 lines
6.0 KiB
Protocol Buffer
syntax = "proto3";
|
||
package smallrocket;
|
||
option go_package = "mongo.games.com/game/protocol/smallrocket";
|
||
|
||
//小火箭
|
||
enum SmallRocketPacketID {
|
||
PACKET_SMALLROCKET_ZERO = 0; //弃用消息号
|
||
PACKET_SC_SMALLROCKET_ROOMINFO = 5581; //房间信息
|
||
PACKET_CS_SMALLROCKET_PLAYEROP = 5582; //玩家操作(客户->服务)
|
||
PACKET_SC_SMALLROCKET_PLAYEROP = 5583; //玩家操作(服务->客户)
|
||
PACKET_SC_SMALLROCKET_ROOMSTATE = 5584; //房间状态
|
||
PACKET_SC_SMALLROCKET_PLAYERTAKEGAIN = 5585; //玩家跳伞
|
||
PACKET_SC_SMALLROCKET_GAMEBILLED = 5586; //游戏结算
|
||
PACKET_SC_SMALLROCKET_ROOMPLAYERBETNUM = 5587; //当局玩家下注人数未逃离
|
||
PACKET_SC_SMALLROCKET_PlayerEnter = 5589; // 玩家进入
|
||
PACKET_SC_SMALLROCKET_PlayerLeave = 5590; // 玩家离开
|
||
PACKET_SC_SMALLROCKET_PLAYERINFO = 5591; // 玩家状态信息变化
|
||
}
|
||
|
||
//操作结果
|
||
enum OpResultCode {
|
||
OPRC_Success = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_CoinNotEnough = 2; //钱不够
|
||
OPRC_PosAlReadyBet = 3; //本局位置已下注
|
||
}
|
||
|
||
// 下注信息
|
||
message BetDataInfo {
|
||
int64 BetVal = 1; //下注金额
|
||
float TakeMul = 2; //领取倍数
|
||
bool IsCurBet = 3; // 本局是否下注
|
||
bool IsNextBet = 4; // 下局是否下注
|
||
bool IsTakeGain = 5; // 是否收取过奖励
|
||
bool IsAutoBetAndTake = 6; // 是否自动下注收取
|
||
}
|
||
|
||
message SmallRocketPlayerData {
|
||
string Name = 1; //名字
|
||
int32 SnId = 2; //账号
|
||
int32 Head = 3; //头像
|
||
int32 Sex = 4; //性别
|
||
int64 Coin = 5; //金币
|
||
int32 HeadOutLine = 6; //头像框
|
||
int32 VIP = 7;
|
||
int32 Flag = 8; //二进制标记 第一位:是否掉线(0:在线 1:掉线) 第二位:是否准备(0:未准备 1:已准备)
|
||
|
||
int64 WinCoin = 9; // 本局赢分
|
||
repeated BetDataInfo BetDataArr = 10; //下注信息
|
||
|
||
repeated string Params = 15; //其他数据 如:ip 等
|
||
}
|
||
|
||
//房间信息
|
||
message SCSmallRocketRoomInfo {
|
||
int32 RoomId = 1; //房间id
|
||
int32 GameId = 2; //游戏id
|
||
int32 RoomMode = 3; //游戏模式
|
||
repeated int32 Params = 4; //规则参数
|
||
int32 State = 5; //房间当前状态
|
||
int32 TimeOut = 6; //该状态已经历时间 单位:秒
|
||
repeated SmallRocketPlayerData Players = 7; //房间内的玩家信息
|
||
float BombMul = 8; //爆炸倍数
|
||
int32 TotalPlayer = 9; //房间总人数
|
||
int32 TotalBetPlayer = 10; //下注总人数
|
||
repeated float RoundBoomMuHistory = 11; //5个历史倍数记录
|
||
int32 RoundId = 12; //当前局数ID
|
||
repeated int32 ParamsEx = 13; //其他参数
|
||
int32 BombRandomNum = 14; //爆炸随机数
|
||
int32 GameFreeId = 15;
|
||
int32 BaseScore = 16; //基础分
|
||
|
||
}
|
||
|
||
//玩家操作
|
||
message CSSmallRocketOp {
|
||
int32 OpCode = 1; //操作码 0:下注 1:取消下注 2:下车收取奖励 3:设置自动下注状态 4:设置自动领取 5:中断后回到游戏请求玩家信息
|
||
repeated int64 Params = 2; //操作参数 0:Params[0]下注位置 0, 1 Params[1]下注金额 Params[2]收取倍数
|
||
//操作参数 1:Params[0]取消下注 位置 0, 1
|
||
//操作参数 2:Params[0]收取 位置 0, 1
|
||
//操作参数 3:Params[0] 0:{ 0: 取消自动 1:设置为自动下注} 1:Params[1]{位置} 2: Params[2]下注金额 3:Params[3]收取倍数
|
||
//操作参数 4:Params[0] 0:{ 0: 取消自动 1:设置为自动下注} 1:Params[1]{位置} 2: Params[2]下注金额 3:Params[3]收取倍数
|
||
//操作参数 5:Params[0] 0:{ 0: 掉线 1:切屏 }
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCSmallRocketOp {
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数 同上 CSSmallRocketOp
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
repeated BetDataInfo BetDataArr = 5; //下注信息
|
||
}
|
||
|
||
//房间人数变化
|
||
message SCSmallRocketBetPlayerChange {
|
||
int32 TotalBetPlayerCnt = 1; // 房间本局下注的总人数
|
||
}
|
||
|
||
//历史倍数记录
|
||
message SCSmallRoundBoomMuHistory {
|
||
repeated float RoundBoomMuHistory = 1; //5个历史倍数记录
|
||
}
|
||
|
||
|
||
//玩家获取收益跳伞
|
||
message SCSmallRocketPlayerTakeGain {
|
||
int32 SnId = 1; // 跳伞玩家
|
||
float LeaveTime = 2; // 跳伞时间
|
||
}
|
||
|
||
//发送给客户端的数据 单局结算
|
||
message SCSmallRocketRoundGameBilled {
|
||
int32 RoundId = 1; //牌局ID
|
||
float BombMul = 2; // 爆炸倍数
|
||
int64 Award = 3; //获奖金额
|
||
int64 Balance = 4; //玩家余额
|
||
repeated float RoundBoomMuHistory = 5; //5个历史倍数记录
|
||
}
|
||
|
||
//房间状态
|
||
message SCSmallRocketRoomState {
|
||
int32 State = 1; //房间当前状态
|
||
repeated float Params = 2;
|
||
}
|
||
|
||
//玩家信息
|
||
message SCSmallRocketPlayerInfo {
|
||
int32 SnId = 1; //玩家ID
|
||
int64 gainCoin = 2; //本局赢取金币
|
||
int64 Coin = 3; // 玩家金币
|
||
repeated BetDataInfo BetDataArr = 4; //下注信息
|
||
int64 GainCoinBet1 = 5; // 下注面板1获取金币
|
||
int64 GainCoinBet2 = 6; // 下注面板2获取金币
|
||
}
|
||
|
||
// 中断后接着游戏请求玩家信息
|
||
message SCSmallRocketResumePlayerInfo {
|
||
int32 SnId = 1; //玩家ID
|
||
int64 gainCoin = 2; //本局赢取金币
|
||
int64 Coin = 3; // 玩家金币
|
||
int32 TimeOut = 4; //该状态已经历时间 单位:秒
|
||
repeated BetDataInfo BetDataArr = 5; //下注信息
|
||
}
|
||
|
||
|
||
//玩家进入
|
||
//PACKET_SCSmallRocketPlayerEnter
|
||
message SCSmallRocketPlayerEnter {
|
||
SmallRocketPlayerData Data = 1;
|
||
}
|
||
|
||
//玩家离开
|
||
//PACKET_SCSmallRocketPlayerLeave
|
||
message SCSmallRocketPlayerLeave {
|
||
int32 Pos = 1; //玩家位置
|
||
} |