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;//变身帧 }