syntax = "proto3"; package tamquoc; option go_package = "mongo.games.com/game/protocol/tamquoc"; //操作结果 enum OpResultCode { OPRC_Sucess = 0; //成功 OPRC_Error = 1; //失败 OPRC_CoinNotEnough = 1056; //钱不够 } //百战成神 enum TamQuocPacketID { PACKET_TAMQUOC_ZERO = 0; // 弃用消息号 PACKET_SC_TAMQUOC_ROOMINFO = 5520; //房间信息 PACKET_CS_TAMQUOC_PLAYEROP = 5521; //玩家操作(客户->服务) PACKET_SC_TAMQUOC_PLAYEROP = 5522; //玩家操作(服务->客户) PACKET_SC_TAMQUOC_ROOMSTATE = 5523; //房间状态 PACKET_SC_TAMQUOC_GAMEBILLED = 5524; //游戏结算 PACKET_SC_TAMQUOC_PLAYERHISTORY = 5525; //游戏记录 PACKET_SC_TAMQUOC_BURSTHISTORY = 5526; //爆奖记录 PACKET_SC_TAMQUOC_GAMEJACKPOT = 5527; //奖池 } message TamQuocPlayerData { 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 TamQuocBonusGameInfo { repeated int64 BonusData = 1; int64 TotalPrizeValue = 2; int32 Mutiplier = 3; int64 DataMultiplier = 4; } //房间信息 message SCTamQuocRoomInfo { 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 TamQuocPlayerData Players = 9; //房间内的玩家信息 int32 FreeTimes = 10; //免费转动次数 int64 Jackpot = 11; //奖池金额 int64 TotalPriceBonus = 12; //总bonus分 大于0时代表小游戏还未结束 int64 SpinID = 13; //操作ID repeated int32 ParamsEx = 14; //其他参数 TamQuocBonusGameInfo BonusGame = 15; //Bonus的数量大于等于3时的小游戏 int32 GameFreeId = 16; GameBilledData BilledData = 17; //上一局结算信息,用于断线重连 } //玩家操作 message CSTamQuocOp { int32 OpCode = 1; //操作码 0:开始{0押注倍数,1-n选线} 1:玩家记录信息 2:爆奖记录 3:小游戏 repeated int64 Params = 2; //操作参数 } //玩家操作返回 message SCTamQuocOp { int32 SnId = 1; //玩家ID int32 OpCode = 2; //操作码 repeated int64 Params = 3; //操作参数 OpResultCode OpRetCode = 4; //操作结果 } //每条线的结算数据 message TamQuocLinesInfo { 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 TamQuocLinesInfo 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 TamQuocBonusGameInfo BonusGame = 13; //Bonus的数量大于等于3时的小游戏 int64 ResponseStatus = 14; //状态码 } //发送给客户端的数据 结算 message SCTamQuocGameBilled { GameBilledData BilledData = 1;//结算信息 } // 玩家记录信息 message TamQuocPlayerHistoryInfo{ string SpinID = 1; // 操作id int64 CreatedTime = 2; // 时间 int64 TotalBetValue = 3; // 总下注 int64 TotalPriceValue = 4; // 总赢分 bool IsFree = 5; // 是否免费 int64 TotalBonusValue = 6; // 是否免费 } // 玩家记录 message SCTamQuocPlayerHistory{ repeated TamQuocPlayerHistoryInfo PlayerHistory = 1; } // 大奖记录信息 message TamQuocBurstHistoryInfo{ string UserName = 1; // 昵称 int64 PriceValue = 2; // 大奖赢分 int64 TotalBet = 3; // 时间 int64 Ts = 4; // 时间 } // 大奖记录 message SCTamQuocBurstHistory{ repeated TamQuocBurstHistoryInfo BurstLog = 1; } //房间状态 message SCTamQuocRoomState { int32 State = 1; //房间当前状态 }