<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://stalkerin.gameru.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.44.250.253&amp;*</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=178.44.250.253&amp;*"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/178.44.250.253"/>
		<updated>2026-04-29T16:35:55Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

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

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:CopyPaste</id>
		<title>Категория:CopyPaste</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:CopyPaste"/>
				<updated>2011-08-28T05:20:27Z</updated>
		
		<summary type="html">&lt;p&gt;178.44.250.253: Новая страница: «Категория для статей, не соответствующих критерию &amp;quot;авторская&amp;quot;, то есть '''копипаст'''.»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Категория для статей, не соответствующих критерию &amp;quot;авторская&amp;quot;, то есть '''копипаст'''.&lt;/div&gt;</summary>
		<author><name>178.44.250.253</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_%D0%BF%D0%B0%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%B2_SoC</id>
		<title>Перепаковщик патронов SoC</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_%D0%BF%D0%B0%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%B2_SoC"/>
				<updated>2011-08-28T05:17:38Z</updated>
		
		<summary type="html">&lt;p&gt;178.44.250.253: копипастинг&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Вступление==&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;Привет всем. Сегодня наш урок будет о том как сделать перепаковщик пачек патронов для Тени Чернобыля. Ведь когда играешь и собираешь куча патронов не получается сделать элементарную нычку какую либо, потому что патроны собранные с убитых вами сталкеров состоят из 3, 7, 10, 14 и т.д патронов в каждой пачке, а ахота чтобы все эти патроны перепаковывались в одну или несколько нормальных пачек, вот поэтому я сегодня объясню как сделать такой же перепаковщик пачек патронов как и во многих других глобальный модах.&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Действие 1==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;Заходим в (gamedata/scripts) и создаём там новый скрипт с таким названием: dunin_ammo.script и вписываем в него вот это:&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
local ammo = {}&lt;br /&gt;
local inited = false&lt;br /&gt;
local repack = false &lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
-- инициализация переменных, выполняется единожды&lt;br /&gt;
--------&lt;br /&gt;
function init()&lt;br /&gt;
	local i, result, section, value&lt;br /&gt;
	-- отсюда возьмём размеры полных пачек&lt;br /&gt;
	local sys = system_ini()&lt;br /&gt;
	-- список патронов возьмём из &amp;quot;death_generic.ltx&amp;quot;&lt;br /&gt;
	local ini = ini_file(&amp;quot;misc\\death_generic.ltx&amp;quot;)&lt;br /&gt;
	local n = ini:line_count(&amp;quot;ammo_sections&amp;quot;)&lt;br /&gt;
	for i=0,n-1 do&lt;br /&gt;
		result, section, value = ini:r_line(&amp;quot;ammo_sections&amp;quot;,i,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
		ammo[section] = {}&lt;br /&gt;
		ammo[section].repack = false&lt;br /&gt;
		ammo[section].box = sys:r_u32(section, &amp;quot;box_size&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	repack = false&lt;br /&gt;
	inited = true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
-- вызывается при добавлении в инвентарь ГГ любых патрон&lt;br /&gt;
--  obj - game_object добавляемой пачки&lt;br /&gt;
-- здесь будем только ставить флажки о необходимости проверки,&lt;br /&gt;
-- саму проверку и перепаковку сделаем в апдейте актёра,&lt;br /&gt;
-- если перепаковку делать прям здесь, то будет глюк при загрузки и&lt;br /&gt;
-- при взятии из нычки кучи патрон (взять всё)&lt;br /&gt;
--------&lt;br /&gt;
function on_take(obj)&lt;br /&gt;
	if not inited then&lt;br /&gt;
		init()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local section = obj:section()&lt;br /&gt;
	--dbglog(&amp;quot;on_take('%s')&amp;quot;, section)&lt;br /&gt;
         --local msg = string.format(&amp;quot;on_take('%s')&amp;quot;, obj: name())&lt;br /&gt;
	--get_console():execute(&amp;quot;dbg:&amp;quot; .. msg)&lt;br /&gt;
&lt;br /&gt;
	if ammo[section] ~= nil and section ~= nil and ammo[section].repack == false then&lt;br /&gt;
		if get_ammo_size(obj) &amp;lt; ammo[section].box then&lt;br /&gt;
			ammo[section].repack = true&lt;br /&gt;
			repack = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
-- вызывается из апдейта актёра&lt;br /&gt;
-- проверяет наличие флажков и вызывает процедуру переупаковки&lt;br /&gt;
--------&lt;br /&gt;
function on_update()&lt;br /&gt;
	if repack then&lt;br /&gt;
		local section, data&lt;br /&gt;
		for section, data in pairs(ammo) do&lt;br /&gt;
			if data.repack then&lt;br /&gt;
				repack_ammo(section, data.box)&lt;br /&gt;
				data.repack = false&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		repack = false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
-- переупаковка патронов заданного типа&lt;br /&gt;
--  section - строка, имя секции (тип патрон)&lt;br /&gt;
--  box_size - колличество патрон в полной пачке&lt;br /&gt;
-- сначало составляем список неполных пачек, затем&lt;br /&gt;
-- удаляем их и создаём нужное колличество полных&lt;br /&gt;
--------&lt;br /&gt;
function repack_ammo(section, box_size)&lt;br /&gt;
	--dbglog(&amp;quot;repack_ammo('%s')&amp;quot;, section)&lt;br /&gt;
	local s, t = enum_ammo(section, box_size)&lt;br /&gt;
	if (s &amp;gt; 0) and (table.getn(t) &amp;gt; 1) then&lt;br /&gt;
		--dbglog(&amp;quot;repacking(magazins=%d, bullets=%d)&amp;quot;, table.getn(t), s)&lt;br /&gt;
		local i, id&lt;br /&gt;
		local sim = alife()&lt;br /&gt;
		local pos = db.actor:position()&lt;br /&gt;
		local lvid = db.actor:level_vertex_id()&lt;br /&gt;
		local gvid = db.actor:game_vertex_id()&lt;br /&gt;
		local pid = db.actor:id()&lt;br /&gt;
&lt;br /&gt;
		for i, id in pairs(t) do&lt;br /&gt;
			sim:release(sim:object(id), true)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		while s &amp;gt;= box_size do&lt;br /&gt;
			sim:create_ammo(section, pos, lvid, gvid, pid, box_size)&lt;br /&gt;
			s = s - box_size&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if s &amp;gt; 0 then&lt;br /&gt;
			sim:create_ammo(section, pos, lvid, gvid, pid, s)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
-- пробегаемся по инветарю ГГ и собираем инфу о неполных пачках&lt;br /&gt;
--  section - строка, имя секции (тип патрон)&lt;br /&gt;
--  box_size - колличество патрон в полной пачке&lt;br /&gt;
-- возвращает сумарное колличество патрон в неполных пачках и массив id-шников этих пачек&lt;br /&gt;
--------&lt;br /&gt;
function enum_ammo(section, box_size)&lt;br /&gt;
	local i, obj, size&lt;br /&gt;
	local s = 0&lt;br /&gt;
	local t = {}&lt;br /&gt;
	for i=0, db.actor:object_count()-1 do&lt;br /&gt;
		obj = db.actor:object(i)&lt;br /&gt;
		if obj:section() == section then&lt;br /&gt;
			size = get_ammo_size(obj)&lt;br /&gt;
			if size &amp;lt; box_size then&lt;br /&gt;
				table.insert(t, obj:id())&lt;br /&gt;
				s = s + size&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return s, t&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
-- возвращает колличество патрон в пачке&lt;br /&gt;
-- вроде подходящих функций нет, пришлось делать через net_packet&lt;br /&gt;
--------&lt;br /&gt;
function get_ammo_size(obj)&lt;br /&gt;
	local se_obj = alife():object(obj:id())&lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
	cse_alife_item_ammo.STATE_Write(se_obj, packet)&lt;br /&gt;
	--packet:r_advance(18)&lt;br /&gt;
	--packet:r_stringZ()&lt;br /&gt;
	--packet:r_advance(8)&lt;br /&gt;
	--packet:r_stringZ()&lt;br /&gt;
	--packet:r_advance(5)&lt;br /&gt;
	packet:r_seek(packet:w_tell() - 2)&lt;br /&gt;
	return packet:r_u16()&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
==Действие 2:==&lt;br /&gt;
Теперь нам нужно вписать наш перепаковщик патронов в bind_stalker.script, открываем его и ищем там такую функцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function actor_binder:on_item_take (obj)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и ставим внизу перед &amp;quot;end&amp;quot; вот такую функцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dunin_ammo.on_take(obj)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот как должно у нас получится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function actor_binder:on_item_take (obj)&lt;br /&gt;
    level_tasks.proceed(self.object)&lt;br /&gt;
    --game_stats.update_take_item (obj, self.object)&lt;br /&gt;
    dunin_ammo.on_take(obj)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее в этом же bind_stalker.script ищем функцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-- апдейт звуковой схемы актера&lt;br /&gt;
	xr_sound.update_actor()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И ставим после неё функцию нашего перепаковщика:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-- перепаковщик патронов&lt;br /&gt;
        dunin_ammo.on_update()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот как должно получится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-- апдейт звуковой схемы актера&lt;br /&gt;
	xr_sound.update_actor()&lt;br /&gt;
&lt;br /&gt;
        -- перепаковщик патронов&lt;br /&gt;
        dunin_ammo.on_update()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь также в этом же файле ищем вот такую функцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--' Вывод сообщения о большой радиации&lt;br /&gt;
	if self.object.radiation &amp;gt;= 0.7 then&lt;br /&gt;
		local hud = get_hud()&lt;br /&gt;
		local custom_static = hud:GetCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;)&lt;br /&gt;
		if custom_static == nil then&lt;br /&gt;
			hud:AddCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;, true)&lt;br /&gt;
			hud:GetCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;):wnd():SetTextST(&amp;quot;st_radiation_danger&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local hud = get_hud()&lt;br /&gt;
		local custom_static = hud:GetCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;)&lt;br /&gt;
		if custom_static ~= nil then&lt;br /&gt;
			hud:RemoveCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И ставим после неё функцию перепаковщика:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-- dunin_ammo.on_update()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот как должно получится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;-- обновление пси-антенны&lt;br /&gt;
	if sr_psy_antenna.psy_antenna then&lt;br /&gt;
		sr_psy_antenna.psy_antenna:update(delta)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--' Вывод сообщения о большой радиации&lt;br /&gt;
	if self.object.radiation &amp;gt;= 0.7 then&lt;br /&gt;
		local hud = get_hud()&lt;br /&gt;
		local custom_static = hud:GetCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;)&lt;br /&gt;
		if custom_static == nil then&lt;br /&gt;
			hud:AddCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;, true)&lt;br /&gt;
			hud:GetCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;):wnd():SetTextST(&amp;quot;st_radiation_danger&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local hud = get_hud()&lt;br /&gt;
		local custom_static = hud:GetCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;)&lt;br /&gt;
		if custom_static ~= nil then&lt;br /&gt;
			hud:RemoveCustomStatic(&amp;quot;cs_radiation_danger&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
--	dunin_ammo.on_update()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Всё, готово, сохраняем bind_stalker.script и тестируем.&lt;br /&gt;
&lt;br /&gt;
[[Участник:VIPeRs]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:CopyPaste]]&lt;/div&gt;</summary>
		<author><name>178.44.250.253</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%BB%D0%B5%D1%82%D0%B0_%D0%BF%D1%80%D0%B8_%D1%81%D1%82%D1%80%D0%B5%D0%BB%D1%8C%D0%B1%D0%B5_%D0%B2_%D0%B1%D0%B0%D1%80%D0%BC%D0%B5%D0%BD%D0%B0</id>
		<title>Исправление вылета при стрельбе в бармена</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%98%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%BB%D0%B5%D1%82%D0%B0_%D0%BF%D1%80%D0%B8_%D1%81%D1%82%D1%80%D0%B5%D0%BB%D1%8C%D0%B1%D0%B5_%D0%B2_%D0%B1%D0%B0%D1%80%D0%BC%D0%B5%D0%BD%D0%B0"/>
				<updated>2011-08-28T05:15:46Z</updated>
		
		<summary type="html">&lt;p&gt;178.44.250.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Предыстория==&lt;br /&gt;
&lt;br /&gt;
При создании своего мода я обнаружил что если в Бармена стрелять, либо если монстр тронет его, то через некоторое время происходит вылет без лога. Проверено на патче 1.004, который является весьма популярным у модостроителей. Довольно долгое гугление результатов не дало, потому пришлось проблему решать самому. Сами понимаете, что вылеты без лога - вещь вообще трудноисправимая, и на решение у меня ушло довольно много времени. Посему, чтобы остальным мододелам, если они столкнутся с этой проблемой, не изобретать велосипед заново, я и хочу описать решение здесь.&lt;br /&gt;
&lt;br /&gt;
==Причина вылета==&lt;br /&gt;
&lt;br /&gt;
Вылет происходит при переключении Бармена из режима ведения боя в обычный, точнее не в сам момент, а в момент окончания анимации когда он прячет оружие за спину.&lt;br /&gt;
&lt;br /&gt;
==Решение==&lt;br /&gt;
&lt;br /&gt;
Наиболее простым решением было отключить вообще любую реакцию на боевые раздражители. В принципе, также как и Сидоровичу, ему эта реакция ни к чему - он все равно бессмертный. Поэтому открываем файл &lt;br /&gt;
&lt;br /&gt;
gamegata\config\scripts\[[bar_barman.ltx]]&lt;br /&gt;
&lt;br /&gt;
и в его содержимое добавляем строки, которые в листинге ниже отмечены комментарием &amp;lt;u&amp;gt;;добавляем строку&amp;lt;/u&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
&lt;br /&gt;
active = walker@at_hole&lt;br /&gt;
&lt;br /&gt;
combat_ignore = combat_ignore&lt;br /&gt;
&lt;br /&gt;
trade = misc\trade_barman.ltx&lt;br /&gt;
&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[walker@at_hole]&lt;br /&gt;
&lt;br /&gt;
path_walk = bar_barman_hole_walk&lt;br /&gt;
&lt;br /&gt;
path_look = bar_barman_hole_look&lt;br /&gt;
&lt;br /&gt;
def_state_standing = barman_wait_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving1 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving2 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving3 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
combat_ignore_cond = always ; добавляем строку&lt;br /&gt;
&lt;br /&gt;
meet = meet@at_hole&lt;br /&gt;
&lt;br /&gt;
danger = danger_condition@barman&lt;br /&gt;
&lt;br /&gt;
on_info = {=actor_in_zone(bar_barman_meet_zone_1)} walker@zone_1, {=actor_in_zone(bar_barman_meet_zone_2)} walker@zone_2,&lt;br /&gt;
&lt;br /&gt;
{=actor_in_zone(bar_barman_meet_zone_3)} walker@zone_3, walker@at_hole&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[walker@zone_1]&lt;br /&gt;
&lt;br /&gt;
path_walk = barman_zone_1_walk&lt;br /&gt;
&lt;br /&gt;
path_look = barman_zone_1_look&lt;br /&gt;
&lt;br /&gt;
def_state_standing = barman_wait_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving1 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving2 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving3 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
combat_ignore_cond = always ; добавляем строку&lt;br /&gt;
&lt;br /&gt;
meet = meet@at_hole&lt;br /&gt;
&lt;br /&gt;
danger = danger_condition@barman&lt;br /&gt;
&lt;br /&gt;
on_info = {=actor_in_zone(bar_barman_meet_zone_1)} walker@zone_1, {=actor_in_zone(bar_barman_meet_zone_2)} walker@zone_2,&lt;br /&gt;
&lt;br /&gt;
{=actor_in_zone(bar_barman_meet_zone_3)} walker@zone_3, walker@at_hole&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[walker@zone_2]&lt;br /&gt;
&lt;br /&gt;
path_walk = barman_zone_2_walk&lt;br /&gt;
&lt;br /&gt;
path_look = barman_zone_2_look&lt;br /&gt;
&lt;br /&gt;
def_state_standing = barman_wait_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving1 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving2 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving3 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
combat_ignore_cond = always ; добавляем строку&lt;br /&gt;
&lt;br /&gt;
meet = meet@at_hole&lt;br /&gt;
&lt;br /&gt;
danger = danger_condition@barman&lt;br /&gt;
&lt;br /&gt;
on_info = {=actor_in_zone(bar_barman_meet_zone_1)} walker@zone_1, {=actor_in_zone(bar_barman_meet_zone_2)} walker@zone_2,&lt;br /&gt;
&lt;br /&gt;
{=actor_in_zone(bar_barman_meet_zone_3)} walker@zone_3, walker@at_hole&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[walker@zone_3]&lt;br /&gt;
&lt;br /&gt;
path_walk = barman_zone_3_walk&lt;br /&gt;
&lt;br /&gt;
path_look = barman_zone_3_look&lt;br /&gt;
&lt;br /&gt;
def_state_standing = barman_wait_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving1 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving2 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
def_state_moving3 = barman_walk_free&lt;br /&gt;
&lt;br /&gt;
combat_ignore_cond = always ; добавляем строку&lt;br /&gt;
&lt;br /&gt;
meet = meet@at_hole&lt;br /&gt;
&lt;br /&gt;
danger = danger_condition@barman&lt;br /&gt;
&lt;br /&gt;
on_info = {=actor_in_zone(bar_barman_meet_zone_1)} walker@zone_1, {=actor_in_zone(bar_barman_meet_zone_2)} walker@zone_2,&lt;br /&gt;
&lt;br /&gt;
{=actor_in_zone(bar_barman_meet_zone_3)} walker@zone_3, walker@at_hole&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[meet@at_hole]&lt;br /&gt;
&lt;br /&gt;
meet_state = 2|barman_talk_free@bar_bar_barmen_hello&lt;br /&gt;
&lt;br /&gt;
meet_state_wpn = 2|barman_talk_free@bar_bar_barmen_hello&lt;br /&gt;
&lt;br /&gt;
danger = danger_condition@barman&lt;br /&gt;
&lt;br /&gt;
victim = 2|actor&lt;br /&gt;
&lt;br /&gt;
victim_wpn = 2|actor&lt;br /&gt;
&lt;br /&gt;
use = true&lt;br /&gt;
&lt;br /&gt;
use_wpn = true&lt;br /&gt;
&lt;br /&gt;
meet_dialog		=  bar_bar_barmen_start&lt;br /&gt;
&lt;br /&gt;
combat_ignore_cond = always ; добавляем строку&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[danger_condition@barman]&lt;br /&gt;
&lt;br /&gt;
ignore_distance       = 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[combat_ignore]&lt;br /&gt;
&lt;br /&gt;
combat_ignore_cond = always&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Авторы=&lt;br /&gt;
&lt;br /&gt;
Статья создана: Cjayho&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
P.S. Статью такую не нашел, но это весьма не плохая статья, поэтому перенёс с другой Wiki&lt;br /&gt;
&lt;br /&gt;
[[Category:Trash]]&lt;/div&gt;</summary>
		<author><name>178.44.250.253</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_%D0%BF%D0%B0%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%B2_SoC</id>
		<title>Обсуждение:Перепаковщик патронов SoC</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D1%89%D0%B8%D0%BA_%D0%BF%D0%B0%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%B2_SoC"/>
				<updated>2011-08-28T05:14:24Z</updated>
		
		<summary type="html">&lt;p&gt;178.44.250.253: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;А нах ставить закоментированую функцию?&lt;br /&gt;
&lt;br /&gt;
 *потому что копипиздинг. аффтар, не делай так больше, а то зобаню :)&lt;/div&gt;</summary>
		<author><name>178.44.250.253</name></author>	</entry>

	</feed>