Создание броника в ЧН — S.T.A.L.K.E.R. Inside Wiki

Создание броника в ЧН

Материал из 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

Часть 1

И так, приступаем. Открываем файл 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"

Часть 2

Всё, теперь сохраняем. Далее открываем "st_items_outfit.xml" и в самом конце прописываем:

<string id="killer_outfit_description">
<text>Комбинезон членов группировки наёмников, защитные характеристики костюма очень малы, что крайне не достаточно в условиях зоны.</text>
</string>
<string id="killer_outfit_name">
<text>Комбинезон наёмника</text>
</string>

Так, теперь всё сохраняем и переходим к следующим действиям...

Часть 3

Открываем файл 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

Часть 4

Осталось ещё немного. Открываем файл stalkers_upgarde_info.ltx и прописываем наш бронежилет на апгрейд любому технику в зоне, которому хотим доверить модифицирование нашего бронежилета, я для примера пропишу Новикову. Для этого в самом конце записи:
[mar_csky_tech]
после:
stalker_outfit
прописываем:
killer_outfit
и сохраняем файл.
После открываем файл inventory_upgrades.ltx и в самом конце после:
dolg_heavy_outfit
ставим:
killer_outfit
и сохраняем.

Часть 5

Теперь нам осталось только прописать продажу нашего нового бронежилета торговцам, я для примера взял Суслова на болотах. Открываем файл trade_trader_mar_csky.ltx и прописываем:

В функции:
[trade_generic_buy]
после:
dolg_heavy_outfit		= 0.01, 0.01
Ставим:
<code>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

Всё, сохраняем и тестируем.

Другие места
LANGUAGE