game_sync/protocol/clawdoll/clawdoll.proto

103 lines
3.2 KiB
Protocol Buffer

syntax = "proto3";
package clawdoll;
option go_package = "mongo.games.com/game/protocol/clawdoll";
//娃娃机
enum CLAWDOLLPacketID {
PACKET_CLAWDOLL_ZERO = 0; //弃用消息号
PACKET_SC_CLAWDOLL_ROOMINFO = 5601; //房间信息
PACKET_CS_CLAWDOLL_PLAYEROP = 5602; //玩家操作(客户->服务)
PACKET_SC_CLAWDOLL_PLAYEROP = 5603; //玩家操作(服务->客户)
PACKET_SC_CLAWDOLL_ROOMSTATE = 5604; //房间状态
PACKET_SC_CLAWDOLL_GAMEBILLED = 5605; //游戏结算
PACKET_SC_CLAWDOLL_PlayerEnter = 5606; // 玩家进入
PACKET_SC_CLAWDOLL_PlayerLeave = 5607; // 玩家离开
PACKET_SC_CLAWDOLL_PLAYERINFO = 5608; // 玩家状态信息变化
}
//操作结果
enum OpResultCode {
OPRC_Success = 0; //成功
OPRC_Error = 1; //失败
OPRC_CoinNotEnough = 2; //钱不够
OPRC_PosAlReadyPlaying = 3; //本局位置已存在玩家
}
message CLAWDOLLPlayerData {
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; // 本局赢分
}
//房间信息
message SCCLAWDOLLRoomInfo {
int32 RoomId = 1; //房间id
int32 GameId = 2; //游戏id
int32 RoomMode = 3; //游戏模式
repeated int32 Params = 4; //规则参数
int32 State = 5; //房间当前状态
int32 TimeOut = 6; //该状态已经历时间 单位:秒
repeated CLAWDOLLPlayerData Players = 7; //房间内的玩家信息
int32 TotalPlayer = 8; //房间总人数
int32 RoundId = 9; //当前局数ID
repeated int32 ParamsEx = 10; //其他参数
int32 GameFreeId = 15;
int32 BaseScore = 16; //基础分
}
//玩家操作
message CSCLAWDOLLOp {
int32 OpCode = 1;
repeated int64 Params = 2;
}
//玩家操作返回
message SCCLAWDOLLOp {
int32 SnId = 1; //玩家ID
int32 OpCode = 2; //操作码
repeated int64 Params = 3; //操作参数 同上 CSCLAWDOLLOp
OpResultCode OpRetCode = 4; //操作结果
}
//发送给客户端的数据 单局结算
message SCCLAWDOLLRoundGameBilled {
int32 RoundId = 1; //牌局ID
int32 ClowResult = 2; //抓取结果
int64 Award = 3; //获奖金额
int64 Balance = 4; //玩家余额
}
//房间状态
message SCCLAWDOLLRoomState {
int32 State = 1; //房间当前状态
repeated float Params = 2;
}
//玩家信息
message SCCLAWDOLLPlayerInfo {
int32 SnId = 1; //玩家ID
int64 gainCoin = 2; //本局赢取
int64 Coin = 3; // 玩家
}
//玩家进入
//PACKET_SCCLAWDOLLPlayerEnter
message SCCLAWDOLLPlayerEnter {
CLAWDOLLPlayerData Data = 1;
}
//玩家离开
//PACKET_SCCLAWDOLLPlayerLeave
message SCCLAWDOLLPlayerLeave {
int32 Pos = 1; //玩家位置
}