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; // 抽奖信息,掉落到桌面 }