diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 7ff4f1d..16d1bb4 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -294,6 +294,31 @@ message MFProjectileFull optional float pos_z = 3; //没用到 } +//英雄(分身)-部分 +message MFHeroPart +{ + optional int32 obj_uniid = 1; //唯一id + optional MFVector2D pos = 2; //位置 + optional MFVector2D dir = 3; //朝向 + +} + +//英雄(分身)-全量 +message MFHeroFull +{ + optional int32 obj_uniid = 1; //唯一id + optional MFVector2D pos = 2; //位置 + optional MFVector2D dir = 3; //朝向 + optional int32 masert_uniid = 4; //主人id + + optional int32 skin = 13; //皮肤id + optional int32 backpack = 14; //背包 + optional int32 helmet = 16; //头盔 + optional int32 chest = 17; //防弹衣 + optional MFWeapon weapon = 18; //武器 + +} + //烟雾-部分 message MFSmokePart { @@ -313,7 +338,7 @@ message MFSmokeFull //对象信息-部分 message MFObjectPart { - //1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke + //1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke 10:hero optional int32 object_type = 1; optional MFPlayerPart union_obj_1 = 2; @@ -325,12 +350,13 @@ message MFObjectPart optional MFDecalPart union_obj_7 = 8; optional MFProjectilePart union_obj_8 = 9; optional MFSmokePart union_obj_9 = 10; + optional MFHeroPart union_obj_10 = 11; } //对象信息-全量 message MFObjectFull { - //1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke + //1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke 10:hero optional int32 object_type = 1; optional MFPlayerFull union_obj_1 = 2; @@ -342,6 +368,7 @@ message MFObjectFull optional MFDecalFull union_obj_7 = 8; optional MFProjectileFull union_obj_8 = 9; optional MFSmokeFull union_obj_9 = 10; + optional MFHeroFull union_obj_10 = 11; } //活跃玩家数据(当前) @@ -391,6 +418,9 @@ message MFActivePlayerData optional int32 spectator_count = 20; repeated MFBodyState states = 27; //角色状态 + + optional int32 skill_left_time = 50; //技能cd时间(剩余时间) + optional int32 skill_cd_time = 51; //技能cd时间(总时间) } //毒圈数据 @@ -511,7 +541,20 @@ message MFAirDrop //对象状态(只同步一次客户端自己到及时,有变化时服务器会再次下发) message MFBodyState { - optional int32 state_type = 1; //1:止痛药持续加血 2:在飞机上(这时left_time、lasting_time无意义) 3:跳伞中 + /* + 1: 止痛药持续加血 + 2: 在飞机上(这时left_time、lasting_time无意义) + 3: 跳伞中 + + 4: 隐身中(队友可见) + 5: 加速中 + 6: 伤害加深 + 7: 护盾 + 8: 回血 + 9: 反伤 + + */ + optional int32 state_type = 1; optional float left_time = 2; //剩余时间(单位毫秒) optional float lasting_time = 3; //持续时间(总时间毫秒) } @@ -571,6 +614,8 @@ message CMMove optional bool interaction = 9; //是否有交互 repeated int32 interaction_objids = 23; //交互的对象id列表 + optional bool use_skill = 29; //使用技能 + optional bool spectate = 30; //自杀 optional int32 emote = 31; //表情id