game_sync/protocol/clawdoll/clawdoll.proto

156 lines
5.0 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 clawdoll;
option go_package = "mongo.games.com/game/protocol/clawdoll";
//娃娃机
enum CLAWDOLLPacketID {
PACKET_ZERO = 0; //弃用消息号
PACKET_SC_ROOMINFO = 5601; //房间信息
PACKET_CS_PLAYEROP = 5602; //玩家操作(客户->服务)
PACKET_SC_PLAYEROP = 5603; //玩家操作(服务->客户)
PACKET_SC_ROOMSTATE = 5604; //房间状态
PACKET_SC_GAMEBILLED = 5605; //游戏结算
PACKET_SC_PlayerEnter = 5606; // 玩家进入
PACKET_SC_PlayerLeave = 5607; // 玩家离开
PACKET_SC_PLAYERINFO = 5608; // 玩家状态信息变化
PACKET_CS_GETTOKEN = 5609; // 获取token
PACKET_SC_SENDTOKEN = 5610; // 获取token
PACKET_CS_WAITPLAYERS = 5611; // 获取等待玩家信息 (客户->服务)
PACKET_SC_WAITPLAYERS = 5612; // 获取等待玩家信息 (服务->客户)
PACKET_SC_PLAYINGINFO = 5613; // 正在控制娃娃机的玩家信息 (服务->客户)
PACKET_CS_GETPLAYERLOG = 5614; // 获取玩家操作日志
PACKET_SC_SENDPLAYERLOG = 5615; // 发送玩家操作日志
}
//操作结果
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; // 本局赢分
int32 clawDollState = 10; // 玩家状态
}
//房间信息
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; //操作码 1:上分 投币 2:下抓 3:玩家操控动作
repeated int64 Params = 2; //操作参数 1:无
//操作参数 2:无
//操作参数 3Params[0] 1-前 2-后 3-左 4-右
}
//玩家操作返回
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; //抓取结果 0: 没有抓住, 1抓住娃娃
int64 Award = 3; //获奖金额
int64 Balance = 4; //玩家余额
}
//房间状态
message SCCLAWDOLLRoomState {
int32 State = 1; //房间当前状态
repeated float Params = 2;
}
//玩家信息
message SCCLAWDOLLPlayerInfo {
int32 SnId = 1; // 玩家ID
int32 clawDollState = 2; // 玩家状态
int64 gainCoin = 3; // 本局赢取
int64 Coin = 4; // 玩家
}
//玩家进入
//PACKET_SCCLAWDOLLPlayerEnter
message SCCLAWDOLLPlayerEnter {
CLAWDOLLPlayerDigestInfo Data = 1;
}
//玩家离开
//PACKET_SCCLAWDOLLPlayerLeave
message SCCLAWDOLLPlayerLeave {
int32 SnId = 1; //玩家id
}
//玩家请求进入视频地址token
message CSCLAWDOLLGetToken {
}
message SCCLAWDOLLSendToken {
int32 LogicId = 1;
int64 Appid = 2;
string Token = 3;
string StreamId = 4;
}
message CLAWDOLLWaitPlayers {
repeated CLAWDOLLPlayerDigestInfo WaitPlayersInfo = 1;
}
// 玩家摘要信息
message CLAWDOLLPlayerDigestInfo {
int32 SnId = 1; //账号
int32 Head = 2; //头像
string HeadUrl = 3; //头像
string Name = 4; //名字
int32 Stat = 5; //玩家状态 0排队状态 5:大厅观众状态
}
//PACKET_CS_GETPLAYERLOG = 5614; // 获取玩家操作日志
message CSCLAWDOLLGetPlayerLog {
int32 Type = 1; // 请求类型
}
message ClawdollSuccessItemLog {
int32 SnId = 1; // 玩家id
string Name = 2; //玩家名字
int32 ModId = 3; // 头像ID
int64 Time = 4; //时间
}
//PACKET_SC_SENDPLAYERLOG = 5615; // 发送玩家操作日志
message SCCLAWDOLLSendPlayerLog {
int32 Type = 1; // 请求类型
repeated ClawdollSuccessItemLog ItemLogs = 2;
}