package metatable; message MFPair { optional int32 key = 1; //key optional int32 value = 2; //val } message Parameter { optional string param_name = 1; optional string param_value = 2; } message Attr { required int32 attr_id = 1; required string attr_cname = 2; required string attr_ename = 3; } message Map { optional int32 map_id = 1; //地图id optional string template_list = 2; //模板列表 optional string map_name = 3; //地图名 optional float map_width = 4; optional float map_height = 5; optional string airdrops = 6; optional int32 terminator_airdrop = 7; optional int32 player = 8; optional string refresh_robot = 9; optional int32 map_mode = 10; optional int32 safearea = 11; optional string game_start_buff_list = 12; optional string map_pic = 13; } message MapThing { optional int32 thing_id = 1; //物件id optional int32 thing_type = 16; optional int32 time = 17; optional int32 type = 2; //类型 optional int32 height = 3; //高度 optional int32 width = 4; //宽度 optional int32 hp = 5; //生命 optional float damage = 6; //伤害 optional float damage_dia = 7; //伤害半径 optional int32 drop = 8; //掉落 optional int32 attack_type = 9; //是否可攻击 0:不可破坏对象 1:可破坏对象 2:可穿透对象 optional int32 is_door = 10; //是否门 optional int32 is_house = 11; //是否房间 optional int32 is_tree = 12; //是否树 optional int32 house_id = 13; //房间id optional string buff_list = 14; optional int32 explosion_effect = 15; optional int32 explosion_interval = 18; optional int32 explosion_times = 19; optional int32 explosion_float = 20; } message SafeArea { optional int32 id = 1; //id optional int32 level = 2; //安全区登记 optional int32 rad = 3; //半径 optional int32 wait_time = 4; //等待时间 optional int32 shrink_speed = 5; //收缩速度 optional int32 hurt = 6; //伤害/秒 } message Item { optional int32 id = 1; //道具id } message Equip { optional int32 id = 1; //装备id optional int32 equip_type = 2; //装备类型 optional int32 equip_subtype = 3; //装备子类型 optional int32 equip_lv = 4; //装备等级 optional int32 fire_mode = 5; //开火模式 optional int32 use_bullet = 6; //使用子弹 optional int32 clip_volume = 7; //弹夹数量 optional int32 reload_time = 8; //装弹时间 optional int32 fire_rate = 9; //武器射速 optional int32 atk = 10; //攻击力 optional int32 def = 11; //防御力 optional int32 max_hp = 41; optional int32 explosion_range = 12; //子弹爆炸范围 optional int32 bullet_speed = 13; //子弹速度 optional int32 range = 14; //射程 optional int32 use_time = 15; //使用时间 optional int32 heal = 16; //瞬间生命恢复 optional int32 time = 17; //时间 optional string volume = 19; //装备容量 optional int32 bullet_rad = 20; //子弹半径 optional int32 group_num = 21; //每组数量 optional int32 is_luck = 22; //是否吉利服 optional string bullet_born_offset = 30; //子弹出生偏移 optional float bullet_angle = 34; //子弹浮动方向 optional string name = 35; //装备名字 optional float rad = 36; //半径 optional float rad2 = 37; optional int32 buffid = 38; optional int32 drop_id = 40; optional int32 explosion_effect = 42; optional string param1 = 43; optional string param2 = 44; optional int32 reloadtype = 46; optional float recoil_force = 47; optional int32 missiles_time = 48; optional int32 heroid = 49; optional string inventory_slot = 31; //库存槽位 optional int32 _inventory_slot = 32; //库存槽位 } message EquipUpgrade { optional int32 id = 1; optional string attr_type = 4; optional string spera_attr = 5; } message Player { optional int32 id = 1; //唯一id optional float radius = 2; //半径 optional int32 health = 3; //初始血量 optional int32 move_speed = 4; //移动速度 optional int32 jump_speed = 5; //跳伞速度 optional int32 move_speed3 = 6; optional int32 shot_speed = 7; optional int32 aiming_speed = 8; optional int32 move_speed4 = 10; //移动速度4 optional int32 reload_speed = 9; optional float def = 11; //防御 optional string volume = 12; //初始库存 optional int32 level = 13; optional int32 race = 14; optional int32 active_skill = 15; optional int32 passive_skill = 16; optional int32 exp = 17; optional int32 dead_exp = 18; optional int32 killer_exp = 19; optional int32 zbmode_weapon_id = 20; optional int32 zbmode_weapon_lv = 21; optional int32 revive_time = 22; optional string name = 23; optional int32 normal_skill = 24; optional float hit_radius = 25; } message Robot { optional int32 id = 1; optional string name = 2; optional int32 skin = 3; optional int32 weapon_id = 4; optional int32 weapon_lv = 5; optional int32 zbmode_weapon_id = 6; optional int32 zbmode_weapon_lv = 7; optional int32 sex = 8; } message Skill { required int32 skill_id = 1; required int32 skill_type = 2; required string value_up = 6; required int32 skill_cd = 7; required int32 skill_target = 8; required string buff_list = 9; required float skill_distance = 10; required int32 cold_time_up = 11; required int32 max_times = 12; optional int32 phase1_time_offset = 20; optional int32 phase1_func = 21; optional string phase1_param1 = 22; optional string phase1_param2 = 23; optional string phase1_param3 = 24; optional int32 phase2_time_offset = 30; optional int32 phase2_func = 31; optional string phase2_param1 = 32; optional string phase2_param2 = 33; optional string phase2_param3 = 34; optional int32 phase3_time_offset = 40; optional int32 phase3_func = 41; optional string phase3_param1 = 42; optional string phase3_param2 = 43; optional string phase3_param3 = 44; } message Buff { required int32 buff_id = 1; required int32 buff_target = 2; required int32 buff_effect = 3; required int32 trigger_type = 4; required string buff_param1 = 6; required string buff_param2 = 7; required string buff_param3 = 8; required string buff_param4 = 9; required float duration_time = 10; optional float buff_valueup = 11; required string immune_buffeffect_list = 12; optional string post_remove_action = 13; optional int32 only_server = 14; optional int32 only_self = 15; } message Drop { optional int32 drop_id = 1; optional string item_id = 2; optional string num = 3; optional string weight = 4; optional int32 type = 5; } message AirDrop { optional int32 id = 1; optional int32 time = 2; optional int32 appear_time = 3; optional int32 drop_id = 4; } message AirLine { optional int32 id = 1; optional string start_point = 2; optional string end_point = 3; optional float plane_speed = 4; optional int32 weight = 5; optional int32 map_id = 6; } message Dress { optional int32 id = 1; optional int32 level = 2; optional int32 skill_id = 3; optional string attr_type = 4; optional int32 max_lv = 5; } message RankReward { optional int32 rank = 1; optional float parameter = 2; optional int32 drop = 3; } message RankPoint { optional int32 rank = 1; optional int32 parameter = 2; optional int32 parameter2 = 3; optional int32 parameter3 = 4; } message KillReward { optional int32 kill_num = 1; optional float parameter = 2; } message KillPoint { optional int32 kill_num = 1; optional int32 parameter = 2; optional int32 parameter2 = 3; } message AI { optional int32 ai_level = 1; optional int32 pursuit_radius = 2; optional int32 attack_interval = 3; optional int32 attack_times = 4; optional int32 attack_type = 5; optional int32 shot_offset_angle = 6; optional string random_move_idle_time = 8; optional string random_move_time = 9; optional int32 attack_range = 10; optional float attack_rate = 11; optional int32 ai_mode = 12; } message Text { optional string textid = 1; optional string text = 2; } //end message DoorObjJson { optional float height = 1; optional float width = 2; optional float x = 3; optional float y = 4; optional int32 type = 5; optional int32 id = 6; } message DropObjJson { optional float x = 1; optional float y = 2; optional int32 id = 3; } message StaticObjJson { optional float x = 1; optional float y = 2; optional float height = 3; optional float width = 4; } message LootObjJson { optional float x = 1; optional float y = 2; optional int32 weight = 3; optional string things = 4; repeated MFPair _things = 5; optional int32 _rand_space = 6; } message BuildingJson { // optional int32 id = 1; optional float tileheight = 2; optional float tilewidth = 3; repeated DoorObjJson doorObj = 4; repeated DropObjJson dropObj = 5; repeated StaticObjJson staticObj = 6; repeated LootObjJson lootObj = 7; repeated StaticObjJson halfwallObj = 8; optional int32 mapId = 20; } message MapTplThingJson { optional string layer_name = 1; optional string name = 2; optional string things = 3; optional int32 weight = 4; optional float x = 5; optional float y = 6; optional float height = 7; optional float width = 8; optional float param1 = 9; optional float param2 = 10; optional float param3 = 11; optional string object_type = 12; optional int32 _object_type = 13; } message TerrainJson { optional int32 map_id = 1; repeated int32 dust = 2; repeated int32 water = 3; repeated int32 grass = 4; } message MapLayerJson { optional string name = 1; optional int32 width = 2; optional int32 height = 3; repeated int32 grids = 4; }