138 lines
4.9 KiB
Protocol Buffer
138 lines
4.9 KiB
Protocol Buffer
syntax = "proto3";
|
||
package caishen;
|
||
option go_package = ".;caishen";
|
||
//财神
|
||
//操作结果
|
||
enum OpResultCode {
|
||
OPRC_Sucess = 0; //成功
|
||
OPRC_Error = 1; //失败
|
||
OPRC_CoinNotEnough = 1056; //钱不够
|
||
}
|
||
//财神
|
||
enum CaiShenPacketID {
|
||
PACKET_CaiShen_ZERO = 0; //弃用消息号
|
||
PACKET_SC_CAISHEN_ROOMINFO = 5220; //房间信息
|
||
PACKET_CS_CAISHEN_PLAYEROP = 5221; //玩家操作(客户->服务)
|
||
PACKET_SC_CAISHEN_PLAYEROP = 5222; //玩家操作(服务->客户)
|
||
PACKET_SC_CAISHEN_ROOMSTATE = 5223; //房间状态
|
||
PACKET_SC_CAISHEN_GAMEBILLED = 5224; //游戏结算
|
||
PACKET_SC_CAISHEN_PLAYERHISTORY = 5225; //游戏记录
|
||
PACKET_SC_CAISHEN_BURSTHISTORY = 5226; //爆奖记录
|
||
PACKET_SC_CAISHEN_GAMEJACKPOT = 5227; //奖池
|
||
}
|
||
|
||
message CaiShenPlayerData {
|
||
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 CaiShenBonusGameInfo {
|
||
repeated int64 BonusData = 1;
|
||
int64 TotalPrizeValue = 2;
|
||
int32 Mutiplier = 3;
|
||
int64 DataMultiplier = 4;
|
||
}
|
||
|
||
//房间信息
|
||
message SCCaiShenRoomInfo {
|
||
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 CaiShenPlayerData Players = 9; //房间内的玩家信息
|
||
int32 FreeTimes = 10; //免费转动次数
|
||
int64 Jackpot = 11; //奖池金额
|
||
int64 TotalPriceBonus = 12; //总bonus分 大于0时代表小游戏还未结束
|
||
int64 SpinID = 13; //操作ID
|
||
repeated int32 ParamsEx = 14; //其他参数
|
||
CaiShenBonusGameInfo 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 CSCaiShenOp {
|
||
int32 OpCode = 1; //操作码 0:开始{0押注倍数,1-n选线} 1:玩家记录信息 2:爆奖记录 3:小游戏 4:小游戏操作记录
|
||
repeated int64 Params = 2; //操作参数
|
||
}
|
||
|
||
//玩家操作返回
|
||
message SCCaiShenOp {
|
||
int32 SnId = 1; //玩家ID
|
||
int32 OpCode = 2; //操作码
|
||
repeated int64 Params = 3; //操作参数
|
||
OpResultCode OpRetCode = 4; //操作结果
|
||
}
|
||
|
||
|
||
//每条线的结算数据
|
||
message CaiShenLinesInfo {
|
||
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 CaiShenLinesInfo 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
|
||
CaiShenBonusGameInfo BonusGame = 13; //Bonus的数量大于等于3时的小游戏
|
||
int64 ResponseStatus = 14; //状态码
|
||
}
|
||
//发送给客户端的数据 结算
|
||
message SCCaiShenGameBilled {
|
||
GameBilledData BilledData = 1;//结算信息
|
||
}
|
||
|
||
// 玩家记录信息
|
||
message CaiShenPlayerHistoryInfo{
|
||
string SpinID = 1; // 操作id
|
||
int64 CreatedTime = 2; // 时间
|
||
int64 TotalBetValue = 3; // 总下注
|
||
int64 TotalPriceValue = 4; // 总赢分
|
||
bool IsFree = 5; // 是否免费
|
||
int64 TotalBonusValue = 6; // 是否免费
|
||
}
|
||
// 玩家记录
|
||
message SCCaiShenPlayerHistory{
|
||
repeated CaiShenPlayerHistoryInfo PlayerHistory = 1;
|
||
}
|
||
// 大奖记录信息
|
||
message CaiShenBurstHistoryInfo{
|
||
string UserName = 1; // 昵称
|
||
int64 PriceValue = 2; // 大奖赢分
|
||
int64 TotalBet = 3; // 时间
|
||
int64 Ts = 4; // 时间
|
||
}
|
||
// 大奖记录
|
||
message SCCaiShenBurstHistory{
|
||
repeated CaiShenBurstHistoryInfo BurstLog = 1;
|
||
}
|
||
|
||
//房间状态
|
||
message SCCaiShenRoomState {
|
||
int32 State = 1; //房间当前状态
|
||
}
|