game_sync/protocol/clawdoll/clawdoll.proto

149 lines
4.8 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_DollConfig = 5614; //获取娃娃机配置信息
PACKET_SC_DollConfig = 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:大厅观众状态
}
message CSCLAWDOLLConfig{
}
message SCCLAWDOLLConfig{
repeated MachineInfo info =1;
}
message MachineInfo{
string IconAddr =1; //图片地址
int32 CostItemNum = 2; //消耗道具数量
int32 ItemId = 3; //获得道具ID
int32 ItemNum = 4;//获得道具数量
int32 MachineId = 5;
}