game_sync/protocol/hundredyxx/hundredyxx.proto

217 lines
7.5 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 hundredyxx;
option go_package = "mongo.games.com/game/protocol/hundredyxx";
//鱼虾蟹
enum HundredYXXPacketID{
PACKET_HundredYxx_ZERO = 0; //弃用消息号
PACKET_SC_HYXX_ROOMINFO = 5390; //房间信息
PACKET_SC_HYXX_ROOMSTATE = 5391; //房间状态
PACKET_CS_HYXX_PLAYEROP = 5392; //玩家操作
PACKET_SC_HYXX_PLAYEROP = 5393; //玩家操作
PACKET_SC_HYXX_GAMEBILLED = 5394; //游戏结算
PACKET_SC_HYXX_UPLIST = 5395; //上庄列表
PACKET_SC_HYXX_TREND = 5396; //走势
PACKET_SC_HYXX_SEATS = 5397; //座位信息
PACKET_SC_HYXX_OPENDICE = 5398; //开骰子
PACKET_SC_HYXX_PLAYERLIST = 5399; //玩家列表
PACKET_SC_HYXX_SYNCCHIP = 5400; //同步总下注额
PACKET_SC_HYXX_BET = 5401; //下注
}
//操作结果
enum OpResultCode {
OPRC_Sucess = 0; //成功
OPRC_Error = 1; //失败
OPRC_Hundred_CoinMustReachTheValue = 7005; //抱歉,xx筹码以上才能下注
OPRC_Hundred_CoinIsNotEnough = 7006; //你的金币不足,无法下注
OPRC_Hundred_BankerWaiting = 7007; //你已经在上庄等待区了
OPRC_Hundred_BankerLimit = 7008; //不满足上庄条件
OPRC_Hundred_NotBankerWaiting = 7009; //你已经在上庄等待区了
OPRC_Hundred_BankerCannotBet = 7010; //庄家不能下注
OPRC_Hundred_SelfBetLimitRate = 7011; //下注总额不能超过自身携带的1/6
}
message HundredYXXPlayerData{
string Name = 1; //名字
int32 SnId = 2; //账号
int32 Head = 3; //头像
int32 Sex = 4; //性别
int64 Coin = 5; //金币
int32 Pos = 6; //座位位置
int32 Flag = 7; //二进制标记
repeated string Params = 8;//其他数据 如:ip 等
string City = 9; //城市
int64 Lately20Win = 10;//最近20局输赢 (赢的次数)
int64 Lately20Bet = 11;//最近20局总下注 (可能是负值)
int32 HeadOutLine = 12; //头像框
int32 VIP = 13;
int64 BetTotal = 14; //本局下注总额 (玩家金币余额=Coin-BetTotal)
int32 NiceId = 15;
}
//玩家下注|座位上的玩家下注
//PACKET_SC_HYXX_BET
message SCHundredYXXBet{
int32 SnId = 1;//玩家id
int32 BetPos = 2;//下注区域 1:天 2:地 3:玄 4:黄
int64 BetChip = 3;//下注数量
int64 BetPosBetTotal = 4;//玩家在这个区域的总下注额
int64 BetTotal = 5;//玩家本局总的下注额
int64 Coin = 6; //玩家总的金币
}
//同步筹码暂定1秒1次
//PACKET_SC_HYXX_SYNCCHIP
message SCHundredYXXSyncChip{
repeated int64 ChipTotal = 2;//4个区域总的押注信息
}
//牌型信息
// CardsKind_Normal = 0 //单子
// CardsKind_Double = 1 //对子
// CardsKind_ThreeSort = 2 //顺子
// CardsKind_SameColor = 3 //同花
// CardsKind_SameColorSort = 4 //同花顺
// CardsKind_ThreeSame = 5 //豹子
message HundredYXXCardsInfo{
int32 Pos = 1; //位置 0:庄 1:天 2:地 3:玄 4:黄
int32 CardMask = 2;//最佳组合掩码二进制01011 表示第1,2,4张牌为最大组合
int32 CardKind = 3;//牌型 0~6
int32 Multiple = 4;//倍数
int32 IsWin = 5; //是否输赢 -1:输 1:赢
repeated int32 Cards = 6; //手牌
}
//房间信息 PACKET_SC_HYXX_ROOMINFO
message SCHundredYXXRoomInfo {
int32 RoomId = 1; //房间id
int32 GameFreeId = 2; //场次id
int32 GameId = 3; //游戏id
int32 RoomMode = 4;//游戏模式
repeated int32 Params = 5; //规则参数
int32 NumOfGames = 6;//当前第几局
int32 State = 7; //房间当前状态
int32 TimeOut = 8; //等待剩余时间 单位:毫秒
int32 BankerId = 9;//庄家位置
int32 LimitCoin = 10; //进房金币下限
int32 MaxCoinLimit = 11; //进房金币上限
int32 BankerLimit = 12;//上庄条件
int32 BaseScore = 13; //底分
int32 LowerThanKick = 14; //低于多少踢出房间
int32 BetRateLimit = 15; //押注限制(区域押注总额不能超过自身携带的百分比)
repeated int32 MaxBetCoin = 16; //各区域的押注限制
repeated int32 ParamsEx = 17; //其他参数
int32 SceneType = 18; //房间模式
int32 PlayerNum = 19; //在线玩家数量
repeated int64 ChipData = 20; //筹码信息
repeated int64 MyChipData = 21; //玩家各个区域的筹码信息
repeated int32 DicePoints = 22; //骰子数值
repeated HundredYXXPlayerData Players = 23; //房间内的玩家信息
int32 BetLimit = 24; //压注限制低于xxx不能下注
repeated int64 MyPreChipData = 25; //玩家上一局的下注信息(用于短线重连续投)
}
//座位位置 PACKET_SC_HYXX_SEATS
message SCHundredYXXSeats{
int32 BankerId = 1; //庄的id, 0系统庄
int32 PlayerNum = 2; //玩家数量
repeated HundredYXXPlayerData Data = 3; //玩家信息
}
//上庄列表 PACKET_SC_HYXX_UPLIST
message SCHundredYXXUpList{
int32 Count = 1; //数量
int32 IsExist = 2; //玩家是否已经在上庄列表 0不在上庄列表 1在上庄列表
repeated HundredYXXPlayerData Data = 3; //上庄列表
}
//走势图 PACKET_SC_HYXX_TREND
message SCHundredYXXTrend{
repeated int32 Data = 1; //每个值二进制前4位依次表示 黑红梅方4个位置的输赢情况 1:赢 0:输
}
//玩家操作 PACKET_CS_HYXX_PLAYEROP
// HundredYXXPlayerOpBet = 0 //下注
// HundredYXXPlayerOpUpBanker = 1 //上庄
// HundredYXXPlayerOpDwonBanker = 2 //下庄
// HundredYXXPlayerOpUpList = 3 //上庄列表
// HundredYXXTrend = 4 //走势
// HundredYXXPlayerList = 5 //玩家列表
// HundredYXXPlayerOpNowDwonBanker = 6 //在庄的下庄
message CSHundredYXXOp{
int32 OpCode = 1; //操作码
repeated int64 Params = 2; //操作参数
}
//玩家操作返回 PACKET_SC_HYXX_PLAYEROP
message SCHundredYXXOp{
int32 SnId = 1; //玩家ID
int32 OpCode = 2; //操作码
repeated int64 Params = 3; //操作参数
OpResultCode OpRetCode = 4; //操作结果
}
//房间状态 PACKET_SC_HYXX_ROOMSTATE
message SCHundredYXXRoomState{
int32 State = 1; //房间当前状态
int32 SubState = 2; //房间当前子状态
repeated int64 Params = 3; //状态参数
}
//玩家列表 PACKET_SC_HYXX_PLAYERLIST
message SCHundredYXXPlayerList {
int32 PlayerNum = 1; //玩家数量
repeated HundredYXXPlayerData Data = 2;
}
//发牌每个位置的牌信息 PACKET_SC_HYXX_OPENDICE
message SCHundredYXXOpenDice{
repeated int32 DicePoints = 1;//三个骰子点数 0-5
}
//玩家区域内的输赢
message HundredYXXWinLost{
int32 Pos=1;//玩家位置
int32 PlayerID=2;//玩家id
int64 WinCoin=3;//本区域输赢金币 (税前)
}
//下注区域输赢情况
message HundredYXXBetField{
int32 IsWin=1;//0表示输 1表示赢
int64 Coin=2;//总金币
repeated HundredYXXWinLost PalyerData = 3;//玩家信息
}
//大赢家
message HundredYXXBigWinner{
int32 SnId = 1; //账号
string Name = 2; //名字
int32 Head = 3; //头像
int32 HeadOutLine = 4; //头像框
int32 VIP = 5;
int32 Sex = 6; //性别
string City = 7; //城市
int64 Coin = 8; //金币
int64 GainCoin = 9;//本局赢的钱
}
message HundredYXXPlayerFinalWinLost{
int32 Pos=1;//玩家位置
int32 PlayerID=2;//玩家id
int64 GainCoin=3;//输赢金币 (税后)
int64 Coin=4;//玩家最终身上结余
}
//结算 PACKET_SC_HYXX_GAMEBILLED
message SCHundredYXXGameBilled{
repeated HundredYXXBetField BetPosData = 1;//下注区域输赢情况
int32 Explosion = 2;//是否爆庄
HundredYXXBigWinner BigWinner = 3;//大赢家
int32 NumOfGame = 4; //第几局
int32 NewTrend = 5; //新的开奖结果
repeated HundredYXXPlayerFinalWinLost PlayerData = 6; //玩家最终汇总后的输赢信息
}