Создание броника в ЧН
Материал из S.T.A.L.K.E.R. Inside Wiki
Создание модифицированного бронежилета в ЧН
И так, в этой статье я опишу как создать модифицируемый бронежилет в ЧН. Для примера создадим комбенизон наёмника. Для этого нам понадобятся вот эти файлы:
gamedata\configs\item_upgrades.ltx gamedata\configs\misc\outfit.ltx gamedata\configs\misc\inventory_upgrades.ltx gamedata\configs\misc\stalkers_upgarde_info.ltx gamedata\configs\misc\trade\trade_trader_mar_csky.ltx gamedata\configs\ui\inventory_upgrade.xml gamedata\configs\ui\inventory_upgrade_16.xml gamedata\configs\text\rus\st_items_outfit.xml
И так, приступаем. Открываем файл outfit.ltx и в самый конец добавляем:
- ---------------------------------------------------------------------------------------------
- КОМБЕНИЗОН НАЁМНИКА
- ---------------------------------------------------------------------------------------------
[killer_outfit]:outfit_base GroupControlSection = spawn_group discovery_dependency = $spawn = "outfit\killer_outfit"
- $prefetch = 32
class = E_STLK cform = skeleton visual = dynamics\outfit\stalker_outfit actor_visual = actors\stalker_neutral\stalker_neutral_2.ogf player_hud_section = actor_hud_01
ef_equipment_type = 3
inv_name = killer_outfit_name inv_name_short = killer_outfit_name description = killer_outfit_description inv_weight = 5.0 inv_grid_width = 2 inv_grid_height = 3 inv_grid_x = 4 inv_grid_y = 15 full_icon_name = npc_icon_stalker_outfit
cost = 6250 slot = 6 full_scale_icon = 14,11 ;иконка сталкера в костюме в полный рост nightvision_sect = ;effector_nightvision_bad
additional_inventory_weight = 0 ; +max_walk_weight additional_inventory_weight2 = 0 ; +40 kg artefact_count = 2
default_to_ruck = false immunities_sect = sect_killer_outfit_immunities
- LOW RESISTANCE
burn_protection = 0.015 shock_protection = 0.015 radiation_protection = 0.015 chemical_burn_protection = 0.015 telepatic_protection = 0.0 strike_protection = 0.25 explosion_protection = 0.25 wound_protection = 0.25 fire_wound_protection = 0.0 physic_strike_wound_immunity = 0.15
power_loss = 1.0 bones_koeff_protection = actor_light_armor hit_fraction_actor = 0.3 control_inertion_factor = 1.2
upgrades = up_gr_ab_killer_outfit, up_gr_cd_killer_outfit, up_gr_ef_killer_outfit, up_gr_gh_killer_outfit, up_gr_i_killer_outfit installed_upgrades = upgrade_scheme = upgrade_killer_outfit
[sect_killer_outfit_immunities] burn_immunity = 0.03 ;коэффициенты иммунитета самого костюма strike_immunity = 0.0 shock_immunity = 0.0 wound_immunity = 0.03 radiation_immunity = 0.0 telepatic_immunity = 0.0 chemical_burn_immunity = 0.03 explosion_immunity = 0.03 fire_wound_immunity = 0.015
[sect_killer_outfit_immunities_1] burn_immunity = 0.015 ;коэффициенты иммунитета самого костюма strike_immunity = 0.0 shock_immunity = 0.0 wound_immunity = 0.015 radiation_immunity = 0.0 telepatic_immunity = 0.0 chemical_burn_immunity = 0.015 explosion_immunity = 0.015 fire_wound_immunity = 0.010
Далее в этом же файле только в самом верху после строки "#include "outfit_upgrades\o_military_outfit_up.ltx" ставим новую: "#include "outfit_upgrades\o_killer_outfit_up.ltx"
Всё, теперь сохраняем. Далее открываем "st_items_outfit.xml" и в самом конце прописываем:
<string id="killer_outfit_description">
Комбенизон членов группировки наёмников, защитные характеристики костюма очень малы, что крайне не достаточно в условиях зоны.
</string> <string id="killer_outfit_name">
Комбенизон наёмника
</string>
Так, сохроняем всё теперь и открываем файл item_upgrades.ltx (gamedata/configs), и в самом конце прописываем:
- include "misc\outfit_upgrades\o_killer_outfit_up.ltx"
Сохраняем всё. Далее открываем по очереди "inventory_upgrade.xml" и "inventory_upgrade_16.xml" и в самом конце прописываем структуру:
<template name="upgrade_killer_outfit">
<column> <cell x="20" y="5" /> <cell x="20" y="50" /> <cell x="20" y="100" /> <cell x="20" y="145" /> <cell x="20" y="195" /> <cell x="20" y="240" /> <cell x="20" y="290" /> <cell x="20" y="335" /> <cell x="20" y="385" /> </column>
<column> <cell x="120" y="50" /> <cell x="120" y="100" /> <cell x="120" y="240" /> <cell x="120" y="290" /> <cell x="120" y="385" /> </column>
<column> <cell x="220" y="385" /> </column>
</template>
Далее создаём по такому пути (gamedata\configs\misc) папку с таким названием outfit_upgrades а в нутри папки новый конфиг с названием o_killer_outfit_up.ltx, после открываем конфиг и прописываем в нём:
[up_sect_a_killer_outfit] cost = 2500 value2 = st_upg_cevlars_armor_battle inv_weight = 2.0 bones_koeff_protection = actor_light_armor_1
[up_sect_b_killer_outfit] cost = 2500 value = +5 additional_inventory_weight = 5 ; +max_walk_weight additional_inventory_weight2 = 5
[up_sect_c_killer_outfit] cost = 2500 value = +30 inv_weight = 0.5 strike_protection = 0.02 ;0.25 wound_protection = 0.02 ;0.25 explosion_protection = 0.02 ;0.25
- hit_fraction_actor = -0.05
[up_sect_d_killer_outfit] cost = 2500 value = +20 inv_weight = 0.5 burn_protection = 0.008 ;0.3 shock_protection = 0.008 ;0.3
[up_sect_e_killer_outfit] cost = 2500 value = +50 immunities_sect = sect_stalker_outfit_immunities_1
[up_sect_f_killer_outfit] cost = 2500 value = +20 burn_protection = 0.008 ;0.3 shock_protection = 0.008 ;0.3
[up_sect_g_killer_outfit] cost = 2500 nightvision_sect = effector_nightvision_bad
[up_sect_h_killer_outfit] cost = 2500 value = +50 radiation_protection = 0.008 ;0.1 chemical_burn_protection = 0.008 ;0.1
[up_sect_i_killer_outfit] cost = 2500 inv_weight = 1.0 artefact_count = 1
[up_sect_ac_killer_outfit] cost = 3750 value2 = st_upg_cevlars_armor_battle inv_weight = 2.0 bones_koeff_protection = actor_light_armor_2
[up_sect_bd_killer_outfit] cost = 3750 value = +10 additional_inventory_weight = 10 ; +max_walk_weight additional_inventory_weight2 = 10
[up_sect_eg_killer_outfit] cost = 3750 value = +50 inv_weight = 0.3 strike_protection = 0.03 ;0.15 wound_protection = 0.03 ;0.15 explosion_protection = 0.03 ;0.15
- hit_fraction_actor = -0.05
[up_sect_fh_killer_outfit] cost = 3750 value = +50 radiation_protection = 0.008 ;0.1 chemical_burn_protection = 0.008 ;0.1
[up_sect_i2_killer_outfit] cost = 2500 inv_weight = 1.0 artefact_count = 1
[up_sect_i3_killer_outfit] cost = 2500 inv_weight = 1.0 artefact_count = 1
[up_a_killer_outfit] scheme_index = 0, 0 known = 1 effects = up_gr_ac_killer_outfit section = up_sect_a_killer_outfit property = prop_armor
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_cevlars_armor_battle description = st_upg_cevlars_armor_battle_descr icon = ui_am_upgrade_06
[up_b_killer_outfit] scheme_index = 0, 1 known = 1 effects = up_gr_bd_killer_outfit section = up_sect_b_killer_outfit property = prop_tonnage
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_outfit_a_stalk description = st_upg_outfit_a_stalk_descr icon = ui_am_upgrade_01
[up_c_killer_outfit] scheme_index = 0, 2 known = 1 effects = up_gr_ac_killer_outfit section = up_sect_c_killer_outfit property = prop_damage
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_slice_leather_battle description = st_upg_slice_leather_battle_descr icon = ui_am_upgrade_13
[up_d_killer_outfit] scheme_index = 0, 3 known = 1 effects = up_gr_bd_killer_outfit section = up_sect_d_killer_outfit property = prop_thermo_electro
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_polymer_suit_stalk description = st_upg_polymer_suit_stalk_descr icon = ui_am_upgrade_10
[up_e_killer_outfit] scheme_index = 0, 4 known = 1 effects = up_gr_eg_killer_outfit section = up_sect_e_killer_outfit property = prop_durability
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_double_layer_body_armor_battle description = st_upg_double_layer_body_armor_battle_descr icon = ui_am_upgrade_25
[up_f_killer_outfit] scheme_index = 0, 5 known = 1 effects = up_gr_fh_killer_outfit section = up_sect_f_killer_outfit property = prop_thermo_electro
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_spec_coating_stalk description = st_upg_spec_coating_stalk_descr icon = ui_am_upgrade_11
[up_g_killer_outfit] scheme_index = 0, 6 known = 1 effects = up_gr_eg_killer_outfit section = up_sect_g_killer_outfit property = prop_night_vision
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_night_vision_battle description = st_upg_night_vision_battle_descr icon = ui_am_upgrade_22
[up_h_killer_outfit] scheme_index = 0, 7 known = 1 effects = up_gr_fh_killer_outfit section = up_sect_h_killer_outfit property = prop_radio_chem
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_anti_gas_stalk description = st_upg_anti_gas_stalk_descr icon = ui_am_upgrade_18
[up_i_killer_outfit] scheme_index = 0, 8 known = 1 effects = up_gr_i2_killer_outfit section = up_sect_i_killer_outfit property = prop_artefact
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_artefact_slot description = st_upg_artefact_slot_descr icon = ui_am_upgrade_05
[up_ac_killer_outfit] scheme_index = 1, 0 known = 1 effects = section = up_sect_ac_killer_outfit property = prop_armor
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_cevlars_armor_battle description = st_upg_cevlars_armor_battle_descr icon = ui_am_upgrade_06
[up_bd_killer_outfit] scheme_index = 1, 1 known = 1 effects = section = up_sect_bd_killer_outfit property = prop_tonnage
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_outfit_b_stalk description = st_upg_outfit_b_stalk_descr icon = ui_am_upgrade_02
[up_eg_killer_outfit] scheme_index = 1, 2 known = 1 effects = section = up_sect_eg_killer_outfit property = prop_damage
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_sintetic_pillow_battle description = st_upg_sintetic_pillow_battle_descr icon = ui_am_upgrade_14
[up_fh_killer_outfit] scheme_index = 1, 3 known = 1 effects = section = up_sect_fh_killer_outfit property = prop_radio_chem
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_active_filter_stalk description = st_upg_active_filter_stalk_descr icon = ui_am_upgrade_19
[up_i2_killer_outfit] scheme_index = 1, 4 known = 1 effects = up_gr_i3_killer_outfit section = up_sect_i2_killer_outfit property = prop_artefact
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_artefact_slot description = st_upg_artefact_slot_descr icon = ui_am_upgrade_05
[up_i3_killer_outfit] scheme_index = 2, 0 known = 1 effects = section = up_sect_i3_killer_outfit property = prop_artefact
precondition_functor = inventory_upgrades.precondition_functor_a precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a effect_parameter = something_here
prereq_functor = inventory_upgrades.prereq_functor_a prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a prereq_params = money(1000), item(habar) name = st_upg_artefact_slot description = st_upg_artefact_slot_descr icon = ui_am_upgrade_05
[up_gr_ab_killer_outfit] elements = up_a_killer_outfit, up_b_killer_outfit [up_gr_cd_killer_outfit] elements = up_c_killer_outfit, up_d_killer_outfit [up_gr_ef_killer_outfit] elements = up_e_killer_outfit, up_f_killer_outfit [up_gr_gh_killer_outfit] elements = up_g_killer_outfit, up_h_killer_outfit [up_gr_i_killer_outfit] elements = up_i_killer_outfit
[up_gr_ac_killer_outfit] elements = up_ac_killer_outfit [up_gr_bd_killer_outfit] elements = up_bd_killer_outfit [up_gr_eg_killer_outfit] elements = up_eg_killer_outfit [up_gr_fh_killer_outfit] elements = up_fh_killer_outfit [up_gr_i2_killer_outfit] elements = up_i2_killer_outfit
[up_gr_i3_killer_outfit] elements = up_i3_killer_outfit
Осталось ещё немного. Открываем "stalkers_upgarde_info.ltx" и прописываем наш бронежилет на апгрейд любому технику в зоне, которому хотим доверить модифицирование нашего бронежилета, я для примера пропишу Новикову. Для этого в самом конце записи "[mar_csky_tech]", после stalker_outfit прописываем killer_outfit и сохраняем файл. После открываем "inventory_upgrades.ltx" и в самом конце после dolg_heavy_outfit ставим killer_outfit, сохраняем всё. Теперь осталось только прописать продажу нашего бронежилета торговцам, я для примера взял Суслова на болотах. Открываем файл trade_trader_mar_csky.ltx и прописываем:
В функции: [trade_generic_buy] после: dolg_heavy_outfit = 0.01, 0.01 Ставим: killer_outfit = 0.01, 0.01
В функциях: [supplies_generic],[supplies_exp_1],[supplies_exp_2],[supplies_exp_3] где нибудь: killer_outfit = 3, 0.5
В функциях: [trade_generic_sell] и [trade_friend_sell] после: dolg_heavy_outfit ;NO TRADE Ставим: killer_outfit = 1, 3
Всё, сохраняем и тестируем.