game_sync/protocol/pushcoin/pushcoin.proto

103 lines
2.9 KiB
Protocol Buffer

syntax = "proto3";
package pushcoin;
option go_package = "mongo.games.com/game/protocol/pushcoin";
// 5670~5679
enum PushCoinPacketID {
PACKET_PushCoin_ZERO = 0;// 弃用消息号
PACKET_SCPushCoinRoomInfo = 5670; // 房间信息
PACKET_SCPushCoinRoomState = 5671; // 房间状态
PACKET_CSPushCoinPlayerOp = 5672; // 玩家操作
PACKET_SCPushCoinPlayerOp = 5673; // 玩家操作返回
}
//房间信息
//PACKET_SCPushCoinRoomInfo
message SCPushCoinRoomInfo {
int32 RoomId = 1; //房间id
int32 GameId = 2; //游戏id
int32 RoomMode = 3; //游戏模式
repeated int32 Params = 4; //规则参数
int32 State = 5; //房间当前状态
int32 TimeOut = 6; //等待剩余时间 单位:秒
repeated PushCoinPlayerData Players = 7; //房间内的玩家信息
repeated ExchangeInfo ExchangeList = 8; //兑换信息
repeated DrawInfo DrawList = 9; //抽奖信息
}
message ItemInfo{
int32 ItemId = 1; //道具id
int32 ItemNum = 2; //道具数量
}
message ExchangeInfo{
int32 Id = 1; //兑换id
repeated ItemInfo Cost = 2; //消耗道具
repeated ItemInfo Gain = 3; //获得道具
int32 ShakeTimes = 4; //获得震动次数
}
message DrawInfo{
int32 Id = 1; //抽奖id
int32 ItemId = 2; //道具id
int32 ItemNum = 3; //道具数量
int64 Coin = 4; //价值
}
message PushCoinPlayerData {
string Name = 1; //名字
int32 SnId = 2; //账号
int32 Head = 3; //头像
int32 Sex = 4; //性别
int64 Coin = 5; //金币
int32 Flag = 6; //二进制标记 第一位:是否掉线(0:在线 1:掉线) 第二位:是否准备(0:未准备 1:已准备)
repeated string Params = 7; //其他数据 如:ip 等
int32 VIP = 8;
int32 RoleId = 9; //使用中的角色id
int64 Level = 10; //玩家等级
int64 Exp = 11; //玩家经验
int32 SkinId = 12; //皮肤id
int32 ShakeTimes = 13; //可震动次数
int64 BaseCoin = 14; //当前底分(单次投币金额)
int64 PowerLine = 15; // 当前能量值
int64 PowerLineMax = 16; // 能量值上限
int64 RefreshTimes = 17; // 刷新次数
}
//房间状态
//PACKET_SCPushCoinRoomState
message SCPushCoinRoomState {
int32 State = 1; //房间当前状态
int32 SubState = 2; //房间当前子状态
repeated int32 Params = 3; //状态参数
}
//玩家操作
//PACKET_CSPushCoinPlayerOp
message CSPushCoinPlayerOp {
OpCodes OpCode = 1;
repeated int64 OpParam = 2;
}
enum OpCodes {
OP_Zero = 0;
OP_Bet = 1; // 下注 [下注金额]
OP_Gain = 2; // 得分 [得分金额]
OP_Shake = 3; // 震动 [消耗次数]
OP_Refresh = 4; // 刷新 [桌面金额]
OP_Exchange = 5; // 兑换 [兑换id]
OP_Draw = 6; // 抽奖 [抽奖id]
}
enum OpResultCode {
OPRC_Success = 0; //成功
OPRC_Error = 1; //失败
}
//PACKET_SCPushCoinPlayerOp
message SCPushCoinPlayerOp {
OpResultCode OpRetCode = 1;
OpCodes OpCode = 2;
ExchangeInfo Exchange = 3; // 兑换信息,加到背包
DrawInfo Draw = 4; // 抽奖信息,掉落到桌面
}