<?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=217.66.24.6&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=217.66.24.6&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/217.66.24.6"/>
		<updated>2026-04-29T13:41:14Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Скрипт для спавна наборов объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2009-12-25T20:17:04Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предлагаю вашему вниманию мой скромный вклад с дело модостроения.&lt;br /&gt;
Предложенный скрипт, на мой взгляд, гораздо удобнее, нежели использование традиционных формул - с дублированием функций alife():create()  или использование несколько раз подряд операторов цикла для спавна нужного кол-ва разноименных объектов.&lt;br /&gt;
В моей функции все это уже включено - вам остается только написать функцию с данными, в которой вы укажите имена объектов, нужное вам кол-во и место - либо это конкретные координаты, либо инвентарь эктора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
доработанный вариант с возможностью спавна по сиду не только онлайн(клиентским), но и оффлайн(серверным) объектам.&lt;br /&gt;
То есть можете смело спавнить в инвентарь NPC и ящиков, которые на момент активации скрипта находятся в оффлайне либо на других(неактивных) локациях.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
local pos, lvid, gvid, id&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs(tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs(tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
if obj ~= nil then&lt;br /&gt;
id = obj:id()&lt;br /&gt;
pos = obj:position()&lt;br /&gt;
lvid = obj:level_vertex_id()&lt;br /&gt;
gvid = obj:game_vertex_id()&lt;br /&gt;
elseif obj == nil then&lt;br /&gt;
obj = alife():story_object(tab_where)&lt;br /&gt;
id = obj.id&lt;br /&gt;
pos = obj.position&lt;br /&gt;
lvid = obj.m_level_vertex_id&lt;br /&gt;
gvid = obj.m_game_vertex_id&lt;br /&gt;
for k, v in pairs(tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, pos, lvid, gvid, id)&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эту функцию нужно будет просто скопировать в любой скриптовый файл.&lt;br /&gt;
Конечно, сама по себе она работать не будет - в эту функцию необходимо передать нужные нам данные: имя объекта по ltx секции (или если это NPC - то его имя из спавн секции: например &amp;quot;agr_stalker_regular&amp;quot;), его кол-во, место спавна.&lt;br /&gt;
&lt;br /&gt;
Вот так должна выглядеть функция с данными, которую вы и будете вызывать любым удобным для вас способом:&lt;br /&gt;
каждый объект таблицы '''tab_items''' должен быть заключен в фигурные скобки, имя объекта - в кавычках, кол-во объектов указываем в квадратных скобках. &lt;br /&gt;
(для тех, кто знает lua - тут все понятно: цифры это порядковые индексы элемента таблицы, которые я использовал в качестве значений для переменной лимита  оператора  цикла).&lt;br /&gt;
Координаты указываем во второй таблице '''tab_where''' - x,y,z  - это понятно координаты по осям, lv, gv - левел вертекс и гейм вертекс.&lt;br /&gt;
Для знатоков lua тут тоже все ясно - по строковым индексам нужные данные передаются в основной скрипт и функция &lt;br /&gt;
спавнит объект куда нам надо. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_1()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8}&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
то же самое, но для спавна в инвентарь эктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_2()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = &amp;quot;actor&amp;quot;&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для спавна в инвентарь эктора просто меняется тип переменной - с &amp;quot;table&amp;quot; на &amp;quot;string&amp;quot;.&lt;br /&gt;
А скрипт, заметив это,  тут же понимает куда ему надо спавнить.&lt;br /&gt;
Кстати, вместо строчки &amp;quot;actor&amp;quot;,  можно писать все угодно - это не имеет никакого значения. Разумеется, слово должно быть заключено в кавычки. &lt;br /&gt;
&lt;br /&gt;
И третий вариант - для спавна в инвентарь непися по его sid'у:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_3()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = 006  -- это sid волка &lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
автор &lt;br /&gt;
--[[Участник:Erlik|Erlik]] 17:32, 30 ноября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Скрипт для спавна наборов объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2009-12-25T20:12:52Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предлагаю вашему вниманию мой скромный вклад с дело модостроения.&lt;br /&gt;
Предложенный скрипт, на мой взгляд, гораздо удобнее, нежели использование традиционных формул - с дублированием функций alife():create()  или использование несколько раз подряд операторов цикла для спавна нужного кол-ва разноименных объектов.&lt;br /&gt;
В моей функции все это уже включено - вам остается только написать функцию с данными, в которой вы укажите имена объектов, нужное вам кол-во и место - либо это конкретные координаты, либо инвентарь эктора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&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;
local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
local pos, lvid, gvid, id&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs(tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs(tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
if obj ~= nil then&lt;br /&gt;
id = obj:id()&lt;br /&gt;
pos = obj:position()&lt;br /&gt;
lvid = obj:level_vertex_id()&lt;br /&gt;
gvid = obj:game_vertex_id()&lt;br /&gt;
elseif obj == nil then&lt;br /&gt;
obj = alife():story_object(tab_where)&lt;br /&gt;
id = obj.id&lt;br /&gt;
pos = obj.position&lt;br /&gt;
lvid = obj.m_level_vertex_id&lt;br /&gt;
gvid = obj.m_game_vertex_id&lt;br /&gt;
for k, v in pairs(tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, pos, lvid, gvid, id)&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эту функцию нужно будет просто скопировать в любой скриптовый файл.&lt;br /&gt;
Конечно, сама по себе она работать не будет - в эту функцию необходимо передать нужные нам данные: имя объекта по ltx секции (или если это NPC - то его имя из спавн секции: например &amp;quot;agr_stalker_regular&amp;quot;), его кол-во, место спавна.&lt;br /&gt;
&lt;br /&gt;
Вот так должна выглядеть функция с данными, которую вы и будете вызывать любым удобным для вас способом:&lt;br /&gt;
каждый объект таблицы '''tab_items''' должен быть заключен в фигурные скобки, имя объекта - в кавычках, кол-во объектов указываем в квадратных скобках. &lt;br /&gt;
(для тех, кто знает lua - тут все понятно: цифры это порядковые индексы элемента таблицы, которые я использовал в качестве значений для переменной лимита  оператора  цикла).&lt;br /&gt;
Координаты указываем во второй таблице '''tab_where''' - x,y,z  - это понятно координаты по осям, lv, gv - левел вертекс и гейм вертекс.&lt;br /&gt;
Для знатоков lua тут тоже все ясно - по строковым индексам нужные данные передаются в основной скрипт и функция &lt;br /&gt;
спавнит объект куда нам надо. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_1()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8}&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
то же самое, но для спавна в инвентарь эктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_2()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = &amp;quot;actor&amp;quot;&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для спавна в инвентарь эктора просто меняется тип переменной - с &amp;quot;table&amp;quot; на &amp;quot;string&amp;quot;.&lt;br /&gt;
А скрипт, заметив это,  тут же понимает куда ему надо спавнить.&lt;br /&gt;
Кстати, вместо строчки &amp;quot;actor&amp;quot;,  можно писать все угодно - это не имеет никакого значения. Разумеется, слово должно быть заключено в кавычки. &lt;br /&gt;
&lt;br /&gt;
И третий вариант - для спавна в инвентарь непися по его sid'у:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_3()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = 006  -- это sid волка &lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
автор &lt;br /&gt;
--[[Участник:Erlik|Erlik]] 17:32, 30 ноября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Скрипт для спавна наборов объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2009-12-25T20:11:53Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предлагаю вашему вниманию мой скромный вклад с дело модостроения.&lt;br /&gt;
Предложенный скрипт, на мой взгляд, гораздо удобнее, нежели использование традиционных формул - с дублированием функций alife():create()  или использование несколько раз подряд операторов цикла для спавна нужного кол-ва разноименных объектов.&lt;br /&gt;
В моей функции все это уже включено - вам остается только написать функцию с данными, в которой вы укажите имена объектов, нужное вам кол-во и место - либо это конкретные координаты, либо инвентарь эктора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&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;
local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
local pos, lvid, gvid, id&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
if obj ~= nil then&lt;br /&gt;
id = obj:id()&lt;br /&gt;
pos = obj:position()&lt;br /&gt;
lvid = obj:level_vertex_id()&lt;br /&gt;
gvid = obj:game_vertex_id()&lt;br /&gt;
elseif obj == nil then&lt;br /&gt;
obj = alife():story_object(tab_where)&lt;br /&gt;
id = obj.id&lt;br /&gt;
pos = obj.position&lt;br /&gt;
lvid = obj.m_level_vertex_id&lt;br /&gt;
gvid = obj.m_game_vertex_id&lt;br /&gt;
for k, v in pairs (tab_items[k]) do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, pos, lvid, gvid, id)&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Эту функцию нужно будет просто скопировать в любой скриптовый файл.&lt;br /&gt;
Конечно, сама по себе она работать не будет - в эту функцию необходимо передать нужные нам данные: имя объекта по ltx секции (или если это NPC - то его имя из спавн секции: например &amp;quot;agr_stalker_regular&amp;quot;), его кол-во, место спавна.&lt;br /&gt;
&lt;br /&gt;
Вот так должна выглядеть функция с данными, которую вы и будете вызывать любым удобным для вас способом:&lt;br /&gt;
каждый объект таблицы '''tab_items''' должен быть заключен в фигурные скобки, имя объекта - в кавычках, кол-во объектов указываем в квадратных скобках. &lt;br /&gt;
(для тех, кто знает lua - тут все понятно: цифры это порядковые индексы элемента таблицы, которые я использовал в качестве значений для переменной лимита  оператора  цикла).&lt;br /&gt;
Координаты указываем во второй таблице '''tab_where''' - x,y,z  - это понятно координаты по осям, lv, gv - левел вертекс и гейм вертекс.&lt;br /&gt;
Для знатоков lua тут тоже все ясно - по строковым индексам нужные данные передаются в основной скрипт и функция &lt;br /&gt;
спавнит объект куда нам надо. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_1()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8}&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
то же самое, но для спавна в инвентарь эктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_2()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = &amp;quot;actor&amp;quot;&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для спавна в инвентарь эктора просто меняется тип переменной - с &amp;quot;table&amp;quot; на &amp;quot;string&amp;quot;.&lt;br /&gt;
А скрипт, заметив это,  тут же понимает куда ему надо спавнить.&lt;br /&gt;
Кстати, вместо строчки &amp;quot;actor&amp;quot;,  можно писать все угодно - это не имеет никакого значения. Разумеется, слово должно быть заключено в кавычки. &lt;br /&gt;
&lt;br /&gt;
И третий вариант - для спавна в инвентарь непися по его sid'у:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_3()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = 006  -- это sid волка &lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
автор &lt;br /&gt;
--[[Участник:Erlik|Erlik]] 17:32, 30 ноября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Скрипт для спавна наборов объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2009-12-01T09:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предлагаю вашему вниманию мой скромный вклад с дело модостроения.&lt;br /&gt;
Предложенный скрипт, на мой взгляд, гораздо удобнее, нежели использование традиционных формул - с дублированием функций alife():create()  или использование несколько раз подряд операторов цикла для спавна нужного кол-ва разноименных объектов.&lt;br /&gt;
В моей функции все это уже включено - вам остается только написать функцию с данными, в которой вы укажите имена объектов, нужное вам кол-во и место - либо это конкретные координаты, либо инвентарь эктора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='number' then &lt;br /&gt;
local obj = level_object_by_sid(tab_where)&lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, obj:position(), obj:level_vertex_id(), obj:game_vertex_id(), obj:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эту функцию нужно будет просто скопировать в любой скриптовый файл.&lt;br /&gt;
Конечно, сама по себе она работать не будет - в эту функцию необходимо передать нужные нам данные: имя объекта по ltx секции (или если это NPC - то его имя из профиля), его кол-во, место спавна.&lt;br /&gt;
&lt;br /&gt;
Вот так должна выглядеть функция с данными, которую вы и будете вызывать любым удобным для вас способом:&lt;br /&gt;
каждый объект таблицы '''tab_items''' должен быть заключен в фигурные скобки, имя объекта - в кавычках, кол-во объектов указываем в квадратных скобках. &lt;br /&gt;
(для тех, кто знает lua - тут все понятно: цифры это порядковые индексы элемента таблицы, которые я использовал в качестве значений для переменной лимита  оператора  цикла).&lt;br /&gt;
Координаты указываем во второй таблице '''tab_where''' - x,y,z  - это понятно координаты по осям, lv, gv - левел вертекс и гейм вертекс.&lt;br /&gt;
Для знатоков lua тут тоже все ясно - по строковым индексам нужные данные передаются в основной скрипт и функция &lt;br /&gt;
спавнит объект куда нам надо. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_1()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8}&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
то же самое, но для спавна в инвентарь эктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_2()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = &amp;quot;actor&amp;quot;&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для спавна в инвентарь эктора просто меняется тип переменной - с &amp;quot;table&amp;quot; на &amp;quot;string&amp;quot;.&lt;br /&gt;
А скрипт, заметив это,  тут же понимает куда ему надо спавнить.&lt;br /&gt;
Кстати, вместо строчки &amp;quot;actor&amp;quot;,  можно писать все угодно - это не имеет никакого значения. Разумеется, слово должно быть заключено в кавычки. &lt;br /&gt;
&lt;br /&gt;
И третий вариант - для спавна в инвентарь непися по его sid'у:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_3()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = 006  -- это sid волка &lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
автор &lt;br /&gt;
--[[Участник:Erlik|Erlik]] 17:32, 30 ноября 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Скрипт для спавна наборов объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2009-11-30T20:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предлагаю вашему вниманию мой скромный вклад с дело модостроения.&lt;br /&gt;
Предложенный скрипт, на мой взгляд, гораздо удобнее, нежели использование традиционных формул - с дублированием функций alife():create()  или использование несколько раз подряд операторов цикла для спавна нужного кол-ва разноименных объектов.&lt;br /&gt;
В моей функции все это уже включено - вам остается только написать функцию с данными, в которой вы укажите имена объектов, нужное вам кол-во и место - либо это конкретные координаты, либо инвентарь эктора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эту функцию нужно будет просто скопировать в любой скриптовый файл.&lt;br /&gt;
Конечно, сама по себе она работать не будет - в эту функцию необходимо передать нужные нам данные: имя объекта по ltx секции (или если это NPC - то его имя из профиля), его кол-во, место спавна.&lt;br /&gt;
&lt;br /&gt;
Вот так должна выглядеть функция с данными, которую вы и будете вызывать любым удобным для вас способом:&lt;br /&gt;
каждый объект таблицы '''tab_items''' должен быть заключен в фигурные скобки, имя объекта - в кавычках, кол-во объектов указываем в квадратных скобках. &lt;br /&gt;
(для тех, кто знает lua - тут все понятно: цифры это порядковые индексы элемента таблицы, которые я использовал в качестве значений для переменной лимита  оператора  цикла).&lt;br /&gt;
Координаты указываем во второй таблице '''tab_where''' - x,y,z  - это понятно координаты по осям, lv, gv - левел вертекс и гейм вертекс.&lt;br /&gt;
Для знатоков lua тут тоже все ясно - по строковым индексам нужные данные передаются в основной скрипт и функция &lt;br /&gt;
спавнит объект куда нам надо. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_1()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8}&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
то же самое, но для спавна в инвентарь эктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_2()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = &amp;quot;actor&amp;quot;&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для спавна в инвентарь эктора просто меняется тип переменной - с &amp;quot;table&amp;quot; на &amp;quot;string&amp;quot;.&lt;br /&gt;
А скрипт, заметив это,  тут же понимает куда ему надо спавнить.&lt;br /&gt;
Кстати, вместо строчки &amp;quot;actor&amp;quot;,  можно писать все угодно - это не имеет никакого значения. Разумеется, слово должно быть заключено в кавычки. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
автор &lt;br /&gt;
--[[Участник:Erlik|Erlik]] 17:32, 30 ноября 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Скрипт для спавна наборов объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BA%D1%80%D0%B8%D0%BF%D1%82_%D0%B4%D0%BB%D1%8F_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B0_%D0%BD%D0%B0%D0%B1%D0%BE%D1%80%D0%BE%D0%B2_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2009-11-30T20:39:43Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предлагаю вашему вниманию мой скромный вклад с дело модостроения.&lt;br /&gt;
Предложенный скрипт, на мой взгляд, гораздо удобнее, нежели использование традиционных формул - с дублированием функций alife():create()  или использование несколько раз подряд операторов цикла для спавна нужного кол-ва разноименных объектов.&lt;br /&gt;
В моей функции все это уже включено - вам остается только написать функцию с данными, в которой вы укажите имена объектов, нужное вам кол-во и место - либо это конкретные координаты, либо инвентарь эктора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;local count = 0 &lt;br /&gt;
function uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
for k, v in pairs(tab_items) do&lt;br /&gt;
if type(tab_where)=='table' then&lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v,vector():set(tab_where['x'],&lt;br /&gt;
tab_where['y'],tab_where['z']),&lt;br /&gt;
tab_where['lv'],tab_where['gv'])&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
elseif type(tab_where)=='string' then &lt;br /&gt;
for k, v in pairs (tab_items[k])do &lt;br /&gt;
count = k&lt;br /&gt;
for i=1, count do&lt;br /&gt;
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эту функцию нужно будет просто скопировать в любой скриптовый файл.&lt;br /&gt;
Конечно, сама по себе она работать не будет - в эту функцию необходимо передать нужные нам данные: имя объекта по ltx секции (или если это NPC - то его профайл имя), его кол-во, место спавна.&lt;br /&gt;
&lt;br /&gt;
Вот так должна выглядеть функция с данными, которую вы и будете вызывать любым удобным для вас способом:&lt;br /&gt;
каждый объект таблицы '''tab_items''' должен быть заключен в фигурные скобки, имя объекта - в кавычках, кол-во объектов указываем в квадратных скобках. &lt;br /&gt;
(для тех, кто знает lua - тут все понятно: цифры это порядковые индексы элемента таблицы, которые я использовал в качестве значений для переменной лимита  оператора  цикла).&lt;br /&gt;
Координаты указываем во второй таблице '''tab_where''' - x,y,z  - это понятно координаты по осям, lv, gv - левел вертекс и гейм вертекс.&lt;br /&gt;
Для знатоков lua тут тоже все ясно - по строковым индексам нужные данные передаются в основной скрипт и функция &lt;br /&gt;
спавнит объект куда нам надо. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_1()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = {x=-249.495,y=-18.495,z=-107.105, lv=10784,gv=8}&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
то же самое, но для спавна в инвентарь эктора:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;function uny_spawn_2()&lt;br /&gt;
local tab_items ={{[1]=&amp;quot;exo_outfit&amp;quot;},{[2]=&amp;quot;af_cristall_flower&amp;quot;}, &lt;br /&gt;
{[1]=&amp;quot;wpn_fn2000&amp;quot;},{[5]=&amp;quot;ammo_5.56x45_ss190&amp;quot;},{[3]=&amp;quot;bread&amp;quot;},&lt;br /&gt;
{[5]=&amp;quot;medkit_army&amp;quot;}}&lt;br /&gt;
local tab_where = &amp;quot;actor&amp;quot;&lt;br /&gt;
this.uni_spawn_new(tab_items,tab_where)&lt;br /&gt;
end&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для спавна в инвентарь эктора просто меняется тип переменной - с &amp;quot;table&amp;quot; на &amp;quot;string&amp;quot;.&lt;br /&gt;
А скрипт, заметив это,  тут же понимает куда ему надо спавнить.&lt;br /&gt;
Кстати, вместо строчки &amp;quot;actor&amp;quot;,  можно писать все угодно - это не имеет никакого значения. Разумеется, слово должно быть заключено в кавычки. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
автор &lt;br /&gt;
--[[Участник:Erlik|Erlik]] 17:32, 30 ноября 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B8_NPC</id>
		<title>SoC. Анимации NPC</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B8_NPC"/>
				<updated>2009-07-16T07:33:22Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Часть первая. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Вся изложенная ниже схема является единым целым и ее можно ставить в ltx –ный  файл логики любому вашему НПС целиком. Она будет зациклена и  повторяться по кругу  если кое-где поставить другие варианты перехода от одной ремарки к другой.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = remark@base &lt;br /&gt;
danger = danger_condition &lt;br /&gt;
meet = meet&lt;br /&gt;
&lt;br /&gt;
[remark@base]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = meet&lt;br /&gt;
on_actor_dist_le = 2| remark@sit&lt;br /&gt;
&lt;br /&gt;
[meet] &lt;br /&gt;
meet_state = 10|salut@esc_bridge_soldiers| 5|salut_free@esc_lager_killer&lt;br /&gt;
meet_state_wpn = 10|ward@cit_base_guard_talk_to_actor2| 5|probe_2@gar_bandits_seryi&lt;br /&gt;
victim = 10|actor&lt;br /&gt;
victim_wpn = 10|actor&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true&lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
В базовой ремарке мой чувак  использует анимку Волка - hello_wpn –  одной рукой машет ГГ, другой держит ствол.&lt;br /&gt;
Это начальная анимка, которая будет отрабатываться НПС, пока ГГ не подойдет на дистанцию встречи.&lt;br /&gt;
В секции meet задается схема реагирования НПС при подходе к нему эктора. &lt;br /&gt;
В строчке meet_state  – реакция при подходе безоружного ГГ. &lt;br /&gt;
На расстоянии 10 метров НПС отдает честь, затем встает в позицию «смирно» - руки по швам. &lt;br /&gt;
Это анимка '''salut'''. Ближе 5 метров – тоже самое, дальше переходит в позицию «вольно». &lt;br /&gt;
Это анимка '''salut_free.''' &lt;br /&gt;
В секции meet можно задавать и то, что НПС будет базарить при виде эктора.&lt;br /&gt;
В моей схеме: «чего стоишь сталкер, подходи, будем разговаривать» (esc_bridge_soldiers) отдавая салют, и на второй дистанции - «разбежались сосунки и т.д». (esc_lager_killer)&lt;br /&gt;
В строчке meet_state_wpn  - реакция НПС если эктор с пушкой в руках. У меня в этой схеме он встает в позу '''ward''' – руки за спиной, голова наклонена вниз. Словом поза тюремщика или надсмотрщика (ward примерно так и переводится).&lt;br /&gt;
В этой позе НПС на дистанции ближе 10 метров орет «а ты с мордой поцарапанной отойди к дальней стеночке…» (cit_base_guard_talk_to_actor2), а если ГГ подойдет еще ближе -  «ты щас сдохнешь падла, понял…» (gar_bandits_seryi) и  еще несколько  рандомных фраз, которые заданы звуковой темой gar_bandits_seryi.&lt;br /&gt;
К начальной  анимке также можно добавлять любую  звуковую тему через строчку snd. В данной ремарке ее нет. &lt;br /&gt;
&lt;br /&gt;
Переходим к следующей схеме.&lt;br /&gt;
Так как все эти схему у меня завязаны вместе, то переход ко второй ремарке произойдет, когда ГГ подойдет к НПС на дистанцию ближе двух метров. Прописано этой в строчке &lt;br /&gt;
on_actor_dist_le = 2| remark@sit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@sit]&lt;br /&gt;
anim = sit_ass&lt;br /&gt;
snd = mil_guard_to_max&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = no_meet&lt;br /&gt;
;on_actor_dist_le = 2| remark@raciya&lt;br /&gt;
;on_timer = 30000| remark@ raciya&lt;br /&gt;
on_signal = sound_end| remark@raciya&lt;br /&gt;
danger = danger_condition&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Итак, что делает НПС в этой ремарке. &lt;br /&gt;
Сидит на заднице  - '''sit_ass''', орет - mil_guard_to_max – «макс, у нас тут проблема на хуторе нарисовалась, собирай народ…»&lt;br /&gt;
В секции meet прописано отсутствие встречи, так как задано no_meet . Так что разговаривать с ГГ непись не будет. После отработки  заданной звуковой темы  идет переход к к ремарке remark@ raciya.&lt;br /&gt;
Сделано это через строчку on_signal = sound_end| remark@raciya. &lt;br /&gt;
Переведу: на сигнал «конец звуковой темы» переходим к схеме remark@raciya.&lt;br /&gt;
&lt;br /&gt;
Следующая схема. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@raciya]&lt;br /&gt;
anim = choose &lt;br /&gt;
snd = bar_arena_public&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = meet@raciya&lt;br /&gt;
on_timer = 120000| remark@work&lt;br /&gt;
;on_actor_dist_ge = 35| remark@work&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
&lt;br /&gt;
[meet@raciya]&lt;br /&gt;
meet_state = 7|binocular@val_escort_guards| 5|guard_rac@mil_pavlik_to_ara&lt;br /&gt;
meet_state_wpn = 7|hide_rac@mil_ara_ambush                                       &lt;br /&gt;
victim = 7|actor &lt;br /&gt;
victim_wpn = 7|actor &lt;br /&gt;
use = true &lt;br /&gt;
use_wpn = true &lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Анимка '''choose''' – ГГ что-то высматривает: оглядывается по сторонам, прикладывает руку ко лбу, так же как это делам мы, когда смотрим вдаль против солнца. &lt;br /&gt;
Звуковая тема – что то там из реплик на арене.&lt;br /&gt;
При встрече – смотрит в бинокль (если он у него есть) и издевательски базарит  - «скоро ты будешь работать обедом для мутантов» (в этой теме реплик несколько).&lt;br /&gt;
На 5 метрах достает рацию (если есть) - анимка '''guard_rac''' и базарит реплики из темы предателя Павлика на милитари  «все чисто можете подходить». &lt;br /&gt;
При  угрозе стволом -  анимка  '''hide_rac''' («сидит с рацией»), базар -  «это засада, уходим»&lt;br /&gt;
Через 120 секунд  - переход к следующей ремарке: on_timer = 120000| remark@work&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@work]&lt;br /&gt;
anim = caution&lt;br /&gt;
no_move = true&lt;br /&gt;
snd = mil_max_before_collect&lt;br /&gt;
target = actor&lt;br /&gt;
on_timer = 30000| remark@work2&lt;br /&gt;
meet = no_meet&lt;br /&gt;
danger = danger_condition&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Анимка '''caution''' – ГГ слегка согнувшись, что-то внимательно высматривает на земле, руки прикладывает к коленям. А затем радостно сообщает -  «ребята у нас появилась работа». Видимо, что-то высмотрел интересное.&lt;br /&gt;
Через 30 секунд -  снова переход.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@work2]&lt;br /&gt;
anim = search&lt;br /&gt;
no_move = true&lt;br /&gt;
snd = mil_collect_phrase3&lt;br /&gt;
target = actor&lt;br /&gt;
on_timer = 30000| remark@zombied&lt;br /&gt;
meet = no_meet&lt;br /&gt;
danger = danger_condition&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Анимка '''search'''  -   поиск, только более развернутый. ГГ встает на колени или на корточки и начинает что искать. Что он при этом произносит – узнаете, когда послушаете. &lt;br /&gt;
Через 30 секунд переход к схеме зомби.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@zombied]&lt;br /&gt;
anim = trans_zombied&lt;br /&gt;
snd = pri_followers_leader_phrase1_1&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
on_timer = 60000| remark@wounded&lt;br /&gt;
meet = meet@zombied&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
&lt;br /&gt;
[meet@zombied]&lt;br /&gt;
meet_state =  5|trans_0@hail&lt;br /&gt;
meet_state_wpn	= 5|trans_1@hail&lt;br /&gt;
victim		= 5|actor  &lt;br /&gt;
victim_wpn	= 5|actor&lt;br /&gt;
use			= true&lt;br /&gt;
use_wpn		= true&lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dial&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Анимка '''trans_zombied'''  -  падает на колени, головой двигает вверх-вниз.&lt;br /&gt;
'''trans_1''' - также стоит  на коленях, только головой вращает по кругу.&lt;br /&gt;
'''trans_0''' – то же самое, только более энергичней. Или наоборот - извиняюь если перепутал.&lt;br /&gt;
&lt;br /&gt;
Схема раненый. Тут все понятно. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@wounded]&lt;br /&gt;
anim = wounded_heavy_3&lt;br /&gt;
snd = help_heavy&lt;br /&gt;
target = actor&lt;br /&gt;
meet = no_meet&lt;br /&gt;
on_timer = 30000| remark@dinner&lt;br /&gt;
danger = danger_condition&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''wounded_heavy_3''' – это анимка тяжелораненого. (есть еще и другие анимки раненого).&lt;br /&gt;
Чувак скрючившись, грохнется на землю. Но на ней не остается,  а тут же встает и бежит в сторону в денжере. Что и понятно – здоровье то у него норм. Остальные неписи видевшие как чувак упал, так же срываются в денжере с места.&lt;br /&gt;
Ищут того, кто «стрелял». Не удивляйтесь, но так они запрограммированы. &lt;br /&gt;
&lt;br /&gt;
Схема обед. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@dinner]&lt;br /&gt;
anim = sit_knee&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = meet@dinner&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
on_actor_dist_ge = 15| remark@dynamite&lt;br /&gt;
&lt;br /&gt;
[meet@dinner]&lt;br /&gt;
meet_state	= 5|eat_bread@wait| 3|eat_energy@wait&lt;br /&gt;
meet_state_wpn	= 5|eat_kolbasa@wait| 3|eat_vodka@val_escort_dead&lt;br /&gt;
victim = 8|actor &lt;br /&gt;
victim_wpn = 8|actor &lt;br /&gt;
use = true &lt;br /&gt;
use_wpn = true &lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''sit_knee'''  - чувак сидит на заднице, опираясь на руку. &lt;br /&gt;
'''eat_bread, eat_kolbasa, eat_energy,  eat_vodka''' - тут я думаю ничего объяснять не надо. Чувак хавает и пьет. Пригубив водки, произносит – «пусть земля тебе будет пухом»&lt;br /&gt;
При отходе эктора на дистанцию больше 15 метров -  переход к схеме динамит.&lt;br /&gt;
Звуковая тема wait – это пауза, в которой непись ничего не говорит.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@dynamite]&lt;br /&gt;
anim = dynamite&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = no_meet&lt;br /&gt;
on_timer = 30000| remark@claim&lt;br /&gt;
danger = danger_condition&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''dynamite''' – закладка динамита. Как это выглядит – помните долговца на милитари у стены с динамитом? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@claim]&lt;br /&gt;
anim = claim&lt;br /&gt;
snd = esc_wolf_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
meet = meet@claim&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
on_timer = 60000| remark@story&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Анимка '''claim''' -  НПС подзывает ГГ рукой.&lt;br /&gt;
snd = esc_wolf_thanks  -  здесь НПС произносит &lt;br /&gt;
фразу волка:  «меченый теперь тебе проход в лагерь открыт, подходи».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[meet@claim]&lt;br /&gt;
meet_state	= 7|refuse@mil_collect_phrase5| 5|probe_2@mil_collect_phrase6 &lt;br /&gt;
meet_state_wpn	= 7|backoff@gar_dm_bandit_demand          &lt;br /&gt;
victim		= 7|actor   &lt;br /&gt;
victim_wpn	= 7|actor&lt;br /&gt;
use			= true&lt;br /&gt;
use_wpn		= true&lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Анимка '''refuse'''   - непись  пожимает плечами и произносит mil_collect_phrase5  - «не срать». &lt;br /&gt;
'''probe_2''' -  судя по сопровождающим ее звукам (независимо от прописанной мной звуковой темы) – это анимка Круглова (его манипуляции с прибором). Если у вашего НПС будет в руках оружие  - то смотреться она будет куда интереснее, так как выглядит будто непись проверяет свой ствол, совершая массу интересных движений.&lt;br /&gt;
Фраза   mil_collect_phrase6 -  «опа – с нами новое мясо».&lt;br /&gt;
&lt;br /&gt;
'''backoff''' -  обычная анимка. Непись начинает  махать стволом в разные стороны – типа  убери ствол, меченый.  Фраза - gar_dm_bandit_demand -  «бабки артефакты гони», «ты че козел не врубаешься», «гони бабло или бошку отстрелим». Так как тема рандомная  (с окончанием  rnd в имени темы  в файле sound_script – то и фраз несколько)          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@story]&lt;br /&gt;
anim = mode_shlem&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = meet@story&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
on_actor_dist_ge = 30| %+passage_to_story_end%&lt;br /&gt;
on_info = {+passage_to_story_end} remark@story_end&lt;br /&gt;
&lt;br /&gt;
[meet@story]&lt;br /&gt;
meet_state	= 10|probe@wait| 5|probe_1@hail     &lt;br /&gt;
meet_state_wpn	= 10|probe_2@wait| 5|suicide@mil_crazy&lt;br /&gt;
victim = 10|actor &lt;br /&gt;
victim_wpn = 10|actor &lt;br /&gt;
use = true &lt;br /&gt;
use_wpn = true &lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''mode_shlem''' - тоже анимка Круглова. Непись будет что то вертеть в руках. &lt;br /&gt;
'''probe_1''' – тоже  самое что и probe_2 , только здесь он плечами вроде бы не дергает. &lt;br /&gt;
'''suicide'''  -  самоубийство. Советую посмотреть – тем более с озвучкой mil_crazy.&lt;br /&gt;
'''probe'''   - укороченный вариант probe_2 и probe_1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@story_end]&lt;br /&gt;
anim = probe_3&lt;br /&gt;
no_move = true&lt;br /&gt;
snd = agr_doctor_1        &lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| remark@base&lt;br /&gt;
;on_timer = 180000| remark@ base&lt;br /&gt;
meet = no_meet&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
&lt;br /&gt;
[danger_condition]&lt;br /&gt;
ignore_distance = 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''probe_3'''  -  интересная анимка (тож кругловская)-  чувак срывается с места в панике, затем сгибается как будто от боли, хватается за голову. &lt;br /&gt;
agr_doctor_1 - базар доктора в тайнике стрелка. &lt;br /&gt;
&lt;br /&gt;
Теперь поясню строчки &lt;br /&gt;
on_actor_dist_ge = 30| %+passage_to_story_end%&lt;br /&gt;
on_info = {+passage_to_story_end} remark@story_end&lt;br /&gt;
&lt;br /&gt;
Когда эктор отойдет от НПС дальше чем 30 метров,  ГГ выдается инфопоршень  passage_to_story_end. &lt;br /&gt;
После его получения - on_info -  произойдет переход к базовой ремарке.  &lt;br /&gt;
Сам инфопоршень необходимо регистрировать в соответствующих   файлах. Так как мой НПС находится на кордоне, то поршень я сунул в файл info_l01escape. Сообственно инфопоршень в строчке on_actor_dist_ge писать не обязательно(я его использовал только для примера) - можно просто поставить имя следующей ремарки - и в нужный момент произойдет переход. Но инфопоршень может понадобиться для других случаев.&lt;br /&gt;
&lt;br /&gt;
Как я уже говорил в начале, схему можно сделать полностью зацикленной. Нужно лишь в тех блоках, где идет переход к следующей схеме через on_signal поставить таймер или дистанцию.&lt;br /&gt;
Почему так - не знаю. Но у меня по второму кругу схема стопорилась на тех блоках, где шел переход через on_signal = sound_end|. По таймеру же все прекрасно крутится. Схема из второй части - как раз зацикленная.&lt;br /&gt;
&lt;br /&gt;
P.S. : Кажется понял почему у меня стопорилась схема при использовании перехода on_signal = sound_end|. Дело в том,  что если в имени звука, по завершении которого схема должна перейти к новому блоку стоит флажок seq, то он вроде как отыграется только один раз (если в этой теме нет дополнительных реплик). Следовательно по второму кругу он просто не будет срабатывать, а значит и схема застопорится. Так что для этого нужно ставить звук в имени которого в файле sound_script есть флажок rnd. Тема  mil_guard_to_max как раз с флажком seq (и реплика только одна - без вариантов). Потому здесь (в схеме sit) она и будет стопориться на втором круге, если не заменить тему на другую. &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;pre&amp;gt;[logic]&lt;br /&gt;
active = remark@base &lt;br /&gt;
danger = danger_condition &lt;br /&gt;
meet = meet&lt;br /&gt;
&lt;br /&gt;
[remark@base]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
no_move = true&lt;br /&gt;
target = actor&lt;br /&gt;
meet = meet&lt;br /&gt;
on_actor_dist_le = 2| remark@punch&lt;br /&gt;
danger = danger_condition &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С первой ремаркой все понятно. Переход ко второй на дистанции ближе 2 метров.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@punch]&lt;br /&gt;
anim = punch&lt;br /&gt;
snd = cit_jail_guard_sneer&lt;br /&gt;
meet = meet@punch&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| %=run_cam_effector(fatigue)% &lt;br /&gt;
on_timer = 60000| remark@doctor_wakeup  %=run_postprocess(deadcity_wake:1777:false)%   &lt;br /&gt;
danger = danger_condition &lt;br /&gt;
&lt;br /&gt;
[meet@punch]&lt;br /&gt;
meet_state	= 5|hide_s_left@wait| 4|hide_s_right@wait&lt;br /&gt;
meet_state_wpn	= 5|backoff2@threat_back&lt;br /&gt;
victim = 10|actor &lt;br /&gt;
victim_wpn = 10|actor &lt;br /&gt;
use = true &lt;br /&gt;
use_wpn = true &lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''punch'''– анимка удара рукой (или прикладом). Так как я не специалист по боксу, то не скажу точно &lt;br /&gt;
как именно называется этот удар с правой в челюсть. Если поставите ее в meet_state_wpn на дистанции 2 метра - ГГ получит реальный удар в морду прикладом ствола. Так как я эксперементировал на своем торговце - то он (будучи безоружным) бил чисто кулаком.	 &lt;br /&gt;
А если вместо запуска  анимации камеры '''%=run_cam_effector(fatigue)%''' поставите запуск функции '''%=killactor%''', то НПС кинется вас убивать.&lt;br /&gt;
&lt;br /&gt;
'''hide_s_left''' и '''hide_s_right''' - непись присядет с разворотом &lt;br /&gt;
ствола вправо или влево. &lt;br /&gt;
'''backoff2'''  -  более веселая анимка backoff.  &lt;br /&gt;
НПС покажет ГГ что-то вроде фака, перед тем как помахать стволом и пр этом скажет что-то весьма нелицприятное.&lt;br /&gt;
'''&lt;br /&gt;
'''%=run_cam_effector(fatigue)%''' - это вызов анимации камеры ''fatigue'' из папки anims.&lt;br /&gt;
Земля уйдет из под ног ГГ. Ненадолго. Сработает сразу же после окончания фразы &lt;br /&gt;
cit_jail_guard_sneer. &lt;br /&gt;
А ровно через минуту от начала работы схемы – запуск постпроцесса&lt;br /&gt;
'''%=run_postprocess(deadcity_wake:1777:false)%'''  и переход к следующей схеме.&lt;br /&gt;
&lt;br /&gt;
'''deadcity_wake''' – это постпроцесс, который должен был использоваться в Мертвом городе, если бы разрабы МГ все таки доделали. &lt;br /&gt;
Если не видели - обязательно посмотрите.Сначала черный экран, затем прояснение с раздвоением картинки и красным фоном.   &lt;br /&gt;
 &lt;br /&gt;
В следующей схеме идет продолжение постпроцесса – первые 15 секунд. Потом его остановка: on_timer = 15000| %=stop_postprocess(1777)%. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@doctor_wakeup]&lt;br /&gt;
anim = doctor_wakeup&lt;br /&gt;
snd = cit_doctor_start_dlg&lt;br /&gt;
meet = meet@doctor_wakeup&lt;br /&gt;
target = actor&lt;br /&gt;
on_timer = 15000| %=stop_postprocess(1777)%&lt;br /&gt;
on_timer2 = 180000| remark@prisoner &lt;br /&gt;
danger = danger_condition &lt;br /&gt;
&lt;br /&gt;
[meet@doctor_wakeup]&lt;br /&gt;
meet_state	= 3|sleep@cit_jail_guard_sleep| 2|sleep_sit@wait&lt;br /&gt;
meet_state_wpn	= 3|wounded_zombie@wait&lt;br /&gt;
victim = 10|actor &lt;br /&gt;
victim_wpn = 10|actor &lt;br /&gt;
use = true &lt;br /&gt;
use_wpn = true &lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Начальная анимация - '''doctor_wakeup''' – доктор в мертвом городе. НПС склонится вниз – как будто над чьим то телом (по задумке – над меченым) и начнет базарить. Но совсем не то, что стоит у  меня в строчке snd. Видимо, данная анимка завязана со звуком, и иначе не идет.&lt;br /&gt;
Фразу прописанную мною - cit_doctor_start_dlg –  нпс произнесет потом. Обе озвучки длинные – та, что идет с анимкой – монолог доктора в подземелье агропрома в тайнике Стрелка  – типа, «что ж ты меченый в растяжку полез, сам же придумал эту хрень…» Моя озвучка - cit_doctor_start_dlg – неиспользованный монолог доктора в мертвом городе.&lt;br /&gt;
Через 180 секунд – завершение схемы и переход к следующей. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Схема – пленный.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[remark@prisoner]&lt;br /&gt;
anim = prisoner&lt;br /&gt;
snd = agr_krot_fear&lt;br /&gt;
meet = meet@prisoner&lt;br /&gt;
target = actor&lt;br /&gt;
on_timer = 60000| remark@base&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
&lt;br /&gt;
[meet@prisoner]&lt;br /&gt;
meet_state	= 5|help_me@gar_dm_newbie_no_money&lt;br /&gt;
meet_state_wpn	= 5|hands_up@agr_dont_shoot&lt;br /&gt;
victim = 10|actor &lt;br /&gt;
victim_wpn = 10|actor &lt;br /&gt;
use = true &lt;br /&gt;
use_wpn = true &lt;br /&gt;
meet_dialog	= escape_lager_guard_start_dialog&lt;br /&gt;
&lt;br /&gt;
[danger_condition]&lt;br /&gt;
ignore_distance = 10&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Анимка – '''prisoner''' – пленный. Помните Шустрого у бандитов? Вот это она и есть &lt;br /&gt;
Фраза - agr_krot_fear – не смотря на то, что в названии звуковой темы имя Крота, орет ее Шустрый: типа братцы я тут, спасите. &lt;br /&gt;
&lt;br /&gt;
'''help_me''' -  машет рукой сидя на одном колене и орет, что у него &amp;quot;нет денег&amp;quot; - gar_dm_newbie_no_money .&lt;br /&gt;
'''hands_up'''  -  руки кверху  и орет &amp;quot;не убивай дяденька&amp;quot; (или типа того) - agr_dont_shoot. &lt;br /&gt;
&lt;br /&gt;
Через 60 секунд возврат к базовой ремарке.&lt;br /&gt;
&lt;br /&gt;
== Часть третья. ==&lt;br /&gt;
&lt;br /&gt;
В файле state_lib – большая библиотека анимок. Я успел попробовать только часть. &lt;br /&gt;
У одного бармена их 12. Правда, из пяти опробованных мной сработала только одна '''bar_sleep'''  - НПС положит голову  на руки сложенные перед лицом и будет  спать стоя. &lt;br /&gt;
&lt;br /&gt;
Анимки - '''barman_talk_freу, barman_shock,  barman_wait_danger,  barman_walk_danger'''  - никакого эффекта не дали. Видимо, они работают только на бармене. Остальные пробуйте сами. &lt;br /&gt;
&lt;br /&gt;
Анимка '''psy_pain''' – пораженный  пси-излучением. Чувак сядет на колени, начнет трясти головой и бить себе руками по голове.&lt;br /&gt;
&lt;br /&gt;
'''psycho_pain''' – вроде бы тоже самое, только чувак обхватывает голову руками  и так сидит.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Анимки '''psy_shoot, psy_armed, psycho_pain, psycho_shoot'''– пока остаются на стадии исследования. Так как с ними либо глючит, либо вылетает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''erlik'''&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5</id>
		<title>SoC. Техника в игре</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5"/>
				<updated>2009-06-11T17:47:50Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: /* Техника в игре */&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;
Для &amp;quot;воскрешения&amp;quot; понадобиться: 2 файла &lt;br /&gt;
&amp;lt;pre&amp;gt;gamedata/config/creatures  vechicles.ltx &lt;br /&gt;
и gamedata/spawns all.spawn&lt;br /&gt;
а также текстовый редактор и ACDC_10004_AMK &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''1.''' распакуем файл all.spawn при помощи проги от AMK-team как распаковывать написано в readme.txt значит описывать данный этап не буду.&lt;br /&gt;
&lt;br /&gt;
'''2.''' находим файл alife_l01_escape.ltx как видно там структура что то вроде этого:&lt;br /&gt;
&amp;lt;pre&amp;gt;[0]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = breakable_object&lt;br /&gt;
name = meshes\brkbl#0.ogf&lt;br /&gt;
position = −79.4930877685547,-3.16186141967773,-76.9341430664063&lt;br /&gt;
direction = 0.581841766834259,-1.45571649074554,-0.267672836780548&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 = 594270&lt;br /&gt;
object_flags = 0xffffffba&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = meshes\brkbl#0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object_breakable properties&lt;br /&gt;
health = 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тоесть очень простая...&lt;br /&gt;
&lt;br /&gt;
'''3.''' заменять имеющееся не будем, а просто в самом конце напишем:&lt;br /&gt;
&amp;lt;pre&amp;gt;[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = m_car&lt;br /&gt;
name = niva&lt;br /&gt;
position = -239,8912,-19,43,-123,0998&lt;br /&gt;
direction = 0.581841766834259,-1.45571649074554,-0.267672836780548&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 = 594270&lt;br /&gt;
object_flags = 0xffffffba&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = physics\vehicles\niva\veh_niva_u_01&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object_breakable properties&lt;br /&gt;
health = 1 &amp;lt;/pre&amp;gt;&lt;br /&gt;
где &amp;quot;niva&amp;quot; это секция в ltx файле которая будет использоваться для параметров объекта&lt;br /&gt;
а &amp;quot;visual_name&amp;quot; это расположение модели&lt;br /&gt;
&amp;quot;health = 1&amp;quot; следовательно здоровье&lt;br /&gt;
разделы &amp;quot;position&amp;quot; и &amp;quot;direction&amp;quot; взяты с &amp;quot;долгоблуждающего&amp;quot; по сети файла all.spawn где автомобили находились прямо возле выхода от Сидоровича&lt;br /&gt;
для выбора других координат можна использовать команду консоли &amp;quot;rs_stats = 1&amp;quot;&lt;br /&gt;
после чего сохраняем изменения компилируем all.spawn  помещаем его в gamedata\spawns&lt;br /&gt;
теперь нам понадобиться файл vechicles.ltx в gamedata/config/creatures &lt;br /&gt;
открываем его и дописываем там:&lt;br /&gt;
&amp;lt;pre&amp;gt;[niva] &lt;br /&gt;
GroupControlSection = spawn_group&lt;br /&gt;
$spawn = &amp;quot;vehicles\niva&amp;quot;&lt;br /&gt;
class = SCRPTCAR&lt;br /&gt;
cform = skeleton&lt;br /&gt;
visual = physics\vehicles\niva\veh_niva_u_01.ogf &lt;br /&gt;
actor_visual = physics\vehicles\niva\veh_niva_u_01.ogf &lt;br /&gt;
ef_equipment_type = 3&lt;br /&gt;
ph_mass = 100000&lt;br /&gt;
script_binding = bind_physic_object.init &amp;lt;/pre&amp;gt;&lt;br /&gt;
всё начинаем новую игру, после выхода от Сидора вы увидите Ниву, для того чтобы её завести набирите в консоле &amp;quot;bind turn_engine kb&amp;quot; по этом принципу можна заспавнить авто на любой локации&lt;br /&gt;
&lt;br /&gt;
'''Еще один способ воскресить транспорт'''&lt;br /&gt;
&lt;br /&gt;
Все это хорошо, но есть еще один простой способ воскресить вырезанный из игры транспорт.&lt;br /&gt;
Первое.&lt;br /&gt;
Для начал нам нужно файл '''vehicles.ltx''' (находится в creatures) внести в файл '''sistem.ltx.'''&lt;br /&gt;
Вот так: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;creatures\vehicles.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
То есть добавить его в число прочих файлов (по крайней мере у меня он не был туда внесен), откуда игра будет брать &lt;br /&gt;
необходимую информацию.&lt;br /&gt;
&lt;br /&gt;
Второе.&lt;br /&gt;
Добавить в файл '''vehicles.ltx''' полный конфиг машины. Например уазика.&lt;br /&gt;
Вот готовый пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[vehicle_uaz]&lt;br /&gt;
GroupControlSection   = spawn_group&lt;br /&gt;
$spawn                = &amp;quot;vehicles\vehicle_uaz&amp;quot;&lt;br /&gt;
class                 = SCRPTCAR&lt;br /&gt;
cform                 = skeleton&lt;br /&gt;
visual                = physics\vehicles\uaz\veh_uaz_u_01.ogf&lt;br /&gt;
actor_visual          = physics\vehicles\uaz\veh_uaz_u_01.ogf&lt;br /&gt;
ef_equipment_type     = 3&lt;br /&gt;
ph_mass               = 99000&lt;br /&gt;
script_binding        = bind_physic_object.init&lt;br /&gt;
&lt;br /&gt;
ph_skeleton_airr_lin_factor    = 2.0&lt;br /&gt;
ph_skeleton_airr_ang_factor    = 0.0&lt;br /&gt;
ph_skeleton_hinger_factor1     = 1.0&lt;br /&gt;
ph_skeleton_ddelay             = 15.0&lt;br /&gt;
ph_skel_fatal_impulse_factor   = 12.0&lt;br /&gt;
ph_skel_shot_up_factor         = 0.25&lt;br /&gt;
ph_after_death_velocity_factor = 0.75&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Характеристики машин можно менять в файлах лежащих в '''models\vehicles'''. &lt;br /&gt;
&lt;br /&gt;
Третье.&lt;br /&gt;
Создать скриптовую функцию по спавну машины.&lt;br /&gt;
Мой пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function buy_uaz (position, total)&lt;br /&gt;
alife():create(&amp;quot;vehicle_uaz&amp;quot;,vector():set(-245.01445007324,-18.792783737183,-107.14138031006),12480,8)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Название функции - buy_uaz - может быть любое. Саму функцию надо положить в какой-нибудь скриптовый файл в папке scripts.&lt;br /&gt;
У меня она лежит в '''escape_dialog.script'''. &lt;br /&gt;
&lt;br /&gt;
Для того, чтобы можно было заводить машину не залезая в консоль открываем файл '''ui_keybinding''' (находится в '''config\ui''')&lt;br /&gt;
и вписываем туда в секцию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;group name=&amp;quot;kb_grp_common&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
это:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_1&amp;quot;						exe=&amp;quot;cam_1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_2&amp;quot;						exe=&amp;quot;cam_2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_3&amp;quot;						exe=&amp;quot;cam_3&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_turn_engine&amp;quot;				        exe=&amp;quot;turn_engine&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь у нас в меню управления можно назначить клавиши для &amp;quot;завести двигатель&amp;quot; и переключение камеры на вид от 1, 2, 3 лица.&lt;br /&gt;
&lt;br /&gt;
Уазик появляется неподалеку от бункера Сидоровича после активации action '''escape_dialog.buy_uaz''' вставленного в диалог к NPC.&lt;br /&gt;
У меня уазик &amp;quot;выдает&amp;quot; мой уникальный (то есть новый) торговец после диалога с ним.&lt;br /&gt;
Вот конец моего диалога из файла '''dialogs_escape''':&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;phrase id=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_buy_uaz_8&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;escape_dialog.buy_uaz&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;9&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;9&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_buy_uaz_9&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
&amp;lt;/dialog&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот собственно и все. И никаких изменений в all.spawn. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дополнил '''erlik'''&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
&lt;br /&gt;
* [[Участник:Jesh|Jesh]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5</id>
		<title>SoC. Техника в игре</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5"/>
				<updated>2009-06-11T17:35:37Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: /* Техника в игре */&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;
Для &amp;quot;воскрешения&amp;quot; понадобиться: 2 файла &lt;br /&gt;
&amp;lt;pre&amp;gt;gamedata/config/creatures  vechicles.ltx &lt;br /&gt;
и gamedata/spawns all.spawn&lt;br /&gt;
а также текстовый редактор и ACDC_10004_AMK &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''1.''' распакуем файл all.spawn при помощи проги от AMK-team как распаковывать написано в readme.txt значит описывать данный этап не буду.&lt;br /&gt;
&lt;br /&gt;
'''2.''' находим файл alife_l01_escape.ltx как видно там структура что то вроде этого:&lt;br /&gt;
&amp;lt;pre&amp;gt;[0]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = breakable_object&lt;br /&gt;
name = meshes\brkbl#0.ogf&lt;br /&gt;
position = −79.4930877685547,-3.16186141967773,-76.9341430664063&lt;br /&gt;
direction = 0.581841766834259,-1.45571649074554,-0.267672836780548&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 = 594270&lt;br /&gt;
object_flags = 0xffffffba&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = meshes\brkbl#0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object_breakable properties&lt;br /&gt;
health = 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тоесть очень простая...&lt;br /&gt;
&lt;br /&gt;
'''3.''' заменять имеющееся не будем, а просто в самом конце напишем:&lt;br /&gt;
&amp;lt;pre&amp;gt;[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = m_car&lt;br /&gt;
name = niva&lt;br /&gt;
position = -239,8912,-19,43,-123,0998&lt;br /&gt;
direction = 0.581841766834259,-1.45571649074554,-0.267672836780548&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 = 594270&lt;br /&gt;
object_flags = 0xffffffba&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = physics\vehicles\niva\veh_niva_u_01&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object_breakable properties&lt;br /&gt;
health = 1 &amp;lt;/pre&amp;gt;&lt;br /&gt;
где &amp;quot;niva&amp;quot; это секция в ltx файле которая будет использоваться для параметров объекта&lt;br /&gt;
а &amp;quot;visual_name&amp;quot; это расположение модели&lt;br /&gt;
&amp;quot;health = 1&amp;quot; следовательно здоровье&lt;br /&gt;
разделы &amp;quot;position&amp;quot; и &amp;quot;direction&amp;quot; взяты с &amp;quot;долгоблуждающего&amp;quot; по сети файла all.spawn где автомобили находились прямо возле выхода от Сидоровича&lt;br /&gt;
для выбора других координат можна использовать команду консоли &amp;quot;rs_stats = 1&amp;quot;&lt;br /&gt;
после чего сохраняем изменения компилируем all.spawn  помещаем его в gamedata\spawns&lt;br /&gt;
теперь нам понадобиться файл vechicles.ltx в gamedata/config/creatures &lt;br /&gt;
открываем его и дописываем там:&lt;br /&gt;
&amp;lt;pre&amp;gt;[niva] &lt;br /&gt;
GroupControlSection = spawn_group&lt;br /&gt;
$spawn = &amp;quot;vehicles\niva&amp;quot;&lt;br /&gt;
class = SCRPTCAR&lt;br /&gt;
cform = skeleton&lt;br /&gt;
visual = physics\vehicles\niva\veh_niva_u_01.ogf &lt;br /&gt;
actor_visual = physics\vehicles\niva\veh_niva_u_01.ogf &lt;br /&gt;
ef_equipment_type = 3&lt;br /&gt;
ph_mass = 100000&lt;br /&gt;
script_binding = bind_physic_object.init &amp;lt;/pre&amp;gt;&lt;br /&gt;
всё начинаем новую игру, после выхода от Сидора вы увидите Ниву, для того чтобы её завести набирите в консоле &amp;quot;bind turn_engine kb&amp;quot; по этом принципу можна заспавнить авто на любой локации&lt;br /&gt;
&lt;br /&gt;
'''Еще один способ воскресить транспорт'''&lt;br /&gt;
&lt;br /&gt;
Все это хорошо, но есть еще один простой способ воскресить вырезанный из игры транспорт.&lt;br /&gt;
Первое.&lt;br /&gt;
Для начал нам нужно файл vehicles.ltx (находится в creatures) внести в файл sistem.ltx.&lt;br /&gt;
Вот так: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;creatures\vehicles.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
То есть добавить его в число прочих файлов (по крайней мере у меня он не был туда внесен), откуда игра будет брать &lt;br /&gt;
необходимую информацию.&lt;br /&gt;
&lt;br /&gt;
Второе.&lt;br /&gt;
Добавить в файл vehicles.ltx полный конфиг машины. Например уазика.&lt;br /&gt;
Вот готовый пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[vehicle_uaz]&lt;br /&gt;
GroupControlSection   = spawn_group&lt;br /&gt;
$spawn                = &amp;quot;vehicles\vehicle_uaz&amp;quot;&lt;br /&gt;
class                 = SCRPTCAR&lt;br /&gt;
cform                 = skeleton&lt;br /&gt;
visual                = physics\vehicles\uaz\veh_uaz_u_01.ogf&lt;br /&gt;
actor_visual          = physics\vehicles\uaz\veh_uaz_u_01.ogf&lt;br /&gt;
ef_equipment_type     = 3&lt;br /&gt;
ph_mass               = 99000&lt;br /&gt;
script_binding        = bind_physic_object.init&lt;br /&gt;
&lt;br /&gt;
ph_skeleton_airr_lin_factor    = 2.0&lt;br /&gt;
ph_skeleton_airr_ang_factor    = 0.0&lt;br /&gt;
ph_skeleton_hinger_factor1     = 1.0&lt;br /&gt;
ph_skeleton_ddelay             = 15.0&lt;br /&gt;
ph_skel_fatal_impulse_factor   = 12.0&lt;br /&gt;
ph_skel_shot_up_factor         = 0.25&lt;br /&gt;
ph_after_death_velocity_factor = 0.75&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Характеристики машин можно менять в файлах лежащих в models\vehicles. &lt;br /&gt;
&lt;br /&gt;
Третье.&lt;br /&gt;
Создать скриптовую функцию по спавну машины.&lt;br /&gt;
Мой пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function buy_uaz (position, total)&lt;br /&gt;
alife():create(&amp;quot;vehicle_uaz&amp;quot;,vector():set(-245.01445007324,-18.792783737183,-107.14138031006),12480,8)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Название функции - buy_uaz - может быть любое. Саму функцию надо положить в какой-нибудь скриптовый файл в папке scripts.&lt;br /&gt;
У меня она лежит в escape_dialog.script. &lt;br /&gt;
&lt;br /&gt;
Для того, чтобы можно было заводить машину не залезая в консоль открываем файл ui_keybinding (находится в config\ui)&lt;br /&gt;
и вписываем туда в секцию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;group name=&amp;quot;kb_grp_common&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
это:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_1&amp;quot;						exe=&amp;quot;cam_1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_2&amp;quot;						exe=&amp;quot;cam_2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_3&amp;quot;						exe=&amp;quot;cam_3&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_turn_engine&amp;quot;				        exe=&amp;quot;turn_engine&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь у нас в меню управления можно назначить клавиши для &amp;quot;завести двигатель&amp;quot; и переключение камеры на вид от 1, 2, 3 лица.&lt;br /&gt;
&lt;br /&gt;
Уазик появляется неподалеку от бункера Сидоровича после активации action '''escape_dialog.buy_uaz''' вставленного в диалог к NPC.&lt;br /&gt;
У меня уазик &amp;quot;выдает&amp;quot; мой уникальный (то есть новый) торговец после диалога с ним.&lt;br /&gt;
Вот конец диалога:&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;phrase id=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_buy_uaz_8&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;escape_dialog.buy_uaz&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;9&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот собственно и все. И никаких изменений в all.spawn. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дополнил '''erlik'''&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
&lt;br /&gt;
* [[Участник:Jesh|Jesh]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5</id>
		<title>SoC. Техника в игре</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5"/>
				<updated>2009-06-11T17:32:47Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.24.6: /* Техника в игре */&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;
Для &amp;quot;воскрешения&amp;quot; понадобиться: 2 файла &lt;br /&gt;
&amp;lt;pre&amp;gt;gamedata/config/creatures  vechicles.ltx &lt;br /&gt;
и gamedata/spawns all.spawn&lt;br /&gt;
а также текстовый редактор и ACDC_10004_AMK &amp;lt;/pre&amp;gt;&lt;br /&gt;
'''1.''' распакуем файл all.spawn при помощи проги от AMK-team как распаковывать написано в readme.txt значит описывать данный этап не буду.&lt;br /&gt;
&lt;br /&gt;
'''2.''' находим файл alife_l01_escape.ltx как видно там структура что то вроде этого:&lt;br /&gt;
&amp;lt;pre&amp;gt;[0]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = breakable_object&lt;br /&gt;
name = meshes\brkbl#0.ogf&lt;br /&gt;
position = −79.4930877685547,-3.16186141967773,-76.9341430664063&lt;br /&gt;
direction = 0.581841766834259,-1.45571649074554,-0.267672836780548&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 = 594270&lt;br /&gt;
object_flags = 0xffffffba&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = meshes\brkbl#0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object_breakable properties&lt;br /&gt;
health = 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
тоесть очень простая...&lt;br /&gt;
&lt;br /&gt;
'''3.''' заменять имеющееся не будем, а просто в самом конце напишем:&lt;br /&gt;
&amp;lt;pre&amp;gt;[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = m_car&lt;br /&gt;
name = niva&lt;br /&gt;
position = -239,8912,-19,43,-123,0998&lt;br /&gt;
direction = 0.581841766834259,-1.45571649074554,-0.267672836780548&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 = 594270&lt;br /&gt;
object_flags = 0xffffffba&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = physics\vehicles\niva\veh_niva_u_01&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object_breakable properties&lt;br /&gt;
health = 1 &amp;lt;/pre&amp;gt;&lt;br /&gt;
где &amp;quot;niva&amp;quot; это секция в ltx файле которая будет использоваться для параметров объекта&lt;br /&gt;
а &amp;quot;visual_name&amp;quot; это расположение модели&lt;br /&gt;
&amp;quot;health = 1&amp;quot; следовательно здоровье&lt;br /&gt;
разделы &amp;quot;position&amp;quot; и &amp;quot;direction&amp;quot; взяты с &amp;quot;долгоблуждающего&amp;quot; по сети файла all.spawn где автомобили находились прямо возле выхода от Сидоровича&lt;br /&gt;
для выбора других координат можна использовать команду консоли &amp;quot;rs_stats = 1&amp;quot;&lt;br /&gt;
после чего сохраняем изменения компилируем all.spawn  помещаем его в gamedata\spawns&lt;br /&gt;
теперь нам понадобиться файл vechicles.ltx в gamedata/config/creatures &lt;br /&gt;
открываем его и дописываем там:&lt;br /&gt;
&amp;lt;pre&amp;gt;[niva] &lt;br /&gt;
GroupControlSection = spawn_group&lt;br /&gt;
$spawn = &amp;quot;vehicles\niva&amp;quot;&lt;br /&gt;
class = SCRPTCAR&lt;br /&gt;
cform = skeleton&lt;br /&gt;
visual = physics\vehicles\niva\veh_niva_u_01.ogf &lt;br /&gt;
actor_visual = physics\vehicles\niva\veh_niva_u_01.ogf &lt;br /&gt;
ef_equipment_type = 3&lt;br /&gt;
ph_mass = 100000&lt;br /&gt;
script_binding = bind_physic_object.init &amp;lt;/pre&amp;gt;&lt;br /&gt;
всё начинаем новую игру, после выхода от Сидора вы увидите Ниву, для того чтобы её завести набирите в консоле &amp;quot;bind turn_engine kb&amp;quot; по этом принципу можна заспавнить авто на любой локации&lt;br /&gt;
&lt;br /&gt;
'''Еще один способ воскресить транспорт'''&lt;br /&gt;
&lt;br /&gt;
Все это хорошо, но есть еще один простой способ воскресить вырезанный из игры транспорт.&lt;br /&gt;
Первое.&lt;br /&gt;
Для начал нам нужно файл vehicles.ltx (находится в creatures) внести в файл sistem.ltx.&lt;br /&gt;
Вот так: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;creatures\vehicles.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
То есть добавить его в число прочих файлов (по крайней мере у меня он не был туда внесен), откуда игра будет брать &lt;br /&gt;
необходимую информацию.&lt;br /&gt;
&lt;br /&gt;
Второе.&lt;br /&gt;
Добавить в файл vehicles.ltx полный конфиг машины. Например уазика.&lt;br /&gt;
Вот готовый пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[vehicle_uaz]&lt;br /&gt;
GroupControlSection   = spawn_group&lt;br /&gt;
$spawn                = &amp;quot;vehicles\vehicle_uaz&amp;quot;&lt;br /&gt;
class                 = SCRPTCAR&lt;br /&gt;
cform                 = skeleton&lt;br /&gt;
visual                = physics\vehicles\uaz\veh_uaz_u_01.ogf&lt;br /&gt;
actor_visual          = physics\vehicles\uaz\veh_uaz_u_01.ogf&lt;br /&gt;
ef_equipment_type     = 3&lt;br /&gt;
ph_mass               = 99000&lt;br /&gt;
script_binding        = bind_physic_object.init&lt;br /&gt;
&lt;br /&gt;
ph_skeleton_airr_lin_factor    = 2.0&lt;br /&gt;
ph_skeleton_airr_ang_factor    = 0.0&lt;br /&gt;
ph_skeleton_hinger_factor1     = 1.0&lt;br /&gt;
ph_skeleton_ddelay             = 15.0&lt;br /&gt;
ph_skel_fatal_impulse_factor   = 12.0&lt;br /&gt;
ph_skel_shot_up_factor         = 0.25&lt;br /&gt;
ph_after_death_velocity_factor = 0.75&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Характеристики машин можно менять в файлах лежащих в models\vehicles. &lt;br /&gt;
&lt;br /&gt;
Третье.&lt;br /&gt;
Создать скриптовую функцию по спавну машины.&lt;br /&gt;
Мой пример:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function buy_uaz (position, total)&lt;br /&gt;
alife():create(&amp;quot;vehicle_uaz&amp;quot;,vector():set(-245.01445007324,-18.792783737183,-107.14138031006),12480,8)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Название функции - buy_uaz - может быть любое. Саму функцию надо положить в какой-нибудь скриптовый файл в папке scripts.&lt;br /&gt;
У меня она лежит в escape_dialog.script. &lt;br /&gt;
&lt;br /&gt;
Для того, чтобы можно было заводить машину не залезая в консоль открываем файл ui_keybinding (находится в config\ui)&lt;br /&gt;
и вписываем туда в секцию&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;group name=&amp;quot;kb_grp_common&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
это:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_1&amp;quot;						exe=&amp;quot;cam_1&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_2&amp;quot;						exe=&amp;quot;cam_2&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_cam_3&amp;quot;						exe=&amp;quot;cam_3&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;command id=&amp;quot;kb_turn_engine&amp;quot;				        exe=&amp;quot;turn_engine&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь у нас в меню управления можно назначить клавиши для &amp;quot;завести двигатель&amp;quot; и переключение камеры на вид от 1, 2, 3 лица.&lt;br /&gt;
&lt;br /&gt;
Уазик появляется неподалеку от бункера Сидоровича после активации action '''escape_dialog.buy_uaz''' вставленного в диалог к NPC.&lt;br /&gt;
У меня уазик &amp;quot;выдает&amp;quot; мой уникальный (то есть новый) торговец после диалога с ним.&lt;br /&gt;
Вот конец диалога:&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
&amp;lt;phrase id=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;escape_buy_uaz_8&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;escape_dialog.buy_uaz&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;9&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот собственно и все. И никаких изменений в all.spawn. &lt;br /&gt;
&lt;br /&gt;
Дополнил '''erlik'''&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
&lt;br /&gt;
* [[Участник:Jesh|Jesh]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>217.66.24.6</name></author>	</entry>

	</feed>