game_sync/protocol/avengers/avengers.proto

136 lines
5.1 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 avengers;
option go_package = ".;avengers";
//操作结果
enum OpResultCode {
OPRC_Sucess = 0; //成功
OPRC_Error = 1; //失败
OPRC_CoinNotEnough = 1056; //金币不足
}
//复仇者联盟
enum AvengersPacketID {
PACKET_Avengers_ZERO = 0; // 弃用消息号
PACKET_SC_AVENGERS_ROOMINFO = 5180; //房间信息
PACKET_CS_AVENGERS_PLAYEROP = 5181; //玩家操作(客户->服务)
PACKET_SC_AVENGERS_PLAYEROP = 5182; //玩家操作(服务->客户)
PACKET_SC_AVENGERS_ROOMSTATE = 5183; //房间状态
PACKET_SC_AVENGERS_GAMEBILLED = 5184; //游戏结算
PACKET_SC_AVENGERS_PLAYERHISTORY = 5185; //游戏记录
PACKET_SC_AVENGERS_BURSTHISTORY = 5186; //爆奖记录
PACKET_SC_AVENGERS_GAMEJACKPOT = 5187; //奖池
}
message AvengersPlayerData {
string Name = 1; //名字
int32 SnId = 2; //账号
int32 Head = 3; //头像
int32 Sex = 4; //性别
int64 Coin = 5; //金币
int32 HeadOutLine = 6; //头像框
int32 VIP = 7;
repeated string Params = 8; //其他数据 如:ip 等
}
//小游戏信息
message AvengersBonusGameInfo {
repeated int64 BonusData = 1;
int64 TotalPrizeValue = 2;
int32 Mutiplier = 3;
int64 DataMultiplier = 4;
}
//房间信息
message SCAvengersRoomInfo {
int32 RoomId = 1; //房间id
int32 Creator = 2; //创建者SnId
int32 GameId = 3; //游戏id
int32 RoomMode = 4; //游戏模式
repeated int32 Params = 5; //规则参数
int32 State = 6; //房间当前状态
repeated int64 BetLines = 7; //玩家下注选线数组
int32 Chip = 8; //当前选择的押注
repeated AvengersPlayerData Players = 9; //房间内的玩家信息
int32 FreeTimes = 10; //免费转动次数
int64 Jackpot = 11; //奖池金额
int64 TotalPriceBonus = 12; //总bonus分 大于0时代表小游戏还未结束
int64 SpinID = 13; //操作ID
repeated int32 ParamsEx = 14; //其他参数
AvengersBonusGameInfo BonusGame = 15; //小游戏未结束 附加小游戏信息
repeated int32 BonusX = 16; //小游戏未结束 附加小游戏倍数选项Bonus图标的数量为3/4/5时分别为 1,2,3 或 2,3,4 或 3,4,5
int32 GameFreeId = 17;
GameBilledData BilledData = 18; //上一局结算信息,用于断线重连
}
//玩家操作
message CSAvengersOp {
int32 OpCode = 1; //操作码 0:开始{0押注倍数,1-n选线} 1:玩家记录信息 2:大奖记录 3:小游戏
repeated int64 Params = 2; //操作参数
}
//玩家操作返回
message SCAvengersOp {
int32 SnId = 1; //玩家ID
int32 OpCode = 2; //操作码
repeated int64 Params = 3; //操作参数
OpResultCode OpRetCode = 4; //操作结果
}
//每条线的结算数据
message AvengersLinesInfo {
int32 LineId = 1; //中奖线路25条线路中的一条[1,25]
int32 PrizeId = 2; //中奖Id(暂时忽略)
repeated int32 Position = 3; //线条匹配位置
int64 PrizeValue = 4; //线条奖金
}
message GameBilledData {
int64 SpinID = 1; //操作ID
repeated int32 SlotsData = 2; //需要翻出的牌数组15个,如:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2, 3, 4, 5, 6]
int32 AddFreeSpin = 3; //新增免费转动次数
bool IsJackpot = 4; //是否爆奖
repeated AvengersLinesInfo PrizeLines = 5; //中奖的结果数组,存每条线的情况
int64 TotalPrizeValue = 6; //中奖的总分数
int64 TotalPaylinePrizeValue = 7; //除了爆奖金额之外的线条奖金
int64 TotalJackpotValue = 8; //爆奖金额
int64 Balance = 9; //玩家余额
int32 FreeSpins = 10; //剩余免费转动次数
int64 Jackpot = 11; //奖池金额
repeated int32 BonusX = 12; //小游戏倍数Bonus图标的数量为3/4/5时分别为 1,2,3 或 2,3,4 或 3,4,5
AvengersBonusGameInfo BonusGame = 13; //Bonus的数量大于等于3时的小游戏
int64 ResponseStatus = 14; //状态码
}
//发送给客户端的数据 结算
message SCAvengersGameBilled {
GameBilledData BilledData = 2;//结算信息
}
// 玩家记录信息
message AvengersPlayerHistoryInfo{
string SpinID = 1; // 操作id
int64 CreatedTime = 2; // 时间
int64 TotalBetValue = 3; // 总下注
int64 TotalPriceValue = 4; // 总赢分
bool IsFree = 5; // 是否免费
int64 TotalBonusValue = 6; // 是否免费
}
// 玩家记录
message SCAvengersPlayerHistory{
repeated AvengersPlayerHistoryInfo PlayerHistory = 1;
}
// 爆奖记录信息
message AvengersBurstHistoryInfo{
string UserName = 1; // 昵称
int64 PriceValue = 2; // 大奖赢分
int64 TotalBet = 3; // 时间
int64 Ts = 4; // 时间
}
// 大奖记录
message SCAvengersBurstHistory{
repeated AvengersBurstHistoryInfo BurstLog = 1;
}
//房间状态
message SCAvengersRoomState {
int32 State = 1; //房间当前状态
}