<?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=ZeeK</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=ZeeK"/>
		<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/ZeeK"/>
		<updated>2026-06-15T10:24:27Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0_%D0%BD%D0%B0_%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D1%8F%D0%B4%D0%B0</id>
		<title>CoP. Создание квеста на уничтожение отряда</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0_%D0%BD%D0%B0_%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D1%8F%D0%B4%D0%B0"/>
				<updated>2012-07-14T13:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;ZeeK: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здравствуйте, уважаемые фанаты модинга ЗП, сегодня я попробую объяснить создание квеста на уничтожение отряда в ЗП на основе моего способа.&lt;br /&gt;
Способ предполагает, что вы умеете хоть немного работать с логикой\скриптами игры.&lt;br /&gt;
Итак, я не буду описывать все подробно, в обычных местах, таких, как &amp;quot;создадим диалог и прочее&amp;quot;. Я надеюсь это вы итак писать умеете. Просто отмечу, что в диалог нужно будет повесить активатор скрипта для выдачи задания и немного поколдовать с инфопоршнями, чтобы, когда выдан инфопоршень(на выдачу квеста или, что квест выполнен, и работает &amp;quot;таймер перезапуска квеста&amp;quot;), квест нельзя было брать повторно.&lt;br /&gt;
&lt;br /&gt;
'''Первое, создадим отряд на который будет вестись охота.''' &lt;br /&gt;
Идем например в squad_descr_zaton.ltx(если отряд будет на Затоне, можете добавить в другие секции squad_descr_название локации или создать отдельный squad_descr файл для мода(я так и сделал))&lt;br /&gt;
Создаем там отряд, к примеру, псевдогиганта&lt;br /&gt;
&lt;br /&gt;
''[zat_giant_for_quest]:online_offline_group''&lt;br /&gt;
&lt;br /&gt;
''story_id = zat_b52_giant_for_quest_squad'' -- важно дать id, чтобы по квесту отслеживать отряд по метке	&lt;br /&gt;
&lt;br /&gt;
''faction = monster_predatory_day''&lt;br /&gt;
&lt;br /&gt;
''npc = gigant_normal''&lt;br /&gt;
&lt;br /&gt;
''on_death = %+zat_giant_for_quest_death%''	-- необходимая инфа, чтобы засчитать квест, после гибели отряда и для перезапуска &lt;br /&gt;
&lt;br /&gt;
'''Второе, распаковываем all.spawn и создаем секцию-рестриктор для логики квеста''' &lt;br /&gt;
&lt;br /&gt;
''[1868]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
&lt;br /&gt;
name = zat_giant_quest_logic -- название рестриктора&lt;br /&gt;
&lt;br /&gt;
position = 150.076538085938,1.77096498012543,94.8425521850586&lt;br /&gt;
&lt;br /&gt;
direction = 0.00209100008942187,3,-0.00126799999270588&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
&lt;br /&gt;
game_vertex_id = 0&lt;br /&gt;
&lt;br /&gt;
distance = 0&lt;br /&gt;
&lt;br /&gt;
level_vertex_id = 293223&lt;br /&gt;
&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
&lt;br /&gt;
cfg = scripts\zaton\zat_giant_quest_logic.ltx -- ! логика задания, которая будет обрабатывать инфопоршни и запускать таймер&lt;br /&gt;
&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
&lt;br /&gt;
shapes = shape0&lt;br /&gt;
&lt;br /&gt;
shape0:type = sphere&lt;br /&gt;
&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
&lt;br /&gt;
shape0:radius = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
&lt;br /&gt;
restrictor_type = 3''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Третье, пишем логику''' &lt;br /&gt;
[logic]&lt;br /&gt;
&lt;br /&gt;
active = sr_idle -- думаю понятно, логика ждет активации&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
&lt;br /&gt;
on_info = {+zat_b52_giant_quest_give('''это выданный в диалоге инфопоршень старта, который запускает логику!''')} sr_idle2 %=create_squad(zat_stalker_for_quest:zat_sim_13)(ну тут понятно - мы создали только что отряд для квеста на точке zat_sim_13, можно бежать и валить))%&lt;br /&gt;
&lt;br /&gt;
[sr_idle2]&lt;br /&gt;
&lt;br /&gt;
on_info = {+zat_b52_giant_quest_done} sr_idle@timer -- тоже понятно, в диалоге, после получения инфопоршня '''zat_giant_for_quest_death''' от убитого отряда, я просто выдал еще один поршень, который &amp;quot;выключает квест&amp;quot;, пока не пройдет таймер&lt;br /&gt;
&lt;br /&gt;
[sr_idle@timer]&lt;br /&gt;
on_game_timer = 6000 | %-zat_giant_quest_target1 -zat_b52_giant_quest_give -zat_b52_giant_quest_done -zat_giant_for_quest_death -zat_giant_quest_begin% -- здесь видно, что после отработки таймера, все инфопоршни обнулились и неизвестны игроку, а значит квест вновь свободен для выполнения&lt;br /&gt;
on_info = {-zat_b52_giant_quest_give} sr_idle -- автоматическое возвращение на начало логики &lt;br /&gt;
&lt;br /&gt;
Добавлю, что в логике можно играться с поршнями  создавать отряды в помощь, убивать отряды, давать им разные цели после\во время квеста и т.д., все зависит от вашей фантазии и грамотности в написании диалога и выдаче инфопоршней с помощью логики\скриптов&lt;br /&gt;
&lt;br /&gt;
П.С. Можно создавать квест и на убийство отдельного сталкера, без регистрации в '''squad_descr''' и создания логики, просто создав НПС с '''story_id''' в '''spawn_sections''', чтобы можно было вешать метку и спавнить его через диалог путем  скрипта '''alife():create'''(через таблицу кординат можно создать иллюзию рандом-спавна путем команды '''math.random'''&lt;br /&gt;
Нужно только тоже прописать ему '''on_death = %+инфопоршень о смерти%''' и играть с таймером и поршнем в диалоге, так можно не трогать '''алл.спавн'''&lt;br /&gt;
&lt;br /&gt;
'''Автор: ZeeK'''&lt;br /&gt;
&lt;br /&gt;
Добавлю: функция create_squad из xr_effects.script работает только в том случае, если у смарт-террейна в котором вы собираетесь спанить сквад, есть точка спавна way_point, котороя прописана в конфиге смарта. Ну и для просто спавна сквада, не обязательно создавать рестриктор в аллспавне, можно вызвать эту функцию из своей, которая вызывается через action диалога:&lt;br /&gt;
xr_effects.create_squad(zat_stalker_for_quest:zat_sim_13)&lt;br /&gt;
&lt;br /&gt;
by Clayman.&lt;br /&gt;
&lt;br /&gt;
'''Дополнение к тексту от Clayman.'''&lt;br /&gt;
Насколько я помню в ЗП отсутствуют скриптовые таймеры, в результате спавна функцией '''xr_effects.create_squad(zat_stalker_for_quest:zat_sim_13)''' &lt;br /&gt;
модер столкнется с тем, что квест будет одноразовый(т.к. файла логики с таймером), либо невозможно будет отключать квест на время, так что этот способ подходит для единичного квеста, без повторов.&lt;/div&gt;</summary>
		<author><name>ZeeK</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0_%D0%BD%D0%B0_%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D1%8F%D0%B4%D0%B0</id>
		<title>CoP. Создание квеста на уничтожение отряда</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0_%D0%BD%D0%B0_%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D1%8F%D0%B4%D0%B0"/>
				<updated>2012-07-12T09:17:45Z</updated>
		
		<summary type="html">&lt;p&gt;ZeeK: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здравствуйте, уважаемые фанаты модинга ЗП, сегодня я попробую объяснить создание квеста на уничтожение отряда в ЗП на основе моего способа.&lt;br /&gt;
Способ предполагает, что вы умеете хоть немного работать с логикой\скриптами игры.&lt;br /&gt;
Итак, я не буду описывать все подробно, в обычных местах, таких, как &amp;quot;создадим диалог и прочее&amp;quot;. Я надеюсь это вы итак писать умеете. Просто отмечу, что в диалог нужно будет повесить активатор скрипта для выдачи задания и немного поколдовать с инфопоршнями, чтобы, когда выдан инфопоршень(на выдачу квеста или, что квест выполнен, и работает &amp;quot;таймер перезапуска квеста&amp;quot;), квест нельзя было брать повторно.&lt;br /&gt;
&lt;br /&gt;
'''Первое, создадим отряд на который будет вестись охота.''' &lt;br /&gt;
Идем например в squad_descr_zaton.ltx(если отряд будет на Затоне, можете добавить в другие секции squad_descr_название локации или создать отдельный squad_descr файл для мода(я так и сделал))&lt;br /&gt;
Создаем там отряд, к примеру, псевдогиганта&lt;br /&gt;
&lt;br /&gt;
''[zat_giant_for_quest]:online_offline_group''&lt;br /&gt;
&lt;br /&gt;
''story_id = zat_b52_giant_for_quest_squad'' -- важно дать id, чтобы по квесту отслеживать отряд по метке	&lt;br /&gt;
&lt;br /&gt;
''faction = monster_predatory_day''&lt;br /&gt;
&lt;br /&gt;
''npc = gigant_normal''&lt;br /&gt;
&lt;br /&gt;
''on_death = %+zat_giant_for_quest_death%''	-- необходимая инфа, чтобы засчитать квест, после гибели отряда и для перезапуска &lt;br /&gt;
&lt;br /&gt;
'''Второе, распаковываем all.spawn и создаем секцию-рестриктор для логики квеста''' &lt;br /&gt;
&lt;br /&gt;
''[1868]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
&lt;br /&gt;
name = zat_giant_quest_logic -- название рестриктора&lt;br /&gt;
&lt;br /&gt;
position = 150.076538085938,1.77096498012543,94.8425521850586&lt;br /&gt;
&lt;br /&gt;
direction = 0.00209100008942187,3,-0.00126799999270588&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
&lt;br /&gt;
game_vertex_id = 0&lt;br /&gt;
&lt;br /&gt;
distance = 0&lt;br /&gt;
&lt;br /&gt;
level_vertex_id = 293223&lt;br /&gt;
&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
&lt;br /&gt;
cfg = scripts\zaton\zat_giant_quest_logic.ltx -- ! логика задания, которая будет обрабатывать инфопоршни и запускать таймер&lt;br /&gt;
&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
&lt;br /&gt;
shapes = shape0&lt;br /&gt;
&lt;br /&gt;
shape0:type = sphere&lt;br /&gt;
&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
&lt;br /&gt;
shape0:radius = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
&lt;br /&gt;
restrictor_type = 3''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Третье, пишем логику''' &lt;br /&gt;
[logic]&lt;br /&gt;
&lt;br /&gt;
active = sr_idle -- думаю понятно, логика ждет активации&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
&lt;br /&gt;
on_info = {+zat_b52_giant_quest_give('''это выданный в диалоге инфопоршень старта, который запускает логику!''')} sr_idle2 %=create_squad(zat_stalker_for_quest:zat_sim_13)(ну тут понятно - мы создали только что отряд для квеста на точке zat_sim_13, можно бежать и валить))%&lt;br /&gt;
&lt;br /&gt;
[sr_idle2]&lt;br /&gt;
&lt;br /&gt;
on_info = {+zat_b52_giant_quest_done} sr_idle@timer -- тоже понятно, в диалоге, после получения инфопоршня '''zat_giant_for_quest_death''' от убитого отряда, я просто выдал еще один поршень, который &amp;quot;выключает квест&amp;quot;, пока не пройдет таймер&lt;br /&gt;
&lt;br /&gt;
[sr_idle@timer]&lt;br /&gt;
on_game_timer = 6000 | %-zat_giant_quest_target1 -zat_b52_giant_quest_give -zat_b52_giant_quest_done -zat_giant_for_quest_death -zat_giant_quest_begin% -- здесь видно, что после отработки таймера, все инфопоршни обнулились и неизвестны игроку, а значит квест вновь свободен для выполнения&lt;br /&gt;
on_info = {-zat_b52_giant_quest_give} sr_idle -- автоматическое возвращение на начало логики &lt;br /&gt;
&lt;br /&gt;
Добавлю, что в логике можно играться с поршнями  создавать отряды в помощь, убивать отряды, давать им разные цели после\во время квеста и т.д., все зависит от вашей фантазии и грамотности в написании диалога и выдаче инфопоршней с помощью логики\скриптов&lt;br /&gt;
&lt;br /&gt;
П.С. Можно создавать квест и на убийство отдельного сталкера, без регистрации в '''squad_descr''' и создания логики, просто создав НПС с '''story_id''' в '''spawn_sections''', чтобы можно было вешать метку и спавнить его через диалог путем  скрипта '''alife():create'''(через таблицу кординат можно создать иллюзию рандом-спавна путем команды '''math.random'''&lt;br /&gt;
Нужно только тоже прописать ему '''on_death = %+инфопоршень о смерти%''' и играть с таймером и поршнем в диалоге, так можно не трогать '''алл.спавн'''&lt;br /&gt;
&lt;br /&gt;
'''Автор: ZeeK'''&lt;/div&gt;</summary>
		<author><name>ZeeK</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0_%D0%BD%D0%B0_%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D1%8F%D0%B4%D0%B0</id>
		<title>CoP. Создание квеста на уничтожение отряда</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0_%D0%BD%D0%B0_%D1%83%D0%BD%D0%B8%D1%87%D1%82%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D1%80%D1%8F%D0%B4%D0%B0"/>
				<updated>2012-07-12T09:11:27Z</updated>
		
		<summary type="html">&lt;p&gt;ZeeK: Новая страница: «Здравствуйте, уважаемые фанаты модинга ЗП, сегодня я попробую объяснить создание квеста н...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здравствуйте, уважаемые фанаты модинга ЗП, сегодня я попробую объяснить создание квеста на уничтожение отряда в ЗП на основе моего способа.&lt;br /&gt;
Способ предполагает, что вы умеете хоть немного работать с логикой\скриптами игры.&lt;br /&gt;
Итак, я не буду описывать все подробно, в обычных местах, таких, как &amp;quot;создадим диалог и прочее&amp;quot;. Я надеюсь это вы итак писать умеете. Просто отмечу, что в диалог нужно будет повесить активатор скрипта для выдачи задания и немного поколдовать с инфопоршнями, чтобы, когда выдан инфопоршень(на выдачу квеста или, что квест выполнен, и работает &amp;quot;таймер перезапуска квеста&amp;quot;), квест нельзя было брать повторно.&lt;br /&gt;
&lt;br /&gt;
'''Первое, создадим отряд на который будет вестись охота.''' &lt;br /&gt;
Идем например в squad_descr_zaton.ltx(если отряд будет на Затоне, можете добавить в другие секции squad_descr_название локации или создать отдельный squad_descr файл для мода(я так и сделал))&lt;br /&gt;
Создаем там отряд, к примеру, псевдогиганта&lt;br /&gt;
&lt;br /&gt;
[zat_giant_for_quest]:online_offline_group&lt;br /&gt;
story_id = zat_b52_giant_for_quest_squad -- важно дать id, чтобы по квесту отслеживать отряд по метке	&lt;br /&gt;
faction = monster_predatory_day&lt;br /&gt;
npc = gigant_normal&lt;br /&gt;
on_death = %+zat_giant_for_quest_death%	-- необходимая инфа, чтобы засчитать квест, после гибели отряда и для перезапуска &lt;br /&gt;
&lt;br /&gt;
'''Второе, распаковываем all.spawn и создаем секцию-рестриктор для логики квеста''' &lt;br /&gt;
&lt;br /&gt;
[1868]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor&lt;br /&gt;
name = zat_giant_quest_logic -- название рестриктора&lt;br /&gt;
position = 150.076538085938,1.77096498012543,94.8425521850586&lt;br /&gt;
direction = 0.00209100008942187,3,-0.00126799999270588&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 0&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 293223&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\zaton\zat_giant_quest_logic.ltx -- ! логика задания, которая будет обрабатывать инфопоршни и запускать таймер&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
shapes = shape0&lt;br /&gt;
shape0:type = sphere&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
shape0:radius = 1&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3&lt;br /&gt;
&lt;br /&gt;
'''Третье, пишем логику''' &lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle -- думаю понятно, логика ждет активации&lt;br /&gt;
&lt;br /&gt;
--Первый&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_info = {+zat_b52_giant_quest_give('''это выданный в диалоге инфопоршень старта, который запускает логику!''')} sr_idle2 %=create_squad(zat_stalker_for_quest:zat_sim_13)(ну тут понятно - мы создали только что отряд для квеста на точке zat_sim_13, можно бежать и валить))%&lt;br /&gt;
&lt;br /&gt;
[sr_idle2]&lt;br /&gt;
on_info = {+zat_b52_giant_quest_done} sr_idle@timer -- тоже понятно, в диалоге, после получения инфопоршня '''zat_giant_for_quest_death''' от убитого отряда, я просто выдал еще один поршень, который &amp;quot;выключает квест&amp;quot;, пока не пройдет таймер&lt;br /&gt;
&lt;br /&gt;
[sr_idle@timer]&lt;br /&gt;
on_game_timer = 6000 | %-zat_giant_quest_target1 -zat_b52_giant_quest_give -zat_b52_giant_quest_done -zat_giant_for_quest_death -zat_giant_quest_begin% -- здесь видно, что после отработки таймера, все инфопоршни обнулились и неизвестны игроку, а значит квест вновь свободен для выполнения&lt;br /&gt;
on_info = {-zat_b52_giant_quest_give} sr_idle -- автоматическое возвращение на начало логики &lt;br /&gt;
&lt;br /&gt;
Добавлю, что в логике можно играться с поршнями  создавать отряды в помощь, убивать отряды, давать им разные цели после\во время квеста и т.д., все зависит от вашей фантазии и грамотности в написании диалога и выдаче инфопоршней с помощью логики\скриптов&lt;br /&gt;
&lt;br /&gt;
П.С. Можно создавать квест и на убийство отдельного сталкера, без регистрации в squad_descr и создания логики, просто создав НПС с '''story_id''' в '''spawn_sections''', чтобы можно было вешать метку и спавнить его через диалог путем  скрипта '''alife():create'''(через таблицу кординат можно создать иллюзию рандом-спавна путем команды math.random&lt;br /&gt;
Нужно только тоже прописать ему on_death = %+инфопоршень о смерти% и играть с таймером и поршнем в диалоге, так можно не трогать алл.спавн&lt;br /&gt;
&lt;br /&gt;
'''Автор: ZeeK'''&lt;/div&gt;</summary>
		<author><name>ZeeK</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BD%D0%B0</id>
		<title>CoP. Создание места для сна</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BD%D0%B0"/>
				<updated>2011-08-04T13:58:36Z</updated>
		
		<summary type="html">&lt;p&gt;ZeeK: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здравствуйте, сегодня мы рассмотрим добавление места для сна в ЗП.&lt;br /&gt;
Это моя первая статья, так что прошу сильно ногами не бить....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1.''' Итак, мы решили добавить место для сна. Сначала мы распакуем '''all.spawn''', откроем '''alife_zaton.ltx''' и добавим в конце секцию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
[Ваш номер секции]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor &lt;br /&gt;
name = произвольное название вашего места&lt;br /&gt;
position=155.8231048584,-6.5563974380493,-138.71978759766&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
level_vertex_id=1233171&lt;br /&gt;
game_vertex_id=13&lt;br /&gt;
distance = 0&lt;br /&gt;
object_flags = 0xffffff3e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END &lt;br /&gt;
[story_object]&lt;br /&gt;
story_id = произвольное название вашего места_id&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\sr_sleep.ltx&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
shapes = shape0&lt;br /&gt;
shape0:type = box&lt;br /&gt;
shape0:axis_x = 5.02119588851929,0,0&lt;br /&gt;
shape0:axis_y = 0,5.0482006072998,0&lt;br /&gt;
shape0:axis_z = 0,0,2.23479747772217&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2.''' Потом идем в '''pda.script''', ищем строки&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
local sleep_zones_tbl =&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
{target = &amp;quot;zat_a2_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;jup_a6_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;pri_a16_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и меняем на &lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
local sleep_zones_tbl =&lt;br /&gt;
{&lt;br /&gt;
{target = &amp;quot;zat_a2_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;jup_a6_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;pri_a16_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;произвольное название вашего места_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.''' Открываем '''xr_effects.script''', ищем строки&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function sleep(actor, npc)&lt;br /&gt;
local sleep_zones = {&lt;br /&gt;
&amp;quot;zat_a2_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;jup_a6_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;pri_a16_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;actor_surge_hide_2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и также меняем на&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function sleep(actor, npc)&lt;br /&gt;
local sleep_zones = {&lt;br /&gt;
&amp;quot;произвольное название вашего места&amp;quot;,&lt;br /&gt;
&amp;quot;zat_a2_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;jup_a6_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;pri_a16_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;actor_surge_hide_2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Собираем '''all.spawn'''. Готово! Теперь после запуска игры с новым '''all.spawn''' у нас будет спальное место в барже Ноя (координаты брались оттуда).&lt;br /&gt;
&lt;br /&gt;
'''Автор: ZeeK'''&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>ZeeK</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BD%D0%B0</id>
		<title>CoP. Создание места для сна</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%B0_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BD%D0%B0"/>
				<updated>2010-12-03T13:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;ZeeK: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здравствуйте, сегодня мы рассмотрим добавление места для сна в ЗП.&lt;br /&gt;
Это моя первая статья, так что прошу сильно ногами не бить....&lt;br /&gt;
1. Итак мы решили добавить место для сна. Сначала мы распакуем '''all.spawn''' и откроем '''alife_zaton'''&lt;br /&gt;
и добавим в конце секцию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;[Ваш номер секции]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = space_restrictor &lt;br /&gt;
name = произвольное название вашего места&lt;br /&gt;
position=155.8231048584,-6.5563974380493,-138.71978759766&lt;br /&gt;
direction = 0,0,0&lt;br /&gt;
version = 0x7c&lt;br /&gt;
script_version = 8 &lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
level_vertex_id=1233171&lt;br /&gt;
game_vertex_id=13&lt;br /&gt;
distance = 9.09999942779541&lt;br /&gt;
object_flags = 0xffffff2e&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END &lt;br /&gt;
[story_object]&lt;br /&gt;
story_id = произвольное название вашего места_id&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\sr_sleep.ltx&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
shapes = shape0&lt;br /&gt;
shape0:type = box&lt;br /&gt;
shape0:axis_x = 5.02119588851929,0,0&lt;br /&gt;
shape0:axis_y = 0,5.0482006072998,0&lt;br /&gt;
shape0:axis_z = 0,0,2.23479747772217&lt;br /&gt;
shape0:offset = 0,0,0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3 &lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Потом идем в скрипт '''PDA.script'''&lt;br /&gt;
Ищем строчку&lt;br /&gt;
&amp;lt;ini&amp;gt;local sleep_zones_tbl =&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
{target = &amp;quot;zat_a2_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;jup_a6_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;pri_a16_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
и меняем на &lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
local sleep_zones_tbl =&lt;br /&gt;
{&lt;br /&gt;
{target = &amp;quot;zat_a2_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;jup_a6_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;pri_a16_sr_sleep_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
{target = &amp;quot;произвольное название вашего места_id&amp;quot;, hint = &amp;quot;st_ui_pda_sleep_place&amp;quot;},&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
Сохраняем&lt;br /&gt;
&lt;br /&gt;
3.&lt;br /&gt;
открываем '''xr_effects.script'''&lt;br /&gt;
ищем строку&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
function sleep(actor, npc)&lt;br /&gt;
local sleep_zones = {&lt;br /&gt;
&amp;quot;zat_a2_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;jup_a6_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;pri_a16_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;actor_surge_hide_2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
и также меняем на&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
function sleep(actor, npc)&lt;br /&gt;
local sleep_zones = {&lt;br /&gt;
&amp;quot;произвольное название вашего места&amp;quot;,&lt;br /&gt;
&amp;quot;zat_a2_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;jup_a6_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;pri_a16_sr_sleep&amp;quot;,&lt;br /&gt;
&amp;quot;actor_surge_hide_2&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
 Сохраняем.&lt;br /&gt;
 Собираем '''all.spawn''' обратно. Готово! Теперь после запуска игры с новым '''all.spawn''' у нас будет спальное место в барже Ноя(координаты брались оттуда)&lt;br /&gt;
&lt;br /&gt;
Автор: '''ZeeK'''&lt;br /&gt;
&lt;br /&gt;
P.S. Просьба поправить мою статью графически, ибо я немного запутался в редактировании….)&lt;/div&gt;</summary>
		<author><name>ZeeK</name></author>	</entry>

	</feed>