From 80dcad039acbbe3f1fc5a5f3f6d07240acdf8abe Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 12 Mar 2019 13:52:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/tools/protobuild/cs_proto.proto | 294 ++++++++++++++++++++++++- 1 file changed, 293 insertions(+), 1 deletion(-) diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index d1e2052..25bcf0d 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -93,6 +93,283 @@ message MFGoods optional int32 num = 2; } +message MFPlug +{ + optional string name = 1; + optional int32 id = 2; + optional int32 param = 3; +} + +//玩家信息-部分 +message MFPlayerPart +{ + optional MFVector2D pos = 1; //位置 + optional MFVector2D dir = 2; //朝向 +} + +//玩家信息-全量 +message MFPlayerFull +{ + optional float health = 1; //血量 + optional bool dead = 2; //是否已死亡 + optional bool downed = 3; // + optional bool disconnected = 4; //是否断网 + optional int32 anim_type = 5; // + optional int32 anim_seq = 6; // + optional int32 action_type = 7; // + optional int32 skin = 8; //皮肤id + //backpack + optional int32 helmet = 10; //头盔 + optional int32 chest = 11; // + optional int32 weapon = 12; //武器 + optional int32 energy_shield = 13; //能量护盾 + optional int32 vip = 14; //vip + optional int32 sdmg = 15; +} + +//阻挡物-部分 +message MFObstaclePart +{ + optional MFVector2D pos = 1; //位置 + optional float scale = 3; //缩放比 +} + +//阻挡物-全量 +message MFObstacleFull +{ + optional int32 obstacle_id = 1; //阻挡物id + optional float health = 2; //血量 + optional bool dead = 3; //是否已死亡 + + optional bool is_door = 4; //是否门 + optional int32 door_relative_ori = 5; // + optional bool door_can_use = 6; // + optional int32 door_seq = 7; + + optional bool is_button = 10; + optional bool button_onoff = 11; + optional bool button_can_use = 12; + optional int32 button_seq = 13; +} + +//建筑物-部分 +message MFBuildingPart +{ + optional MFVector2D pos = 1; //位置 + optional int32 building_id = 2; //建筑物id + optional int32 ori = 3; // +} + +//建筑物-全量 +message MFBuildingFull +{ + optional int32 building_id = 1; //建筑物id + optional MFVector2D pos = 2; //位置 + optional int32 ori = 3; + optional bool ceiling_dead = 4; +} + +//loot出生点-部分 +message MFLootSpawnerPart +{ + optional int32 loot_id = 1; //id + optional MFVector2D pos = 2; //位置 +} + +//loot出生点-全量 +message MFLootSpawnerFull +{ + optional int32 loot_id = 1; //id + optional MFVector2D pos = 2; //位置 +} + +//loot-部分 +message MFLootPart +{ + optional MFVector2D pos = 1; //位置 +} + +//loot-全量 +message MFLootFull +{ + optional string name = 1; + optional int32 count = 2; + optional int32 age_ms = 3; +} + +//尸体-部分 +message MFDeadBodyPart +{ + optional MFVector2D pos = 1; //位置 +} + +//尸体-全量 +message MFDeadBodyFull +{ + optional int32 player_id = 1; //玩家id + optional int32 inkjet = 2; +} + +//decal-部分 +message MFDecalPart +{ + optional int32 decal_id = 1; //id + optional MFVector2D pos = 2; //位置 +} + +//decal-全量 +message MFDecalFull +{ + optional int32 decal_id = 1; //id + optional MFVector2D pos = 2; //位置 +} + +//发射体-部分 +message MFProjectilePart +{ + optional MFVector2D pos = 1; //位置 + optional float pos_z = 2; //没用到 +} + +//发射体-全量 +message MFProjectileFull +{ + optional MFVector2D pos = 1; //位置 + optional float pos_z = 2; //没用到 +} + +//烟雾-部分 +message MFSmokePart +{ + optional MFVector2D pos = 1; //位置 + optional float rad = 2; //半径 +} + +//烟雾-全量 +message MFSmokeFull +{ + optional MFVector2D pos = 1; //位置 + optional float rad = 2; //半径 +} + +//对象信息-部分 +message MFObjectPart +{ + //1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke + optional int32 object_type = 1; + + optional MFPlayerPart union_obj_1 = 2; + optional MFObstaclePart union_obj_2 = 3; + optional MFBuildingPart union_obj_3 = 4; + optional MFLootSpawnerPart union_obj_4 = 5; + optional MFLootPart union_obj_5 = 6; + optional MFDeadBodyPart union_obj_6 = 7; + optional MFDecalPart union_obj_7 = 8; + optional MFProjectilePart union_obj_8 = 9; + optional MFSmokePart union_obj_9 = 10; +} + +//对象信息-部分 +message MFObjectFull +{ + //1:player 2:obstacle 3:building 4:lootspawner 5:loot 6:deadbody 7:decal 8:projectile 9:smoke + optional int32 object_type = 1; + + optional MFPlayerFull union_obj_1 = 2; + optional MFObstacleFull union_obj_2 = 3; + optional MFBuildingFull union_obj_3 = 4; + optional MFLootSpawnerFull union_obj_4 = 5; + optional MFLootFull union_obj_5 = 6; + optional MFDeadBodyFull union_obj_6 = 7; + optional MFDecalFull union_obj_7 = 8; + optional MFProjectileFull union_obj_8 = 9; + optional MFSmokeFull union_obj_9 = 10; +} + +//玩家数据 +message MFPlayerData +{ + optional float boost = 1; + + optional bool has_action = 2; + optional float actoin_time = 3; + optional float action_duration = 4; + optional int32 action_item_id = 5; + optional int32 action_target_id = 6; + + optional int32 cur_scope = 10; + repeated int32 inventory = 11; + + optional int32 cur_weap_idx = 15; + // repeated int32 weapons = 16; + + optional int32 spectator_count = 20; + +} + +message MFGasData +{ + optional int32 mode = 1; + optional float duration = 2; + optional MFVector2D pos_old = 3; + optional MFVector2D pos_new = 4; + optional float rad_old = 5; + optional float rad_new = 6; +} + +message MFTeamData +{ + optional int32 player_id = 1; + optional MFVector2D pos = 2; + optional MFVector2D dir = 3; + optional float health = 4; + optional bool disconnected = 5; + optional bool dead = 6; + optional bool downed = 7; +} + +message MFTeamInfo +{ + optional int32 team_id = 1; + repeated int32 player_ids = 2; +} + +message MFBullet +{ + optional int32 player_id = 1; + optional int32 bullet_id = 2; + optional MFVector2D pos = 3; + optional MFVector2D dir = 4; + optional float variance_t = 5; + optional int32 bullskin = 6; + optional bool crit = 7; + optional int32 reflect_count = 8; + optional int32 reflect_objid = 9; +} + +message MFShot +{ + optional int32 player_id = 1; + optional int32 weapon_id = 2; + optional bool offhand = 3; + optional int32 bullskin = 4; +} + +message MFExplosion +{ + optional MFVector2D pos = 1; + optional int32 type = 2; +} + +message MFEmote +{ + optional int32 type = 1; + optional int32 is_ping = 2; + optional int32 player_id = 3; + optional MFVector2D pos = 4; + optional string msg = 5; +} + //xx message MFPlayerStats { @@ -177,7 +454,8 @@ message CMJoin optional int32 baseskin = 13; //皮肤id optional int32 basemelee = 14; //xx optional int32 elo_score = 15; - //plugs + repeated MFPlug plugs = 16; + optional string channel = 20; //渠道编号 optional string gmode = 21; } @@ -276,6 +554,20 @@ message SMPlayerInfo message SMUpdate { repeated int32 del_objids = 1; + repeated MFObjectFull full_objects = 2; + repeated MFObjectPart part_objects = 3; + optional int32 active_player_id = 10; //当前活跃玩家id + optional MFPlayerData active_player_data = 11; //活跃玩家数据 + optional int32 alive_count = 15; //存货数量 + optional int32 gasT = 16; + optional MFGasData gas_data = 17; + repeated MFTeamData team_data = 18; + repeated MFTeamData teams = 19; + repeated MFBullet bullets = 20; //子弹 + repeated MFShot shots = 21; + repeated MFExplosion explosions = 22; + repeated MFEmote emotes = 23; + optional int32 ack = 24; } //xx