Files
svn/India/tech/msg/protol/desc/MsgRoomService.proto
2025-08-04 10:46:00 +08:00

318 lines
11 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";
import "MsgDef.proto";
package message;
option java_package = "xpq.msg";
option java_outer_classname = "RoomServicePB";
//房间相关协议1001-1999
//客户端进入房间服务:1001
message CS_Room_Enter{
int32 msgid = 1001;
string roomName = 1;//房间名称 如"fish" "texasholdem"
int32 roomType = 2;//房间类型
int64 buyin = 3;//带入房间内的钱
int64 uid = 4;//玩家服务器端唯一id
string token = 5;//玩家token
int64 userId = 6;//账号id
int32 roomId = 7;//指定房间id为-1则自动寻找房间
string password = 8;//指定密码
}
//客户端进入房间服务成功,服务器返回当前快照:1002
message SC_Room_Enter{
int32 msgid = 1002;
int32 result = 1;//1 成功 2 失败
string roomName = 2;//房间名称 如"fish" "texasholdem"
int32 roomType = 3;//房间类型
int32 roomId = 4;//房间id
int32 todayEnterTime = 5;//今日进入的次数
}
//客户端离开房间:1003
message CS_Room_Quit{
int32 msgid = 1003;
int64 uid = 1;//玩家服务器端唯一id
}
//客户端离开房间成功:1004
message SC_Room_Quit{
int32 msgid = 1004;
int32 result = 1;//1 成功 2 失败 3 超时踢出 4 顶掉 5 竞技场完成 6 竞技场到期
}
//房间内的错误提示:1005
message SC_Code{
int32 msgid = 1005;
int32 code = 1;//错误提示码 客户端配置多语言直接进行读取
}
//玩家数据同步:1006
message SC_Player_Info{
int32 msgid = 1006;
string data = 1;//返回服务器当前玩家的信息与http协议中的json相同
}
//系统公告:1007
message SC_Led{
int32 msgid = 1007;
string notice = 1;//公告信息json
}
//-----------测试协议1090~1099------------
//客户端测试命令:1090
message CS_Test{
int32 msgid = 1090;
string command = 1;//测试命令
}
//客户端测试命令结果返回:1091
message SC_Test{
int32 msgid = 1091;
int32 result = 1;//测试命令执行结果 1:成功 其他:错误
}
//-----------捕鱼房间协议1101~1199------------
//捕鱼房间的快照:1101
message SC_Room_Snapshot{
int32 msgid = 1101;
int32 state = 1;//全局状态 正常:0 冰冻:2
int32 curFrame = 2;//当前帧id
int32 curFishFrame = 3;//当前鱼帧id
repeated Fish_Group fishGroups = 4;//当前房间内鱼群列表
repeated Fish_Player players = 5;//当前房间内的玩家列表 客户端自行区分自身
repeated Fish_Damager damagers = 6;//当前房间内的伤害物列表,属于玩家的伤害物由玩家的客户端碰撞触发
Fish_Boss bossInfo = 7; //boss相关信息
string bg = 8;//背景图
}
//客户端捕鱼单帧事件:1102
message CS_Frame_Info{
int32 msgid = 1102;
repeated Fish_Damager fires = 1;//开火请求
repeated Fish_Hit hits = 2;//碰撞请求
int32 itemId = 3;//使用道具id
int32 fireLevel = 4;//切换炮倍率 为0则不处理
int32 state = 5;//切换状态 0不处理 1正常 2赐福中 3游戏中 4锁定中(海外2版本)
string clientEvent = 6;//当前帧触发的事件由客户端定义服务器进行转发
int32 stateParam = 7;//状态参数
int32 skillLevel = 8;//使用道具技能等级 0 使用默认 其他 使用指定等级
}
//捕鱼房间下发的帧内容:1103
message SC_Frame_Info{
int32 msgid = 1103;
int32 state = 1;//全局状态 正常:0 冰冻:2
int32 frame = 2;//帧id
int32 fishFrame = 3;//鱼的帧id
repeated int64 leavePlayers = 4;//离开的玩家
repeated Fish_Player newPlayers = 5;//新进入的玩家
repeated Fish_Group newGroups = 6;//新的鱼群
repeated Fish_Damager newDamagers = 7;//新的伤害物
repeated Fish_Player_Frame playerFrames = 8;//玩家帧变化
repeated int32 removeFishes = 9;//关联死亡的鱼
Fish_Boss bossInfo = 10; //boss相关信息
string bg = 11;//背景图
}
//客户端请求换炮:1107
message CS_Arm_Change{
int32 msgid = 1107;
int32 armAvatar = 1;//炮id
}
//请求换炮结果:1108
message SC_Arm_Change_Result{
int32 msgid = 1108;
int32 result = 1;//结果 0失败 1成功
int32 armAvatar = 2;//当前炮id
}
//渔场内的外部广播:1109
message SC_Broadcast{
int32 msgid = 1109;
int32 pos = 1;//广播者位置
string content = 2;//广播的内容
}
//渔场内互动:1110
message CS_Communicate{
int32 msgid = 1110;
int32 targetId = 1;//目标玩家Id
int32 targetPos = 2;//目标玩家位置
int32 type = 3;//互动类型
}
//渔场内互动结果广播:1111
message SC_Communicate_Result{
int32 msgid = 1111;
int32 minePos = 1;//自己位置
int32 targetPos = 2;//目标位置
int32 type = 3;//互动类型1、红包-恭2、红包-喜3、红包-发4、红包-财5、章鱼6、星星7、珍珠蚌
repeated Communicate_Info infos = 4;//信息
}
//-----------捕鱼房间协议对象定义-----------
//房间内玩家信息
message Fish_Player{
int64 uid = 1;//唯一id
string name = 2;//昵称
int32 pos = 3;//房间内的位置
int32 armLevel = 4;//当前炮级别
int64 gold = 5;//金币数量
int32 armAvatar = 6;//炮的形象
repeated Fish_Skill skills = 7;//玩家技能
int64 diamond = 8;//钻石数量
int32 quan = 9;//话费券数量
int64 coupon = 10;//奖券数量
int32 state = 11;//切换状态 0不处理 1正常 2赐福中 3游戏中 4锁定中(海外2版本)
int32 gameCard = 12;//当前游戏卡牌 0 无 其他 炮倍率掉落
int32 stateParam = 13;//状态参数
int32 level = 14;//玩家等级
int64 exp = 15;//玩家经验
int32 arenaBullet = 16;//玩家竞技场子弹
int32 arenaScore = 17;//玩家竞技场积分
int32 matchScore = 18;//话费赛积分
Player_Boss_Info bossInfo = 19;//玩家boss相关信息
int32 vipLevel = 20;//vip等级
string extra = 21;//额外信息
}
//道具使用
message Fish_Skill{
int32 itemId = 1;//物品id
int32 beginFrame = 2;//开始frame
int32 endFrame = 3;//结束frame
int32 cdFrame = 4;//CD结束frame
int32 skillId = 5;//技能id
int32 skillLevel = 6;//Vip对应技能等级
int32 skillResult = 7;//当为召唤技能时召唤的track
}
//捕鱼房间内的鱼群
message Fish_Group{
int32 uid = 1;//鱼群唯一id
int32 tempId = 2;//鱼群模板对应track
int32 beginFrame = 3;//开始frame 鱼使用FishFrame表现
int32 endFrame = 4;//结束frame 鱼使用FishFrame表现
repeated Fish fishes = 5;//鱼列表 顺序同track 一一对应
int32 sourcePos = 6;//来源位置,不为零即为召唤出来的鱼群
int32 delayFrame = 7;//鱼统一延迟帧
}
//鱼群内的单条鱼
message Fish{
int32 uid = 1;//唯一id服务器分配
int32 state = 2;//状态 0 存活 1 死亡
}
//捕鱼房内的伤害物
message Fish_Damager{
int32 uid = 1;//唯一id
int32 level = 2;//等级
int32 type = 3;//类型 0 普通子弹(玩家、其他特殊触发) 2 炸弹 3 闪电
int32 avatar = 4;//形象
int32 pos = 5;//由几号位置的玩家触发产生
int32 beginX = 6;//出现的x
int32 beginY = 7;//出现的y
int32 beginFrame = 8;//出现的帧id
int32 dirX = 9;//方向的x
int32 dirY = 10;//方向的y
int32 speed = 11;//移动速度
int32 target = 12;//锁定的鱼 为0则为不锁定
int32 transformFrame = 13;//独角鲸子弹变身帧
}
//客户端单个请求命中
message Fish_Hit{
int32 uid = 1;//伤害物id
int32 x = 2;//碰撞坐标x
int32 y = 3;//碰撞坐标y
repeated Fish_Drop hitFishes = 4;//该伤害物命中的鱼id列表1
string extraInfo = 5;//其他信息,用于广播 如闪电图 炸弹分值等
int32 dropGold = 6;//掉落的金币
int32 costGold = 7;//花费的金币
int32 hitType = 8;//0 普通碰撞-移除子弹 1 碰撞后不移除子弹
int32 dropTimes = 9;//掉落的倍数
int32 fireLevel = 10;//炮倍
}
//单个玩家此帧的变化通知
message Fish_Player_Frame{
int32 pos = 1;//此位置的玩家变化
int64 money = 2;//此帧结束后的金币数
repeated Fish_Skill newSkills = 3;//新增的技能
repeated Fish_Hit successHits = 4;//成功的碰撞列表
int32 fireLevel = 5;//此帧切换的炮倍率 为0则不处理
int64 diamond = 6;//此帧结束后的钻石数量
int32 quan = 7;//话费券数量
int64 coupon = 8;//此帧结束后的奖券数量
int32 state = 9;//切换状态 0不处理 1正常 2赐福中 3游戏中 4锁定中(海外2版本)
string clientEvent = 10;//当前帧触发的事件由客户端定义服务器进行转发
int32 armAvatar = 11;//当前使用的炮形象
int32 gameCard = 12;//当前游戏卡牌 0 无 其他 炮倍率掉落
int32 stateParam = 13;//状态参数
int32 level = 14;//玩家等级
int64 exp = 15;//玩家经验
int32 arenaBullet = 16;//玩家竞技场子弹
int32 arenaScore = 17;//玩家竞技场积分
int32 matchScore = 18;//话费赛积分
Player_Boss_Info bossInfo = 19;//玩家boss相关信息
int32 vipLevel = 20;//vip等级
string extra = 21;//额外信息
}
message Fish_Drop{
int32 uid = 1;//鱼id
int32 dropGold = 2;//掉落的金币
int32 dropDiamond = 3;//此发子弹掉落的钻石数量
int32 dropCoupon = 4;//掉落的奖券
repeated string dropItems = 5;//掉落的物品
int32 gameCard = 6;//掉落的游戏卡牌 0 无 其他 炮倍率掉落
int32 matchScore = 7;//掉落话费赛积分
repeated int32 dropQuan = 8;//掉落券(话费券、兑换券)
string extra = 9;//额外信息
int32 showTimes = 10;//翻倍次数
}
//捕鱼房间内Boss相关信息
message Fish_Boss{
int32 elsaState = 1;//艾尔莎状态0 正常 1 虚弱
}
//玩家Boss相关信息
message Player_Boss_Info{
int32 hornLevel = 1;//独角鲸子弹炮倍率为0则不是独角鲸子弹状态
int32 hornEnergy = 2;//独角鲸当前剩余能量
int32 hornGain = 3;//独角鲸已经获得的金币
int32 spiritLevel = 4;//精灵炮倍率
int32 spiritFrameLeft = 5;//精灵剩余帧数
int32 spiritPeriod = 6;//精灵阶段
int32 spiritGoldTotal = 7;//精灵总获得金币
int32 hornTransformFrame = 8;//独角鲸变身帧
}
//捕鱼房间互动相关信息
message Communicate_Info{
int64 roleId = 1;//角色id
int64 pop = 2;//现在人气值
}
message Counter{
int32 id = 1;
int64 curValue = 2;
int64 maxValue = 3;
}
//角色新手任务:1407
message SC_Newbee_Task{
int32 msgid = 1407;
int32 curTaskId = 1;
int32 state = 2;
int32 subState = 3;
int32 completeTaskNum = 4;
repeated Counter counters = 5;
}
//新手任务领奖:1408
message CS_Finish_Newbee_Task{
int32 msgid = 1408;
int32 status = 1;
}
//新手任务领奖:1409
message SC_Finish_Newbee_Task{
int32 msgid = 1409;
int32 code = 1;
repeated BonusInfo infos = 2;
}
message BonusInfo{
int32 bonusType = 1;
int32 bonusId = 2;
int64 bonusCount = 3;
}
//独角鲸变身:1418
message CS_Horn_Transform{
int32 msgid = 1418;
int32 frame = 1;//变身帧
}