<?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=109.205.254.88&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=109.205.254.88&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/109.205.254.88"/>
		<updated>2026-06-10T01:57:27Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8</id>
		<title>SoC. Спавн точек перехода между уровнями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8"/>
				<updated>2012-08-19T09:33:07Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: /* Дополняет авторы: vllzl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В этой статье я попытаюсь передать практический опыт скриптового создания точек перехода между уровнями. Файл ''all.spawn'' меняться не будет, поэтому такой механизм более удобен для совмещения модов и не требует начала новой игры.&lt;br /&gt;
&lt;br /&gt;
В качестве примера попробуем реализовать режим ''freeplay'' - продолжение игры после уничтожения О-Сознания. Для этого нужно создать как минимум две точки — возврат на ЧАЭС-1 со внутреннего дворика (после уничтожения О-Сознания) и переход из ЧАЭС-1 в Припять. К слову сказать, если вернуться на ЧАЭС-1, то там будет продолжать действовать таймер &amp;quot;выброса&amp;quot;, который в конце-концов включит &amp;quot;deadzone&amp;quot;. Отключить счетчик мне пока не удалось, но зато можно легко отключить сам &amp;quot;выброс&amp;quot; и всласть побегать по уровню.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Часть 1. Генерация работающего LEVEL_CHANGER ==&lt;br /&gt;
&lt;br /&gt;
Стандартной функции alife():create(…) недостаточно для создания полноценного level_changer.&lt;br /&gt;
&lt;br /&gt;
Ниже я привожу код функции, которая создает и инициализирует level_changer (пишется в созданный нами файл '''_freeplay_sa.script'''): НИЧЕГО НЕ ПОДСТАВЛЯЙТЕ! &lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function create_level_changer(&lt;br /&gt;
	p_story_id,	-- STORY_ID нового level_changer (понадобится нам позже)&lt;br /&gt;
	p_position,	-- вектор, координаты точки, в которой будет располагаться центр нового level_changer&lt;br /&gt;
	p_lvertex_id,	-- level_vertext_id  - идентифицируют уровень, на котором будет создан level_changer&lt;br /&gt;
	p_gvertex_id,	-- game_vertext_id   	&lt;br /&gt;
&lt;br /&gt;
	p_dest_lv,	-- level_vertex_id   - идентифицируют уровень, на который level_changer будет перебрасывать игрока &lt;br /&gt;
	p_dest_gv,	-- game_vertex_id&lt;br /&gt;
	p_dest_pos,	-- координаты точки, в которой на новом уровне окажется игрок&lt;br /&gt;
	p_dest_dir,	-- направрение взгляда игрока&lt;br /&gt;
	p_dest_level,	-- название уровня, например &amp;quot;L11_Pripyat&amp;quot;&lt;br /&gt;
	p_silent	-- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход)&lt;br /&gt;
)&lt;br /&gt;
	local obj = alife():create(&amp;quot;level_changer&amp;quot;, p_position, p_lvertex_id, p_gvertex_id)&lt;br /&gt;
&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
	obj:STATE_Write(packet)&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	local game_vertex_id 			= packet:r_u16()&lt;br /&gt;
	local cse_alife_object__unk1_f32 	= packet:r_float()&lt;br /&gt;
	local cse_alife_object__unk2_u32 	= packet:r_u32()&lt;br /&gt;
	local level_vertex_id 			= packet:r_u32()&lt;br /&gt;
	local object_flags 			= packet:r_u32()&lt;br /&gt;
	local custom_data 			= packet:r_stringZ()&lt;br /&gt;
	local story_id 				= packet:r_u32()&lt;br /&gt;
	local spawn_story_id			= packet:r_u32()&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	local shape_count 			= packet:r_u8()&lt;br /&gt;
	for i=1,shape_count do&lt;br /&gt;
		local shape_type 		= packet:r_u8()&lt;br /&gt;
		if shape_type == 0 then&lt;br /&gt;
			-- sphere&lt;br /&gt;
			local center 		= packet:r_vec3()&lt;br /&gt;
			local radius 		= packet:r_float()&lt;br /&gt;
		else&lt;br /&gt;
			-- box&lt;br /&gt;
			local axis_x_x = packet:r_float()&lt;br /&gt;
			local axis_x_y = packet:r_float()&lt;br /&gt;
			local axis_x_z = packet:r_float()&lt;br /&gt;
			local axis_y_x = packet:r_float()&lt;br /&gt;
			local axis_y_y = packet:r_float()&lt;br /&gt;
			local axis_y_z = packet:r_float()&lt;br /&gt;
			local axis_z_x = packet:r_float()&lt;br /&gt;
			local axis_z_y = packet:r_float()&lt;br /&gt;
			local axis_z_z = packet:r_float()&lt;br /&gt;
			local offset_x = packet:r_float()&lt;br /&gt;
			local offset_y = packet:r_float()&lt;br /&gt;
			local offset_z = packet:r_float()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	local restrictor_type 			= packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_level_changer&lt;br /&gt;
	local dest_game_vertex_id		= packet:r_u16()  &lt;br /&gt;
	local dest_level_vertex_id 		= packet:r_u32()  &lt;br /&gt;
	local dest_position 			= packet:r_vec3()&lt;br /&gt;
	local dest_direction 			= packet:r_vec3()&lt;br /&gt;
	local dest_level_name 			= packet:r_stringZ()&lt;br /&gt;
	local dest_graph_point 			= packet:r_stringZ()&lt;br /&gt;
	local silent_mode 			= packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	packet:w_begin(game_vertex_id)			-- game_vertex_id&lt;br /&gt;
	packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
	packet:w_u32(cse_alife_object__unk2_u32) &lt;br /&gt;
	packet:w_u32(level_vertex_id)			-- level_vertex_id&lt;br /&gt;
	packet:w_u32( bit_not(193) )			-- object_flags = -193 = 0xFFFFFF3E&lt;br /&gt;
	packet:w_stringZ(custom_data)&lt;br /&gt;
	packet:w_u32(p_story_id)			-- story_id&lt;br /&gt;
	packet:w_u32(spawn_story_id)&lt;br /&gt;
&lt;br /&gt;
	packet:w_u8(1)			-- количество фигур&lt;br /&gt;
--		packet:w_u8(0)			-- тип фигуры: сфера&lt;br /&gt;
--		packet:w_vec3(vector():set(0, 0, 0))  -- sphere_center&lt;br /&gt;
--		packet:w_float(3.0)&lt;br /&gt;
	packet:w_u8(1)			-- тип фигуры: box&lt;br /&gt;
	packet:w_float(2)	   -- axis_x_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_x&lt;br /&gt;
	packet:w_float(4)	   -- axis_y_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_y&lt;br /&gt;
	packet:w_float(4)	   -- axis_z_z&lt;br /&gt;
	packet:w_float(0)	   -- offset_x&lt;br /&gt;
	packet:w_float(0)	   -- offset_y&lt;br /&gt;
	packet:w_float(0)          -- offset_z&lt;br /&gt;
&lt;br /&gt;
	packet:w_u8(3)	 	   -- restrictor_type&lt;br /&gt;
&lt;br /&gt;
	packet:w_u16(p_dest_gv)			-- destination game_vertex_id&lt;br /&gt;
	packet:w_u32(p_dest_lv)			-- destination level_vertex_id&lt;br /&gt;
	packet:w_vec3(p_dest_pos)		-- destination position&lt;br /&gt;
	packet:w_vec3(p_dest_dir)		-- destination direction (направление взгляда)&lt;br /&gt;
	packet:w_stringZ(p_dest_level)		-- destination level name&lt;br /&gt;
	packet:w_stringZ(&amp;quot;start_actor_99&amp;quot;)	-- some string, always const&lt;br /&gt;
	packet:w_u8(p_silent)			-- 1 for silent level changing&lt;br /&gt;
&lt;br /&gt;
	packet:r_seek(0)&lt;br /&gt;
	obj:STATE_Read(packet, packet:w_tell())&lt;br /&gt;
&lt;br /&gt;
--	news_manager.send_tip(db.actor, &amp;quot;LC creation finished&amp;quot;, nil, nil, 30000)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Часть 2. '''Создание точек перехода''' ==&lt;br /&gt;
&lt;br /&gt;
Теперь следует написать функции создания нужных точек перехода и подключить их к игре. Сами функции просты (тоже в файл '''_freeplay_sa.script''')&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function exit_monolit()&lt;br /&gt;
	if (not has_alife_info(&amp;quot;freeplay_activated1&amp;quot;)) then&lt;br /&gt;
		create_level_changer(11410, vector():set(-13.26, 47.71, 46.57), 200, 2417,&lt;br /&gt;
			162109,&lt;br /&gt;
                        2384,&lt;br /&gt;
			vector():set( 375.615, 0.224, 27.737 ),&lt;br /&gt;
			vector():set(     0.0, 0.0  ,  0.0 ),&lt;br /&gt;
			&amp;quot;L12_Stancia&amp;quot;,&lt;br /&gt;
			1)&lt;br /&gt;
	&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;freeplay_activated1&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	create_chaes2pripyat_exit()&lt;br /&gt;
&lt;br /&gt;
	-- актер перебрасывается в level_changer, возвращающий его на ЧАЭС, ко входу в бункер&lt;br /&gt;
	db.actor:set_actor_position( vector():set(-13.26, 47.71, 46.57) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function refuze_o_sozn()&lt;br /&gt;
	if (not has_alife_info(&amp;quot;freeplay_activated2&amp;quot;)) then&lt;br /&gt;
		create_level_changer(21410, vector():set(946.872, 6.0, 167.66), 240852, 2637,&lt;br /&gt;
			472710,&lt;br /&gt;
			2280,&lt;br /&gt;
			vector():set( 1062.15, -0.0982, -3.512 ),&lt;br /&gt;
			vector():set(    0.0 ,  0.0   , -1.0 ),&lt;br /&gt;
			&amp;quot;L12_Stancia&amp;quot;,&lt;br /&gt;
			1)&lt;br /&gt;
	&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;freeplay_activated2&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	create_chaes2pripyat_exit()&lt;br /&gt;
&lt;br /&gt;
	-- актер перебрасывается в level_changer, возвращающий его к правым воротам ЧАЭС&lt;br /&gt;
	db.actor:set_actor_position( vector():set(946.872, 6.0, 167.66) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function create_chaes2pripyat_exit()&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	if (not has_alife_info(	&amp;quot;exit_chaes2pripyat_created&amp;quot; )) then&lt;br /&gt;
		create_level_changer(31410, vector():set( 917.35, 0.419, -316.35 ), 403866, 2401,&lt;br /&gt;
			73868,&lt;br /&gt;
			2117,&lt;br /&gt;
			vector():set( 31.3, 3.0, 240.0 ),&lt;br /&gt;
			vector():set(  0.0, 0.0,  -1.0 ),&lt;br /&gt;
			&amp;quot;L11_Pripyat&amp;quot;,&lt;br /&gt;
			0)&lt;br /&gt;
&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;exit_chaes2pripyat_created&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция '''exit_monolit''' создает «тихий» переход на уровень ЧАЭС-1 и обычный - в начале уровня ЧАЭС-1 для возврата в Припять, после чего перебрасывает актера прямо внутрь созданного перехода. Функция '''refuze_o_sozn''' делает тоже самое, только игрок появляется перед воротами в правом верхем углу карты (мне кажется, что так более логично). Все телепорты защищаются уникальными info_portions, дабы избежать их повторного создания, ведь игрок может захотеть «закончить» игру несколько раз.&lt;br /&gt;
&lt;br /&gt;
Теперь подключение.&lt;br /&gt;
Во-первых надо добавить новые info-portions. Я решил не изменять оригинальные файлы игры, а сделал для них (ну и для других тоже) отдельный файл&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		config\gameplay\_info_sa.xml&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
следующего вида:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;windows-1251&amp;quot; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;freeplay_activated1&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;freeplay_activated2&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;exit_chaes2pripyat_created&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/game_information_portions&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в этот файл можно будет добавлять новые info_portion, которые вы будете использовать в своих сюжетах.&lt;br /&gt;
Подключается этот файл в system.ltx в секции «info_portions»:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[info_portions]&lt;br /&gt;
;список xml файлов, содержащих info_portions&lt;br /&gt;
files = _info_sa, info_portions, ....................&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Кстати, именно так я рекомендую добавлять новые диалоги и новых персонажей. Это упростит процессы совмещения модов и аддонов.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Следующий шаг - подключение наших скриптов к игре. Для этого откройте файл &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		config\ui\ui_movies.xml&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
найдите элементы «''mov_desire_''» (их пять, по количеству ложных концовок игры - все варианты общения с Монолитом). Внутри каждого элемента есть дочерние элементы «''function_on_stop''», которые задают функцию, запускающуюся сразу после ролика. Стандартное содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Функция '''xr_effects.game_credits''' запускает финальные титры. Именно ее и нужно заменить на вызов нашей функции _freeplay_sa.exit_monolit. Вот что должно получиться:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		&amp;lt;function_on_stop&amp;gt;_freeplay_sa.exit_monolit&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;!-- original:	&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;  --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''Старый элемент я советую не удалять, а закомментировать.''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чуть ниже «''mov_desire_5''» находится тэг ролика для концовки «Присоединение к О-Сознанию». Его мы трогать не будем - Меченый станет медузой. А вот после него - тэг для ролика «Отказ от О-Сознания»: «''mov_refuse_osoznanie''». Функцию завершения в нем заменим следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		&amp;lt;function_on_stop&amp;gt;_freeplay_sa.refuze_o_sozn&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;!-- original:	&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;  --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно запускать и, если есть сохранения перед монолитом и/или о-сознанием, тестировать. Первые переходы срабатывают «тихо» - запрос на смену уровня не выдается (в параметре p_silent задана 1). До перехода в Припять можно успеть добежать, пока не сработал выброс... Но это как-то неправильно, выброс надо остановить (он же произошел, пока мы были внутри станции). «По-честному» (скриптом, без модификации ''all.spawn'') таймер выброса отключить не получится, но зато выброс можно подавить небольшим «хаком». Найдите файл xr_logic.script, а в нем - функцию '''switch_to_section'''. Ее нужно модифицировать следующим образом:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
-- Выполняет переключение на указанную секцию, если задана.&lt;br /&gt;
-- Если section == nil, остается работать старая секция.&lt;br /&gt;
function switch_to_section(npc, st, section)&lt;br /&gt;
  if section == nil or section == &amp;quot;&amp;quot; then&lt;br /&gt;
    return false&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- 15.03.2008 by SA:&lt;br /&gt;
  -- отключает &amp;quot;смертельные зоны&amp;quot; на ЧАЭС после запуска режима FREEPLAY&lt;br /&gt;
  -- 	таймер не отключается, но сам &amp;quot;выброс&amp;quot; не происходит&lt;br /&gt;
  if (section == &amp;quot;sr_aes_deadzone&amp;quot;) then&lt;br /&gt;
	if (has_alife_info(&amp;quot;freeplay_activated1&amp;quot;) or has_alife_info(&amp;quot;freeplay_activated2&amp;quot;)) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  ... далее без изменений ...&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данный способ оставляет висящий на нулях таймер и все эффекты начала выброса, но сам «''выброс''» отключается.&lt;br /&gt;
&lt;br /&gt;
И последнее: переход ЧАЭС1-Припять необходимо отметить на карте. Для этого существует вполне «легальный» механизм. Находим файл '''level_tasks.script''' и в конце функции '''add_lchanger_location''' дописываем следующее:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-- aes&lt;br /&gt;
obj = sim:story_object(31410)&lt;br /&gt;
if obj then&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;to_pripyat&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь 31410 - story_id нашего level_changer, который создается нашей функцией '''create_chaes2pripyat_exit'''.&lt;br /&gt;
&lt;br /&gt;
На этом пока все (мелкие огрехи типа направления взгляда игрока после смены уровня исправлю позже).&lt;br /&gt;
Прошу тестировать и дополнять.&lt;br /&gt;
&lt;br /&gt;
С уважением, sarthur.&lt;br /&gt;
&lt;br /&gt;
== Дополняет авторы: vllzl ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
«По-честному» (скриптом, без модификации ''all.spawn'') таймер выброса отключить не получится.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно удалить таймер скриптом (удаляет рестриктор из игры)&lt;br /&gt;
Для этого в начале всех функций в sr_timer.script и sr_aes_deadzone.script написать:&lt;br /&gt;
&amp;lt;code&amp;gt;if not has_alife_info(&amp;quot;freeplay_activated1&amp;quot;) or (&amp;quot;freeplay_activated2&amp;quot;) then&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Не забываем поставить второе end в конце функции(особенность Lua).&lt;br /&gt;
&lt;br /&gt;
Удалит таймер и выброс из игры во фриплее. Vllzl&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8</id>
		<title>SoC. Создание проводника между локациями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8"/>
				<updated>2012-06-03T10:46:41Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: /* Реализация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Левел-чейнджер ==&lt;br /&gt;
Мы создадим левел-чейнджер на месте ГГ. Наш диалог создаст переход и ГГ попадет куда угодно.&lt;br /&gt;
== Реализация ==&lt;br /&gt;
Вы уже создали диалоги, если нет - статья [[Создание диалогов]]. Ниже есть функции создающие левел-чейнджер. Их ОЧЕНЬ много (на любой вкус):&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function create_level_changer(&lt;br /&gt;
	p_story_id,	-- STORY_ID нового level_changer (понадобится нам позже)&lt;br /&gt;
	p_position,	-- вектор, координаты точки, в которой будет располагаться центр нового level_changer&lt;br /&gt;
	p_lvertex_id,	-- level_vertext_id  - идентифицируют уровень, на котором будет создан level_changer&lt;br /&gt;
	p_gvertex_id,	-- game_vertext_id   	&lt;br /&gt;
 &lt;br /&gt;
	p_dest_lv,	-- level_vertex_id   - идентифицируют уровень, на который level_changer будет перебрасывать игрока &lt;br /&gt;
	p_dest_gv,	-- game_vertex_id&lt;br /&gt;
	p_dest_pos,	-- координаты точки, в которой на новом уровне окажется игрок&lt;br /&gt;
	p_dest_dir,	-- направрение взгляда игрока&lt;br /&gt;
	p_dest_level,	-- название уровня, например &amp;quot;L11_Pripyat&amp;quot;&lt;br /&gt;
	p_silent	-- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход)&lt;br /&gt;
)&lt;br /&gt;
	local obj = alife():create(&amp;quot;level_changer&amp;quot;, p_position, p_lvertex_id, p_gvertex_id)&lt;br /&gt;
 &lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
	obj:STATE_Write(packet)&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	local game_vertex_id 			= packet:r_u16()&lt;br /&gt;
	local cse_alife_object__unk1_f32 	= packet:r_float()&lt;br /&gt;
	local cse_alife_object__unk2_u32 	= packet:r_u32()&lt;br /&gt;
	local level_vertex_id 			= packet:r_u32()&lt;br /&gt;
	local object_flags 			= packet:r_u32()&lt;br /&gt;
	local custom_data 			= packet:r_stringZ()&lt;br /&gt;
	local story_id 				= packet:r_u32()&lt;br /&gt;
	local spawn_story_id			= packet:r_u32()&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	local shape_count 			= packet:r_u8()&lt;br /&gt;
	for i=1,shape_count do&lt;br /&gt;
		local shape_type 		= packet:r_u8()&lt;br /&gt;
		if shape_type == 0 then&lt;br /&gt;
			-- sphere&lt;br /&gt;
			local center 		= packet:r_vec3()&lt;br /&gt;
			local radius 		= packet:r_float()&lt;br /&gt;
		else&lt;br /&gt;
			-- box&lt;br /&gt;
			local axis_x_x = packet:r_float()&lt;br /&gt;
			local axis_x_y = packet:r_float()&lt;br /&gt;
			local axis_x_z = packet:r_float()&lt;br /&gt;
			local axis_y_x = packet:r_float()&lt;br /&gt;
			local axis_y_y = packet:r_float()&lt;br /&gt;
			local axis_y_z = packet:r_float()&lt;br /&gt;
			local axis_z_x = packet:r_float()&lt;br /&gt;
			local axis_z_y = packet:r_float()&lt;br /&gt;
			local axis_z_z = packet:r_float()&lt;br /&gt;
			local offset_x = packet:r_float()&lt;br /&gt;
			local offset_y = packet:r_float()&lt;br /&gt;
			local offset_z = packet:r_float()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	local restrictor_type 			= packet:r_u8()&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_level_changer&lt;br /&gt;
	local dest_game_vertex_id		= packet:r_u16()  &lt;br /&gt;
	local dest_level_vertex_id 		= packet:r_u32()  &lt;br /&gt;
	local dest_position 			= packet:r_vec3()&lt;br /&gt;
	local dest_direction 			= packet:r_vec3()&lt;br /&gt;
	local dest_level_name 			= packet:r_stringZ()&lt;br /&gt;
	local dest_graph_point 			= packet:r_stringZ()&lt;br /&gt;
	local silent_mode 			= packet:r_u8()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
	packet:w_begin(game_vertex_id)			-- game_vertex_id&lt;br /&gt;
	packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
	packet:w_u32(cse_alife_object__unk2_u32) &lt;br /&gt;
	packet:w_u32(level_vertex_id)			-- level_vertex_id&lt;br /&gt;
	packet:w_u32( bit_not(193) )			-- object_flags = -193 = 0xFFFFFF3E&lt;br /&gt;
	packet:w_stringZ(custom_data)&lt;br /&gt;
	packet:w_u32(p_story_id)			-- story_id&lt;br /&gt;
	packet:w_u32(spawn_story_id)&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u8(1)			-- количество фигур&lt;br /&gt;
--		packet:w_u8(0)			-- тип фигуры: сфера&lt;br /&gt;
--		packet:w_vec3(vector():set(0, 0, 0))  -- sphere_center&lt;br /&gt;
--		packet:w_float(3.0)&lt;br /&gt;
	packet:w_u8(1)			-- тип фигуры: box&lt;br /&gt;
	packet:w_float(2)	   -- axis_x_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_x&lt;br /&gt;
	packet:w_float(4)	   -- axis_y_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_y&lt;br /&gt;
	packet:w_float(4)	   -- axis_z_z&lt;br /&gt;
	packet:w_float(0)	   -- offset_x&lt;br /&gt;
	packet:w_float(0)	   -- offset_y&lt;br /&gt;
	packet:w_float(0)          -- offset_z&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u8(3)	 	   -- restrictor_type&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u16(p_dest_gv)			-- destination game_vertex_id&lt;br /&gt;
	packet:w_s32(p_dest_lv)			-- destination level_vertex_id&lt;br /&gt;
	packet:w_vec3(p_dest_pos)		-- destination position&lt;br /&gt;
	packet:w_vec3(p_dest_dir)		-- destination direction (направление взгляда)&lt;br /&gt;
	packet:w_stringZ(p_dest_level)		-- destination level name&lt;br /&gt;
	packet:w_stringZ(&amp;quot;start_actor_02&amp;quot;)	-- some string, always const&lt;br /&gt;
	packet:w_u8(p_silent)			-- 1 for silent level changing&lt;br /&gt;
 &lt;br /&gt;
	packet:r_seek(0)&lt;br /&gt;
	obj:STATE_Read(packet, packet:w_tell())&lt;br /&gt;
 level.add_pp_effector (&amp;quot;teleport.ppe&amp;quot;, 2006, false)&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function exit_as()	&lt;br /&gt;
    	create_level_changer(11077, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	28719,&lt;br /&gt;
			            1758,&lt;br /&gt;
			            vector():set(-317.23675537109,-26.327833175659,55.278633117676),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_as2()	&lt;br /&gt;
    	create_level_changer(11078, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	66343,&lt;br /&gt;
			            1786,&lt;br /&gt;
			            vector():set(-274.62121582031,-27.297189712524,239.00979614258),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_as3()	&lt;br /&gt;
    	create_level_changer(11079, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	273147,&lt;br /&gt;
			            1821,&lt;br /&gt;
			            vector():set(-33.368682861328,-20.897382736206,379.58074951172),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_as4()	&lt;br /&gt;
    	create_level_changer(11080, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	83694,&lt;br /&gt;
			            1852,&lt;br /&gt;
			            vector():set(-243.89454650879,-0.28634393215179,435.28894042969),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_bunker()	&lt;br /&gt;
    	create_level_changer(11085, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	7807,&lt;br /&gt;
			            2773,&lt;br /&gt;
			            vector():set(8.3457946777344,-23.525426864624,19.003190994263),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l10u_bunker&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka()	&lt;br /&gt;
		create_level_changer(11041, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	127101,&lt;br /&gt;
			            351,&lt;br /&gt;
			            vector():set(-77.325019836426,-3.660080909729,195.34251403809),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka2()	&lt;br /&gt;
		create_level_changer(11042, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	1201,&lt;br /&gt;
			            260,&lt;br /&gt;
			            vector():set(-289.04534912109,-6.6783475875854,-178.82406616211),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka3()	&lt;br /&gt;
		create_level_changer(11043, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	344517,&lt;br /&gt;
			            401,&lt;br /&gt;
			            vector():set(200.77691650391,-0.638019323349,-145.20561218262),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka4()	&lt;br /&gt;
		create_level_changer(11044, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	284570,&lt;br /&gt;
			            374,&lt;br /&gt;
			            vector():set(122.61166381836,-4.2376079559326,153.47959899902),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka5()	&lt;br /&gt;
		create_level_changer(11045, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	324917,&lt;br /&gt;
			            384,&lt;br /&gt;
			            vector():set(173.82795715332,-0.30577194690704,51.149074554443),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka6()	&lt;br /&gt;
		create_level_changer(11046, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	311456,&lt;br /&gt;
			            385,&lt;br /&gt;
			            vector():set(97.819366455078,15.575645446777,31.107891082764),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka7()	&lt;br /&gt;
		create_level_changer(11047, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	166216,&lt;br /&gt;
			            332,&lt;br /&gt;
			            vector():set(-49.738338470459,20.034204483032,115.88290405273),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka8()	&lt;br /&gt;
		create_level_changer(11048, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	2848,&lt;br /&gt;
			            314,&lt;br /&gt;
			            vector():set(-277.18438720703,0.42264106869698,26.608871459961),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka9()	&lt;br /&gt;
		create_level_changer(11049, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	27161,&lt;br /&gt;
			            308,&lt;br /&gt;
			            vector():set(-204.31503295898,0.77477610111237,-14.08620929718),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka10()	&lt;br /&gt;
		create_level_changer(11050, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	117566,&lt;br /&gt;
			            299,&lt;br /&gt;
			            vector():set(-43.285057067871,22.38338470459,-109.06379699707),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka11()	&lt;br /&gt;
		create_level_changer(11051, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	123627,&lt;br /&gt;
			            268,&lt;br /&gt;
			            vector():set(-82.571281433105,-2.6017231941223,-208.38046264648),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka12()	&lt;br /&gt;
		create_level_changer(11052, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	272734,&lt;br /&gt;
			            263,&lt;br /&gt;
			            vector():set(108.47253417969,-2.2334003448486,-264.66119384766),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_pripyat()	&lt;br /&gt;
		create_level_changer(11086, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	260269,&lt;br /&gt;
			            2219,&lt;br /&gt;
			            vector():set(190.84159851074,2.8052725791931,212.05661010742),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l11_pripyat&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;exit_pripyat&amp;quot;)				&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_pripyat2()	&lt;br /&gt;
		create_level_changer(11087, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	7817,&lt;br /&gt;
			            2216,&lt;br /&gt;
			            vector():set(-112.93630981445,2.8031325340271,97.108512878418),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l11_pripyat&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;exit_pripyat2&amp;quot;)				&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_x18()	&lt;br /&gt;
		create_level_changer(11056, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	4086,&lt;br /&gt;
			            1155,&lt;br /&gt;
			            vector():set(5.0796270370483,-12.429841995239,15.65408706665),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l04u_labx18&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_td()	&lt;br /&gt;
		create_level_changer(11057, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	212105,&lt;br /&gt;
			            1025,&lt;br /&gt;
			            vector():set(31.025503158569,-2.9186296463013,-18.474792480469),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l04_darkvalley&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_td2()	&lt;br /&gt;
		create_level_changer(11058, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	377579,&lt;br /&gt;
			            938,&lt;br /&gt;
			            vector():set(177.20614624023,6.6501698493958,-368.2509765625),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l04_darkvalley&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon()	&lt;br /&gt;
		create_level_changer(11026, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	557888,&lt;br /&gt;
			            245,&lt;br /&gt;
			            vector():set(288.75579833984,6.6381821632385,334.9274597168),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon2()	&lt;br /&gt;
		create_level_changer(11027, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	220208,&lt;br /&gt;
			            16,&lt;br /&gt;
			            vector():set(-56.72008895874,-29.649417877197,-352.75286865234),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon3()	&lt;br /&gt;
		create_level_changer(11028, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	314641,&lt;br /&gt;
			            198,&lt;br /&gt;
			            vector():set(33.526428222656,4.8442959785461,406.35510253906),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon4()	&lt;br /&gt;
		create_level_changer(11029, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	326234,&lt;br /&gt;
			            97,&lt;br /&gt;
			            vector():set(43.707790374756,1.604367017746,157.83784484863),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon5()	&lt;br /&gt;
		create_level_changer(11030, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	346954,&lt;br /&gt;
			            97,&lt;br /&gt;
			            vector():set(59.635650634766,19.672622680664,156.50126647949),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon6()	&lt;br /&gt;
		create_level_changer(11031, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	479316,&lt;br /&gt;
			            242,&lt;br /&gt;
			            vector():set(176.90881347656,6.2265067100525,274.12582397461),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon7()	&lt;br /&gt;
		create_level_changer(11032, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	418761,&lt;br /&gt;
			            115,&lt;br /&gt;
			            vector():set(116.21976470947,-7.5939545631409,-16.879535675049),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon8()	&lt;br /&gt;
		create_level_changer(11033, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	71846,&lt;br /&gt;
			            30,&lt;br /&gt;
			            vector():set(-178.17098999023,-29.790063858032,-355.4208984375),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon9()	&lt;br /&gt;
		create_level_changer(11034, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	116591,&lt;br /&gt;
			            19,&lt;br /&gt;
			            vector():set(-138.1682434082,-25.440311431885,-356.09561157227),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon10()	&lt;br /&gt;
		create_level_changer(11035, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	46406,&lt;br /&gt;
			            38,&lt;br /&gt;
			            vector():set(-206.31811523438,-36.486312866211,-275.36505126953),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon11()	&lt;br /&gt;
		create_level_changer(11036, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	34087,&lt;br /&gt;
			            47,&lt;br /&gt;
			            vector():set(-218.33445739746,-19.930738449097,-167.60050964355),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon12()	&lt;br /&gt;
		create_level_changer(11037, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	45951,&lt;br /&gt;
			            58,&lt;br /&gt;
			            vector():set(-207.27334594727,-22.535316467285,-128.54507446289),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon13()	&lt;br /&gt;
		create_level_changer(11038, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	11502,&lt;br /&gt;
			            67,&lt;br /&gt;
			            vector():set(-246.82745361328,-14.313711166382,-17.025833129883),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon14()	&lt;br /&gt;
		create_level_changer(11039, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	143574,&lt;br /&gt;
			            73,&lt;br /&gt;
			            vector():set(-112.90689849854,-8.191520690918,7.4986095428467),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_kordon15()	&lt;br /&gt;
		create_level_changer(11040, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	274973,&lt;br /&gt;
			            108,&lt;br /&gt;
			            vector():set(-1.5780007839203,-17.687986373901,-152.26568603516),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l01_escape&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_radar()	&lt;br /&gt;
		create_level_changer(11081, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	93230,&lt;br /&gt;
			            2081,&lt;br /&gt;
			            vector():set(351.03564453125,-45.688995361328,-201.36804199219),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l10_radar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_radar2()	&lt;br /&gt;
		create_level_changer(11082, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	67978,&lt;br /&gt;
			            1930,&lt;br /&gt;
			            vector():set(304.68270874023,-39.390411376953,-25.789834976196),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l10_radar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_radar3()	&lt;br /&gt;
		create_level_changer(11083, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	14611,&lt;br /&gt;
			            2013,&lt;br /&gt;
			            vector():set(14.053562164307,-1.2424700260162,41.381050109863),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l10_radar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_radar4()	&lt;br /&gt;
		create_level_changer(11084, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	6439,&lt;br /&gt;
			            1960,&lt;br /&gt;
			            vector():set(-12.000325202942,0.37741497159004,-67.812171936035),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l10_radar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;exit_radar4&amp;quot;)				&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_undergraund()	&lt;br /&gt;
		create_level_changer(11088, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	2505,&lt;br /&gt;
			            745,&lt;br /&gt;
			            vector():set(-84.987205505371,-16.462963104248,-60.738975524902),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l03_agr_underground&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_bar()	&lt;br /&gt;
		create_level_changer(11059, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	45474,&lt;br /&gt;
			            1188,&lt;br /&gt;
			            vector():set(193.61143493652,0.097166806459427,71.526657104492),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_bar2()	&lt;br /&gt;
		create_level_changer(11060, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	39883,&lt;br /&gt;
			            1204,&lt;br /&gt;
			            vector():set(175.31533813477,-0.0002819299697876,145.91943359375),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_bar3()	&lt;br /&gt;
		create_level_changer(11061, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	47206,&lt;br /&gt;
			            1270,&lt;br /&gt;
			            vector():set(198.24176025391,3.271665096283,-77.252685546875),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_bar4()	&lt;br /&gt;
		create_level_changer(11062, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	59366,&lt;br /&gt;
			            1277,&lt;br /&gt;
			            vector():set(232.64491271973,5.1447978019714,-113.61502838135),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_bar5()	&lt;br /&gt;
		create_level_changer(11063, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	68763,&lt;br /&gt;
			            1274,&lt;br /&gt;
			            vector():set(276.64755249023,0.055086404085159,-66.742523193359),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_bar6()	&lt;br /&gt;
		create_level_changer(11064, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	35860,&lt;br /&gt;
			            1238,&lt;br /&gt;
			            vector():set(128.80438232422,-4.8249382972717,16.76756477356),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_bar7()	&lt;br /&gt;
		create_level_changer(11065, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	33903,&lt;br /&gt;
			            1239,&lt;br /&gt;
			            vector():set(116.09830474854,-5.3052234649658,12.649393081665),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l05_bar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_agroprom()	&lt;br /&gt;
		create_level_changer(11053, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	428448,&lt;br /&gt;
			            498,&lt;br /&gt;
			            vector():set(253.95002746582,-0.20055566728115,76.619018554688),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l03_agroprom&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_agroprom2()	&lt;br /&gt;
		create_level_changer(11054, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	117939,&lt;br /&gt;
			            523,&lt;br /&gt;
			            vector():set(-122.60626983643,10.350003242493,164.23361206055),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l03_agroprom&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_agroprom3()	&lt;br /&gt;
		create_level_changer(11055, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	103987,&lt;br /&gt;
			            621,&lt;br /&gt;
			            vector():set(-135.0357208252,4.9933753013611,-196.9232635498),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l03_agroprom&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar1()	&lt;br /&gt;
		create_level_changer(11066, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	6635,&lt;br /&gt;
			            1486,&lt;br /&gt;
			            vector():set(-98.555587768555,-12.03422164917,-263.20428466797),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar2()	&lt;br /&gt;
		create_level_changer(11067, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	22009,&lt;br /&gt;
			            1454,&lt;br /&gt;
			            vector():set(-49.516319274902,-12.687213897705,-263.55654907227),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar3()	&lt;br /&gt;
		create_level_changer(11068, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	85543,&lt;br /&gt;
			            1440,&lt;br /&gt;
			            vector():set(87.165092468262,1.5326626300812,-137.15473937988),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar4()	&lt;br /&gt;
		create_level_changer(11069, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	98895,&lt;br /&gt;
			            1520,&lt;br /&gt;
			            vector():set(110.79859924316,0.51710104942322,67.085777282715),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar5()	&lt;br /&gt;
		create_level_changer(11070, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	93237,&lt;br /&gt;
			            1515,&lt;br /&gt;
			            vector():set(102.05886077881,-0.055661827325821,-38.264953613281),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar6()	&lt;br /&gt;
		create_level_changer(11071, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	50739,&lt;br /&gt;
			            1505,&lt;br /&gt;
			            vector():set(23.551870346069,-3.417268037796,-50.092147827148),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar7()	&lt;br /&gt;
		create_level_changer(11072, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	57034,&lt;br /&gt;
			            1445,&lt;br /&gt;
			            vector():set(35.566432952881,0.036594957113266,19.930288314819),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar8()	&lt;br /&gt;
		create_level_changer(11073, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	87168,&lt;br /&gt;
			            1514,&lt;br /&gt;
			            vector():set(90.726051330566,0.028770864009857,-2.0428421497345),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar9()	&lt;br /&gt;
		create_level_changer(11074, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	38250,&lt;br /&gt;
			            1525,&lt;br /&gt;
			            vector():set(-2.272828578949,0.31553617119789,-12.611492156982),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar10()	&lt;br /&gt;
		create_level_changer(11075, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	39736,&lt;br /&gt;
			            1525,&lt;br /&gt;
			            vector():set(0.41521853208542,20.732145309448,-11.2778673172),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_yantar11()	&lt;br /&gt;
		create_level_changer(11076, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	53157,&lt;br /&gt;
			            1480,&lt;br /&gt;
			            vector():set(28.687835693359,-5.943422794342,-272.9033203125),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l08_yantar&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt1()	&lt;br /&gt;
		create_level_changer(11089, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	15216,&lt;br /&gt;
			            1391,&lt;br /&gt;
			            vector():set(-236.99816894531,9.3585262298584,56.257476806641),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt2()	&lt;br /&gt;
		create_level_changer(11090, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	8119,&lt;br /&gt;
			            1382,&lt;br /&gt;
			            vector():set(-254.47462463379,-5.8917918205261,88.748420715332),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt3()	&lt;br /&gt;
		create_level_changer(11091, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	4658,&lt;br /&gt;
			            1379,&lt;br /&gt;
			            vector():set(-268.44509887695,-6.0012273788452,106.45835113525),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt4()	&lt;br /&gt;
		create_level_changer(11092, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	7269,&lt;br /&gt;
			            1338,&lt;br /&gt;
			            vector():set(-282.68493652344,-0.0055593848228455,203.75721740723),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt5()	&lt;br /&gt;
		create_level_changer(11093, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	32043,&lt;br /&gt;
			            1329,&lt;br /&gt;
			            vector():set(-173.43870544434,-0.0011672079563141,192.25354003906),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt6()	&lt;br /&gt;
		create_level_changer(11094, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	38957,&lt;br /&gt;
			            1328,&lt;br /&gt;
			            vector():set(-149.55770874023,0.096051603555679,179.93653869629),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt7()	&lt;br /&gt;
		create_level_changer(11095, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	22437,&lt;br /&gt;
			            1370,&lt;br /&gt;
			            vector():set(-217.82315063477,1.935809969902,88.06103515625),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt8()	&lt;br /&gt;
		create_level_changer(11096, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	32382,&lt;br /&gt;
			            1322,&lt;br /&gt;
			            vector():set(-169.39688110352,-0.0033434927463531,82.040466308594),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt9()	&lt;br /&gt;
		create_level_changer(11097, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	36070,&lt;br /&gt;
			            1321,&lt;br /&gt;
			            vector():set(-159.36485290527,-0.0026704967021942,99.839752197266),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt10()	&lt;br /&gt;
		create_level_changer(11098, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	27318,&lt;br /&gt;
			            1326,&lt;br /&gt;
			            vector():set(-192.9693145752,-0.0026823878288269,119.04988098145),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_dt11()	&lt;br /&gt;
		create_level_changer(11099, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	46578,&lt;br /&gt;
			            1421,&lt;br /&gt;
			            vector():set(-89.581573486328,3.1074571609497,148.33610534668),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l06_rostok&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Комментарии к функциям есть в первой функции.&lt;br /&gt;
Активировать через диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;название_скрипта.название_функции_без_скобок&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Источник ==&lt;br /&gt;
В моде Hand Teleport на любой вкус.&lt;br /&gt;
&lt;br /&gt;
== Статьи автор ==&lt;br /&gt;
vllzl&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8</id>
		<title>SoC. Создание проводника между локациями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8"/>
				<updated>2012-06-03T10:29:35Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Левел-чейнджер == Мы создадим левел-чейнджер на месте ГГ. Наш диалог создаст переход и ГГ ...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Левел-чейнджер ==&lt;br /&gt;
Мы создадим левел-чейнджер на месте ГГ. Наш диалог создаст переход и ГГ попадет куда угодно.&lt;br /&gt;
== Реализация ==&lt;br /&gt;
Вы уже создали диалоги, если нет - статья [[Создание диалогов]]. Ниже есть функции создающие левел-чейнджер. Их ОЧЕНЬ много (на любой вкус):&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function create_level_changer(&lt;br /&gt;
	p_story_id,	-- STORY_ID нового level_changer (понадобится нам позже)&lt;br /&gt;
	p_position,	-- вектор, координаты точки, в которой будет располагаться центр нового level_changer&lt;br /&gt;
	p_lvertex_id,	-- level_vertext_id  - идентифицируют уровень, на котором будет создан level_changer&lt;br /&gt;
	p_gvertex_id,	-- game_vertext_id   	&lt;br /&gt;
 &lt;br /&gt;
	p_dest_lv,	-- level_vertex_id   - идентифицируют уровень, на который level_changer будет перебрасывать игрока &lt;br /&gt;
	p_dest_gv,	-- game_vertex_id&lt;br /&gt;
	p_dest_pos,	-- координаты точки, в которой на новом уровне окажется игрок&lt;br /&gt;
	p_dest_dir,	-- направрение взгляда игрока&lt;br /&gt;
	p_dest_level,	-- название уровня, например &amp;quot;L11_Pripyat&amp;quot;&lt;br /&gt;
	p_silent	-- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход)&lt;br /&gt;
)&lt;br /&gt;
	local obj = alife():create(&amp;quot;level_changer&amp;quot;, p_position, p_lvertex_id, p_gvertex_id)&lt;br /&gt;
 &lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
	obj:STATE_Write(packet)&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	local game_vertex_id 			= packet:r_u16()&lt;br /&gt;
	local cse_alife_object__unk1_f32 	= packet:r_float()&lt;br /&gt;
	local cse_alife_object__unk2_u32 	= packet:r_u32()&lt;br /&gt;
	local level_vertex_id 			= packet:r_u32()&lt;br /&gt;
	local object_flags 			= packet:r_u32()&lt;br /&gt;
	local custom_data 			= packet:r_stringZ()&lt;br /&gt;
	local story_id 				= packet:r_u32()&lt;br /&gt;
	local spawn_story_id			= packet:r_u32()&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	local shape_count 			= packet:r_u8()&lt;br /&gt;
	for i=1,shape_count do&lt;br /&gt;
		local shape_type 		= packet:r_u8()&lt;br /&gt;
		if shape_type == 0 then&lt;br /&gt;
			-- sphere&lt;br /&gt;
			local center 		= packet:r_vec3()&lt;br /&gt;
			local radius 		= packet:r_float()&lt;br /&gt;
		else&lt;br /&gt;
			-- box&lt;br /&gt;
			local axis_x_x = packet:r_float()&lt;br /&gt;
			local axis_x_y = packet:r_float()&lt;br /&gt;
			local axis_x_z = packet:r_float()&lt;br /&gt;
			local axis_y_x = packet:r_float()&lt;br /&gt;
			local axis_y_y = packet:r_float()&lt;br /&gt;
			local axis_y_z = packet:r_float()&lt;br /&gt;
			local axis_z_x = packet:r_float()&lt;br /&gt;
			local axis_z_y = packet:r_float()&lt;br /&gt;
			local axis_z_z = packet:r_float()&lt;br /&gt;
			local offset_x = packet:r_float()&lt;br /&gt;
			local offset_y = packet:r_float()&lt;br /&gt;
			local offset_z = packet:r_float()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	local restrictor_type 			= packet:r_u8()&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_level_changer&lt;br /&gt;
	local dest_game_vertex_id		= packet:r_u16()  &lt;br /&gt;
	local dest_level_vertex_id 		= packet:r_u32()  &lt;br /&gt;
	local dest_position 			= packet:r_vec3()&lt;br /&gt;
	local dest_direction 			= packet:r_vec3()&lt;br /&gt;
	local dest_level_name 			= packet:r_stringZ()&lt;br /&gt;
	local dest_graph_point 			= packet:r_stringZ()&lt;br /&gt;
	local silent_mode 			= packet:r_u8()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
	packet:w_begin(game_vertex_id)			-- game_vertex_id&lt;br /&gt;
	packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
	packet:w_u32(cse_alife_object__unk2_u32) &lt;br /&gt;
	packet:w_u32(level_vertex_id)			-- level_vertex_id&lt;br /&gt;
	packet:w_u32( bit_not(193) )			-- object_flags = -193 = 0xFFFFFF3E&lt;br /&gt;
	packet:w_stringZ(custom_data)&lt;br /&gt;
	packet:w_u32(p_story_id)			-- story_id&lt;br /&gt;
	packet:w_u32(spawn_story_id)&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u8(1)			-- количество фигур&lt;br /&gt;
--		packet:w_u8(0)			-- тип фигуры: сфера&lt;br /&gt;
--		packet:w_vec3(vector():set(0, 0, 0))  -- sphere_center&lt;br /&gt;
--		packet:w_float(3.0)&lt;br /&gt;
	packet:w_u8(1)			-- тип фигуры: box&lt;br /&gt;
	packet:w_float(2)	   -- axis_x_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_x&lt;br /&gt;
	packet:w_float(4)	   -- axis_y_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_y&lt;br /&gt;
	packet:w_float(4)	   -- axis_z_z&lt;br /&gt;
	packet:w_float(0)	   -- offset_x&lt;br /&gt;
	packet:w_float(0)	   -- offset_y&lt;br /&gt;
	packet:w_float(0)          -- offset_z&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u8(3)	 	   -- restrictor_type&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u16(p_dest_gv)			-- destination game_vertex_id&lt;br /&gt;
	packet:w_s32(p_dest_lv)			-- destination level_vertex_id&lt;br /&gt;
	packet:w_vec3(p_dest_pos)		-- destination position&lt;br /&gt;
	packet:w_vec3(p_dest_dir)		-- destination direction (направление взгляда)&lt;br /&gt;
	packet:w_stringZ(p_dest_level)		-- destination level name&lt;br /&gt;
	packet:w_stringZ(&amp;quot;start_actor_02&amp;quot;)	-- some string, always const&lt;br /&gt;
	packet:w_u8(p_silent)			-- 1 for silent level changing&lt;br /&gt;
 &lt;br /&gt;
	packet:r_seek(0)&lt;br /&gt;
	obj:STATE_Read(packet, packet:w_tell())&lt;br /&gt;
 level.add_pp_effector (&amp;quot;teleport.ppe&amp;quot;, 2006, false)&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function exit_as()	&lt;br /&gt;
    	create_level_changer(11077, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	28719,&lt;br /&gt;
			            1758,&lt;br /&gt;
			            vector():set(-317.23675537109,-26.327833175659,55.278633117676),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_as2()	&lt;br /&gt;
    	create_level_changer(11078, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	66343,&lt;br /&gt;
			            1786,&lt;br /&gt;
			            vector():set(-274.62121582031,-27.297189712524,239.00979614258),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_as3()	&lt;br /&gt;
    	create_level_changer(11079, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	273147,&lt;br /&gt;
			            1821,&lt;br /&gt;
			            vector():set(-33.368682861328,-20.897382736206,379.58074951172),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_as4()	&lt;br /&gt;
    	create_level_changer(11080, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	83694,&lt;br /&gt;
			            1852,&lt;br /&gt;
			            vector():set(-243.89454650879,-0.28634393215179,435.28894042969),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l07_military&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_bunker()	&lt;br /&gt;
    	create_level_changer(11085, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	7807,&lt;br /&gt;
			            2773,&lt;br /&gt;
			            vector():set(8.3457946777344,-23.525426864624,19.003190994263),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l10u_bunker&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka()	&lt;br /&gt;
		create_level_changer(11041, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	127101,&lt;br /&gt;
			            351,&lt;br /&gt;
			            vector():set(-77.325019836426,-3.660080909729,195.34251403809),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka2()	&lt;br /&gt;
		create_level_changer(11042, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	1201,&lt;br /&gt;
			            260,&lt;br /&gt;
			            vector():set(-289.04534912109,-6.6783475875854,-178.82406616211),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka3()	&lt;br /&gt;
		create_level_changer(11043, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	344517,&lt;br /&gt;
			            401,&lt;br /&gt;
			            vector():set(200.77691650391,-0.638019323349,-145.20561218262),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka4()	&lt;br /&gt;
		create_level_changer(11044, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	284570,&lt;br /&gt;
			            374,&lt;br /&gt;
			            vector():set(122.61166381836,-4.2376079559326,153.47959899902),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka5()	&lt;br /&gt;
		create_level_changer(11045, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	324917,&lt;br /&gt;
			            384,&lt;br /&gt;
			            vector():set(173.82795715332,-0.30577194690704,51.149074554443),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka6()	&lt;br /&gt;
		create_level_changer(11046, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	311456,&lt;br /&gt;
			            385,&lt;br /&gt;
			            vector():set(97.819366455078,15.575645446777,31.107891082764),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function exit_svalka7()	&lt;br /&gt;
		create_level_changer(11047, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	166216,&lt;br /&gt;
			            332,&lt;br /&gt;
			            vector():set(-49.738338470459,20.034204483032,115.88290405273),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function exit_svalka8()	&lt;br /&gt;
		create_level_changer(11048, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),	 &lt;br /&gt;
                    	2848,&lt;br /&gt;
			            314,&lt;br /&gt;
			            vector():set(-277.18438720703,0.42264106869698,26.608871459961),	&lt;br /&gt;
                        vector():set(0.0, 0.0, 0.0),	&lt;br /&gt;
						&amp;quot;l02_garbage&amp;quot;,&lt;br /&gt;
                        1)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Комментарии к функциям есть в первой функции.&lt;br /&gt;
Активировать через диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;название_скрипта.название_функции_без_скобок&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Источник ==&lt;br /&gt;
В моде Hand Teleport на любой вкус.&lt;br /&gt;
&lt;br /&gt;
== Статьи автор ==&lt;br /&gt;
vllzl&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9B%D0%B5%D0%BA%D0%B0%D1%80%D1%8C</id>
		<title>SoC. Лекарь</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9B%D0%B5%D0%BA%D0%B0%D1%80%D1%8C"/>
				<updated>2012-06-02T15:48:23Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: /* Скрипты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Условие ==&lt;br /&gt;
Диалоги вы уже создали. Я в этом туторе тока покажу функции.&lt;br /&gt;
&lt;br /&gt;
== Скрипты ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function health(actor, npc)&lt;br /&gt;
local text1 = &amp;quot;Все! Здоров как бюрер теперь!&amp;quot;&lt;br /&gt;
db.actor.health = 1.0 -- прибавим здоровье&lt;br /&gt;
news_manager.send_tip(db.actor, text1, nil, nil, 15000) -- отсылаем СМС о том, что ГГ здоров&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function radiation(actor, npc)&lt;br /&gt;
local text2 = &amp;quot;Выброс!\nИщите глубокую нору (если жить охота)&amp;quot;&lt;br /&gt;
db.actor.radiation = −1.0 -- убавим радиацию&lt;br /&gt;
news_manager.send_tip(db.actor, text2, nil, nil, 15000) -- запугаем эктора СМС-выбросом&lt;br /&gt;
xr_effects.start_small_reject (actor, npc) -- эффект «выброса»&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Пояснение ===&lt;br /&gt;
Выброс можно убрать по желанию. Если вы начинающий модмейкер не трогайте ничего. Не убирайте строки db.actor.health и db.actor.radiation.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9B%D0%B5%D0%BA%D0%B0%D1%80%D1%8C</id>
		<title>SoC. Лекарь</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9B%D0%B5%D0%BA%D0%B0%D1%80%D1%8C"/>
				<updated>2012-06-02T15:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: /* Скрипты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Условие ==&lt;br /&gt;
Диалоги вы уже создали. Я в этом туторе тока покажу функции.&lt;br /&gt;
&lt;br /&gt;
== Скрипты ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function health(actor, npc)&lt;br /&gt;
local text1 = &amp;quot;Все! Здоров как бюрер теперь!&amp;quot;&lt;br /&gt;
db.actor.health = 1.0 — прибавим здоровье&lt;br /&gt;
news_manager.send_tip(db.actor, text1, nil, nil, 15000) — отсылаем СМС о том, что ГГ здоров&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function radiation(actor, npc)&lt;br /&gt;
local text2 = &amp;quot;Выброс!\nИщите глубокую нору (если жить охота)&amp;quot;&lt;br /&gt;
db.actor.radiation = −1.0 — убавим радиацию&lt;br /&gt;
news_manager.send_tip(db.actor, text2, nil, nil, 15000) — запугаем эктора СМС-выбросом&lt;br /&gt;
xr_effects.start_small_reject (actor, npc) — эффект «выброса»&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Пояснение ===&lt;br /&gt;
Выброс можно убрать по желанию. Если вы начинающий модмейкер не трогайте ничего. Не убирайте строки db.actor.health и db.actor.radiation.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9B%D0%B5%D0%BA%D0%B0%D1%80%D1%8C</id>
		<title>SoC. Лекарь</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9B%D0%B5%D0%BA%D0%B0%D1%80%D1%8C"/>
				<updated>2012-06-02T15:46:18Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Условие == Диалоги вы уже создали. Я в этом туторе тока покажу функции.  == Скрипты == &amp;lt;lua&amp;gt; functio...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Условие ==&lt;br /&gt;
Диалоги вы уже создали. Я в этом туторе тока покажу функции.&lt;br /&gt;
&lt;br /&gt;
== Скрипты ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function health(actor, npc)&lt;br /&gt;
local text1 = &amp;quot;Все! Здоров как бюрер теперь!&amp;quot;&lt;br /&gt;
db.actor.health = 1.0 — прибавим здоровье&lt;br /&gt;
news_manager.send_tip(db.actor, text1, nil, nil, 15000) — отсылаем СМС о том, что ГГ здоров&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function radiation(actor, npc)&lt;br /&gt;
local text2 = &amp;quot;Выброс!\nИщите глубокую нору (если жить охота)&amp;quot;&lt;br /&gt;
db.actor.radiation = −1.0 — убавим радиацию&lt;br /&gt;
news_manager.send_tip(db.actor, text2, nil, nil, 15000) — запугаем эктора СМС-выбросом&lt;br /&gt;
xr_effects.start_small_reject (actor, npc) — эффект «выброса»&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
=== Пояснение ===&lt;br /&gt;
Выброс можно убрать по желанию. Если вы начинающий модмейкер не трогайте ничего. Не убирайте строки db.actor.health и db.actor.radiation.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%B4%D1%80%D1%83%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%22%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D0%B2%D1%86%D0%B0%22</id>
		<title>Спавн дружественного &quot;монолитовца&quot;</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%B4%D1%80%D1%83%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%22%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D0%B2%D1%86%D0%B0%22"/>
				<updated>2012-06-02T12:27:44Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Алгоритм == Алгоритм:  1) Спавним через create  2) Меняем relation  == Практика == Открываем xr_effects.scripts...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Алгоритм ==&lt;br /&gt;
Алгоритм:&lt;br /&gt;
&lt;br /&gt;
1) Спавним через create&lt;br /&gt;
&lt;br /&gt;
2) Меняем relation&lt;br /&gt;
&lt;br /&gt;
== Практика ==&lt;br /&gt;
Открываем xr_effects.scripts и в конце дописываем:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function create_monfriend()&lt;br /&gt;
    local npc = alife():create(&amp;quot;pri_monolith_respawn_2&amp;quot;,vector():set(x,y,z),level_vertex_id,game_vertex_id)&lt;br /&gt;
    npc:set_relation (game_object.friend, db.actor)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Также можно сделать нашего монолитовца нейтралом:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function create_monfriend()&lt;br /&gt;
    local npc = alife():create(&amp;quot;pri_monolith_respawn_2&amp;quot;,vector():set(x,y,z),level_vertex_id,game_vertex_id)&lt;br /&gt;
    npc:set_relation (game_object.neutral, db.actor)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С уважением, vllzl!&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81_%D0%BA%D0%B0%D0%BA_%D0%B2_%D0%BC%D0%BE%D0%B4%D0%B0%D1%85</id>
		<title>SoC. Делаем выброс как в модах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81_%D0%BA%D0%B0%D0%BA_%D0%B2_%D0%BC%D0%BE%D0%B4%D0%B0%D1%85"/>
				<updated>2012-06-02T12:09:33Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Сегодня мы создадим выброс.  == Программируем == В папке scripts создаем файл surge_manager.script с таким...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сегодня мы создадим выброс.&lt;br /&gt;
&lt;br /&gt;
== Программируем ==&lt;br /&gt;
В папке scripts создаем файл surge_manager.script с таким содержанием:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function select_surge()&lt;br /&gt;
    -- включаем предварительный эффект выброса&lt;br /&gt;
    xr_effects.start_small_reject (actor, npc)&lt;br /&gt;
&lt;br /&gt;
    -- сделаем чтобы для урона была вероятность&lt;br /&gt;
    if math.random(0, 1001) &amp;lt; 999 then&lt;br /&gt;
&lt;br /&gt;
    -- создаем урон&lt;br /&gt;
    local h = hit()&lt;br /&gt;
    h.direction = vector():set( 1, 0, 0 ) &lt;br /&gt;
    h.impulse = 1 &lt;br /&gt;
    h.draftsman = db.actor &lt;br /&gt;
    h.power = 1 &lt;br /&gt;
    h.type = hit.telepatic&lt;br /&gt;
    db.actor:hit(h)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Вызывать через диалог&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%22%D0%B2%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%22_%D0%B6%D0%B8%D0%B2%D0%BE%D1%82%D0%BD%D1%8B%D1%85</id>
		<title>SoC. Спавн &quot;вырезанных&quot; животных</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%22%D0%B2%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%22_%D0%B6%D0%B8%D0%B2%D0%BE%D1%82%D0%BD%D1%8B%D1%85"/>
				<updated>2012-06-02T11:46:39Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Здравставуйте, с Вами vllzl.  Я вам объявлю сразу, что НИКАКИЕ монстры из игры НЕ убирались. Пр...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здравставуйте, с Вами vllzl.&lt;br /&gt;
&lt;br /&gt;
Я вам объявлю сразу, что НИКАКИЕ монстры из игры НЕ убирались. Просто была закомментирована одна строка в файле m_монстр.ltx. Начнем спавнить бюрера.&lt;br /&gt;
&lt;br /&gt;
== Бюрер ==&lt;br /&gt;
=== Спавним бюрера через create ===&lt;br /&gt;
Ниже привожу код функции, которая спавнит бюрера:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn_burer()&lt;br /&gt;
    local vector = vector():set(x,y,z)  -- подставьте координаты&lt;br /&gt;
    local lvid = level_vertex_id  -- подставьте левел-вертексы&lt;br /&gt;
    local gvid = game_vertex_id  -- подставьте гейм-вертексы&lt;br /&gt;
    alife():create(&amp;quot;m_burer_normal&amp;quot;,vector,lvid,gvid)  -- спавн с использованием наших переменных&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Позднее активируйте через диалог&lt;br /&gt;
&lt;br /&gt;
=== Восстанавливаем бюрера ===&lt;br /&gt;
Открываем config\creatures\m_burer.ltx. Находим в секции [m_burer_e] строку:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;$spawn					= &amp;quot;monsters\old\burer&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Раскомментируйте строку так:&lt;br /&gt;
&amp;lt;code&amp;gt;$spawn					= &amp;quot;monsters\old\burer&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;''Мы убрали точку с запятой''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Автор ==&lt;br /&gt;
[[Участник:vllzl]]&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%A2%D0%A7_%D1%82%D0%B0%D0%BA%D0%B8%D0%BC,_%D0%BA%D0%B0%D0%BA%D0%B8%D0%BC_%D0%BE%D0%BD_%D0%B4%D0%BE%D0%BB%D0%B6%D0%B5%D0%BD_%D0%B1%D1%8B%D1%82%D1%8C</id>
		<title>Делаем ТЧ таким, каким он должен быть</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%A2%D0%A7_%D1%82%D0%B0%D0%BA%D0%B8%D0%BC,_%D0%BA%D0%B0%D0%BA%D0%B8%D0%BC_%D0%BE%D0%BD_%D0%B4%D0%BE%D0%BB%D0%B6%D0%B5%D0%BD_%D0%B1%D1%8B%D1%82%D1%8C"/>
				<updated>2012-06-01T15:47:33Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Проводники == Почему мы должны ходить по Зоне сами? Мы уже все кнопки на клавиатуре стёрли...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Проводники ==&lt;br /&gt;
Почему мы должны ходить по Зоне сами? Мы уже все кнопки на клавиатуре стёрли. Почему нас не может кто-нибудь сопровождать? Реализуем проводника. Сначала:&lt;br /&gt;
&lt;br /&gt;
1) Создаем персонажа.&lt;br /&gt;
&lt;br /&gt;
2) Создаем персонажу диалоги типа &amp;quot;Отведешь меня к Сидоровичу?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Привязываем к диалогам функцию (вставьте в любой скрипт):&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function teleportate(actor, npc)&lt;br /&gt;
    db.actor:stop_talk()  -- закрываем диалог&lt;br /&gt;
    level.add_pp_effector (&amp;quot;teleport.ppe&amp;quot;, 2008, false)  -- чтобы переход небыл резким&lt;br /&gt;
    local a = vector()&lt;br /&gt;
    a.x = x&lt;br /&gt;
    a.y = y&lt;br /&gt;
    a.z = z&lt;br /&gt;
    db.actor:set_actor_position(a)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Отключаем выброс на ЧАЭС ==&lt;br /&gt;
Создаем в папке scripts файл aes_control.script. В него пишем:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_aes_timer()&lt;br /&gt;
    local obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)&lt;br /&gt;
    if obj then&lt;br /&gt;
        alife():release(obj, true)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Теперь в функцию bind_stalker.actor_binder:update(delta) напишите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
        -- удаление таймера выброса на ЧАЭС&lt;br /&gt;
        aes_control.delete_aes_timer()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Возвращаем бюрера ==&lt;br /&gt;
Бюрер - единственный «вырезанный» монстр, которого можно через create вернуть:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn_burer()&lt;br /&gt;
    local obj&lt;br /&gt;
    local a = vector()&lt;br /&gt;
    a.x = x  -- вектор X&lt;br /&gt;
    a.y = y  -- вектор Y&lt;br /&gt;
    a.z = z  -- вектор Z&lt;br /&gt;
    obj = alife():create(&amp;quot;m_burer_normal&amp;quot;,a,level_vertex_id,game_vertex_id)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;''Функцию вставьте в конце файла dialogs.script''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Теперь открываем config\creatures\m_burer.ltx и в секции «[m_burer_e]:monster_base», перед строкой «;$spawn = &amp;quot;monsters\old\burer&amp;quot;» уберите точку с запятой. Активируйте функцию через диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;dialogs.spawn_burer&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%B8%D1%81%D1%8C_%D0%BA%D0%B0%D0%BD%D0%B8%D0%BA%D1%83%D0%BB%D1%8B</id>
		<title>Начались каникулы</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%B8%D1%81%D1%8C_%D0%BA%D0%B0%D0%BD%D0%B8%D0%BA%D1%83%D0%BB%D1%8B"/>
				<updated>2012-06-01T14:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Вот скрипт, убивает ГГ: &amp;lt;lua&amp;gt; function kill_actor() actor:kill (actor) end &amp;lt;/lua&amp;gt;  == 2 вариант == Вызвать через диалог: &amp;lt;...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Вот скрипт, убивает ГГ:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function kill_actor()&lt;br /&gt;
actor:kill (actor)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 вариант ==&lt;br /&gt;
Вызвать через диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;xr_effects.aes_kill_actor&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%BC%D0%B5%D1%80%D1%82%D0%B2%D0%BE%D0%B3%D0%BE_%D0%9D%D0%9F%D0%A1_%D0%B1%D0%B5%D0%B7_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9_AMK</id>
		<title>Спавн мертвого НПС без функций AMK</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%BC%D0%B5%D1%80%D1%82%D0%B2%D0%BE%D0%B3%D0%BE_%D0%9D%D0%9F%D0%A1_%D0%B1%D0%B5%D0%B7_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9_AMK"/>
				<updated>2012-06-01T14:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== 1 способ. Спавн НПС и убийство функцией == &amp;lt;lua&amp;gt; function spawn_killed_npc() local npc = alife():create(&amp;quot;agr_stalker_veteran&amp;quot;,vecto...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 способ. Спавн НПС и убийство функцией ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn_killed_npc()&lt;br /&gt;
local npc = alife():create(&amp;quot;agr_stalker_veteran&amp;quot;,vector():set(x,y,z),level_vertex_id,game_vertex_id)&lt;br /&gt;
npc:kill (npc)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2 способ. Спавн НПС и нанесение хита (НПС станет врагом ГГ посмертно) ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn_killed_npc(first_speaker, second_speaker)&lt;br /&gt;
local npc = alife():create(&amp;quot;agr_stalker_veteran&amp;quot;,vector():set(x,y,z),level_vertex_id,game_vertex_id)&lt;br /&gt;
local text = &amp;quot;Погиб сталкер Иван Петров, ЧАЭС, пси-излучение&amp;quot;  -- текст сообщения о погибели сталкера&lt;br /&gt;
local h = hit()&lt;br /&gt;
h.direction = vector():set( 1, 0, 0 ) &lt;br /&gt;
h.impulse = 0  -- импульс хита &lt;br /&gt;
h.draftsman = db.actor &lt;br /&gt;
h.power = 100  -- мощность хита&lt;br /&gt;
h.type = hit.telepatic  -- тип урона, в данном случае пси-атака&lt;br /&gt;
npc:hit(h)  -- наносим хит  &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000)  -- даем эктору знать, что погиб НПС&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
В настройках импульса хита ставьте &amp;quot;0&amp;quot;, иначе труп будет лежать не там, где надо.&lt;br /&gt;
В настройках мощи хита ставьте как можно больше, чтобы НПС точно стал трупом.&lt;br /&gt;
В типе хита ставьте телепатию, не будет игроку врать, что он умер от пси-атаки. Сделаем так, что он действительно погиб от пси-атаки.&lt;br /&gt;
Направление хита не трогайте!&lt;/div&gt;</summary>
		<author><name>109.205.254.88</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_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</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_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-06-01T07:56:54Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: /* Шаг 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Шаг 1 ==&lt;br /&gt;
Первым делом скажу, что мы будем создавать переходы «подпольным» способом — через скрипт. Разработчиками он не задумывался — это особенность движка x-ray. Создадим файл \scripts\nlc.script с таким содержанием:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn_lc(gv, pos, dest_level, dest_pos, mode, dist_gv, dest_dir, custom)&lt;br /&gt;
&lt;br /&gt;
	local obj = alife():create(&amp;quot;level_changer&amp;quot;, pos, 1, gv)&lt;br /&gt;
&lt;br /&gt;
	if obj ~= nil then&lt;br /&gt;
		local packet = net_packet()&lt;br /&gt;
		packet:w_begin(0)&lt;br /&gt;
		obj:STATE_Write(packet)&lt;br /&gt;
            packet:r_seek(2)&lt;br /&gt;
&lt;br /&gt;
		-- свойства cse_alife_object&lt;br /&gt;
		local game_vertex_id = packet:r_u16()&lt;br /&gt;
		local cse_alife_object__unk1_f32 = packet:r_float()&lt;br /&gt;
		local cse_alife_object__unk2_u32 = packet:r_s32()&lt;br /&gt;
		local level_vertex_id = packet:r_s32()&lt;br /&gt;
		local object_flags = packet:r_s32()&lt;br /&gt;
		local custom_data = packet:r_stringZ()&lt;br /&gt;
		local story_id = packet:r_s32()&lt;br /&gt;
		local cse_alife_object__unk3_u32 = packet:r_s32()&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_shape&lt;br /&gt;
		local shape_count = packet:r_u8()&lt;br /&gt;
		local shape_type&lt;br /&gt;
		local center&lt;br /&gt;
		local radius&lt;br /&gt;
		&lt;br /&gt;
		if shape_count == 0 then&lt;br /&gt;
			shape_type = 0&lt;br /&gt;
			center = vector():set(0,0,0)&lt;br /&gt;
			radius = 10.0&lt;br /&gt;
			shape_count = 1&lt;br /&gt;
		else&lt;br /&gt;
			for i=1,shape_count do&lt;br /&gt;
				local shape_type = packet:r_u8()&lt;br /&gt;
				if shape_type == 0 then&lt;br /&gt;
					local center = packet:r_vec3()&lt;br /&gt;
					local radius = packet:r_float()&lt;br /&gt;
				else&lt;br /&gt;
					local v1 = packet:r_vec3()&lt;br /&gt;
					local v2 = packet:r_vec3()&lt;br /&gt;
					local v3 = packet:r_vec3()&lt;br /&gt;
					local v4 = packet:r_vec3()&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_alife_space_restrictor&lt;br /&gt;
		local restrictor_type = packet:r_u8()&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_alife_level_changer&lt;br /&gt;
		local dest_game_vertex_id = packet:r_u16()&lt;br /&gt;
		local dest_level_vertex_id = packet:r_s32()&lt;br /&gt;
		local dest_position = packet:r_vec3()&lt;br /&gt;
		local dest_direction = packet:r_vec3()&lt;br /&gt;
		local dest_level_name = packet:r_stringZ()&lt;br /&gt;
		local dest_graph_point = packet:r_stringZ()&lt;br /&gt;
		local silent_mode = packet:r_u8()&lt;br /&gt;
		&lt;br /&gt;
		-- свойства se_level_changer&lt;br /&gt;
		local enabled = packet:r_u8()&lt;br /&gt;
		local hint = packet:r_stringZ()&lt;br /&gt;
		local se_level_changer__marker = packet:r_u16()&lt;br /&gt;
		&lt;br /&gt;
--		if packet:r_elapsed() ~= 0 then get_console():execute(&amp;quot;left=&amp;quot;..packet:r_elapsed()) end&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_alife_object&lt;br /&gt;
		packet:w_u16(game_vertex_id)&lt;br /&gt;
		packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
		packet:w_s32(cse_alife_object__unk2_u32)&lt;br /&gt;
		packet:w_s32(level_vertex_id)&lt;br /&gt;
		packet:w_s32(object_flags)&lt;br /&gt;
		if custom ~= nil then&lt;br /&gt;
			packet:w_stringZ(custom)&lt;br /&gt;
		else&lt;br /&gt;
			packet:w_stringZ(custom_data)&lt;br /&gt;
		end&lt;br /&gt;
		packet:w_s32(story_id)&lt;br /&gt;
		packet:w_s32(cse_alife_object__unk3_u32)&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_shape&lt;br /&gt;
		packet:w_u8(shape_count)&lt;br /&gt;
		&lt;br /&gt;
		for i=1,shape_count do&lt;br /&gt;
			packet:w_u8(shape_type)&lt;br /&gt;
			if shape_type == 0 then&lt;br /&gt;
				packet:w_vec3(vector():set(0,0,0))&lt;br /&gt;
				packet:w_float(2)&lt;br /&gt;
&lt;br /&gt;
			else&lt;br /&gt;
&lt;br /&gt;
				packet:w_vec3(vector():set(2,0,0))&lt;br /&gt;
				packet:w_vec3(vector():set(0,2,0))&lt;br /&gt;
				packet:w_vec3(vector():set(0,0,2))&lt;br /&gt;
				packet:w_vec3(vector():set(0,0,0))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_alife_space_restrictor&lt;br /&gt;
		packet:w_u8(restrictor_type)&lt;br /&gt;
		&lt;br /&gt;
		-- свойства cse_alife_level_changer&lt;br /&gt;
		packet:w_u16(dist_gv)&lt;br /&gt;
		packet:w_s32(1)&lt;br /&gt;
		packet:w_vec3(dest_pos)&lt;br /&gt;
            &lt;br /&gt;
            if dist_dir~=nil then&lt;br /&gt;
		packet:w_vec3(dest_dir)&lt;br /&gt;
               else&lt;br /&gt;
		packet:w_vec3(dest_direction)&lt;br /&gt;
            end&lt;br /&gt;
&lt;br /&gt;
		packet:w_stringZ(dest_level)&lt;br /&gt;
		packet:w_stringZ(dest_graph_point)&lt;br /&gt;
		packet:w_u8(mode)&lt;br /&gt;
		&lt;br /&gt;
		-- свойства se_level_changer&lt;br /&gt;
		packet:w_u8(enabled)&lt;br /&gt;
		packet:w_stringZ(hint)&lt;br /&gt;
		packet:w_u16(se_level_changer__marker)&lt;br /&gt;
		&lt;br /&gt;
&lt;br /&gt;
		obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())&lt;br /&gt;
	end&lt;br /&gt;
            return obj&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;''Функция-генератор создает левел-чейнджер через create и переписывает его через net_packet''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Функции создания level changer ==&lt;br /&gt;
Теперь наведем наш генератор левел-чейнджеров на создание «тихого» перехода в окрестности «Юпитера» (сохранитесь перед использованием):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function create_zaton2jupiter_exit()&lt;br /&gt;
-- создается переход с ЗАТОНА на ЮПИТЕР&lt;br /&gt;
nlc.spawn_lc(db.actor:game_vertex_id(), db.actor:position(), &amp;quot;jupiter&amp;quot;, vector():set(-16.040319442749,3.410528421402,206.30738830566), 1, 409, vector():set(0,0,-1.0))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Где db.actor:game_vertex_id() — game_vertex, где создается переход;&lt;br /&gt;
где db.actor:position() — позиция перехода на локации из которой выходите;&lt;br /&gt;
где «jupiter» — локация, на которую ведет переход;&lt;br /&gt;
где vector():set(-16.040319442749,3.410528421402,206.30738830566) — позиция, на которой будете на новой локации;&lt;br /&gt;
где 1 — режим «тихого» перехода;&lt;br /&gt;
где 409 - game_vertex на новой локации;&lt;br /&gt;
где vector():set(0,0,-1.0) - направление взгляда на новой локации.&lt;br /&gt;
&lt;br /&gt;
== Примечание ==&lt;br /&gt;
Режим «тихого» перехода в ЗП обязателен т.к. в игре нет текста «Перейти на другую локацию?».&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
Выковырял скрипт из мода «Повелитель Зоны».&lt;br /&gt;
&lt;br /&gt;
Написал статью [[Участник:vllzl]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</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_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</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_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-06-01T07:51:56Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Шаг 1 == Первым делом скажу, что мы будем создавать переходы «подпольным» способом — чере...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Шаг 1 ==&lt;br /&gt;
Первым делом скажу, что мы будем создавать переходы «подпольным» способом — через скрипт. Разработчиками он не задумывался — это особенность движка x-ray. Создадим файл \scripts\nlc.script с таким содержанием:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn_lc(gv, pos, dest_level, dest_pos, mode, dist_gv, dest_dir, custom)&lt;br /&gt;
&lt;br /&gt;
	local obj = alife():create(«level_changer», pos, 1, gv)&lt;br /&gt;
&lt;br /&gt;
	if obj ≈ nil then&lt;br /&gt;
		local packet = net_packet()&lt;br /&gt;
		packet:w_begin(0)&lt;br /&gt;
		obj:STATE_Write(packet)&lt;br /&gt;
            packet:r_seek(2)&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_alife_object&lt;br /&gt;
		local game_vertex_id = packet:r_u16()&lt;br /&gt;
		local cse_alife_object__unk1_f32 = packet:r_float()&lt;br /&gt;
		local cse_alife_object__unk2_u32 = packet:r_s32()&lt;br /&gt;
		local level_vertex_id = packet:r_s32()&lt;br /&gt;
		local object_flags = packet:r_s32()&lt;br /&gt;
		local custom_data = packet:r_stringZ()&lt;br /&gt;
		local story_id = packet:r_s32()&lt;br /&gt;
		local cse_alife_object__unk3_u32 = packet:r_s32()&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_shape&lt;br /&gt;
		local shape_count = packet:r_u8()&lt;br /&gt;
		local shape_type&lt;br /&gt;
		local center&lt;br /&gt;
		local radius&lt;br /&gt;
&lt;br /&gt;
		if shape_count == 0 then&lt;br /&gt;
			shape_type = 0&lt;br /&gt;
			center = vector():set(0,0,0)&lt;br /&gt;
			radius = 10.0&lt;br /&gt;
			shape_count = 1&lt;br /&gt;
		else&lt;br /&gt;
			for i=1,shape_count do&lt;br /&gt;
				local shape_type = packet:r_u8()&lt;br /&gt;
				if shape_type == 0 then&lt;br /&gt;
					local center = packet:r_vec3()&lt;br /&gt;
					local radius = packet:r_float()&lt;br /&gt;
				else&lt;br /&gt;
					local v1 = packet:r_vec3()&lt;br /&gt;
					local v2 = packet:r_vec3()&lt;br /&gt;
					local v3 = packet:r_vec3()&lt;br /&gt;
					local v4 = packet:r_vec3()&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_alife_space_restrictor&lt;br /&gt;
		local restrictor_type = packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_alife_level_changer&lt;br /&gt;
		local dest_game_vertex_id = packet:r_u16()&lt;br /&gt;
		local dest_level_vertex_id = packet:r_s32()&lt;br /&gt;
		local dest_position = packet:r_vec3()&lt;br /&gt;
		local dest_direction = packet:r_vec3()&lt;br /&gt;
		local dest_level_name = packet:r_stringZ()&lt;br /&gt;
		local dest_graph_point = packet:r_stringZ()&lt;br /&gt;
		local silent_mode = packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
		— свойства se_level_changer&lt;br /&gt;
		local enabled = packet:r_u8()&lt;br /&gt;
		local hint = packet:r_stringZ()&lt;br /&gt;
		local se_level_changer__marker = packet:r_u16()&lt;br /&gt;
&lt;br /&gt;
— if packet:r_elapsed() ≈ 0 then get_console():execute(«left=»..packet:r_elapsed()) end&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_alife_object&lt;br /&gt;
		packet:w_u16(game_vertex_id)&lt;br /&gt;
		packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
		packet:w_s32(cse_alife_object__unk2_u32)&lt;br /&gt;
		packet:w_s32(level_vertex_id)&lt;br /&gt;
		packet:w_s32(object_flags)&lt;br /&gt;
		if custom ≈ nil then&lt;br /&gt;
			packet:w_stringZ(custom)&lt;br /&gt;
		else&lt;br /&gt;
			packet:w_stringZ(custom_data)&lt;br /&gt;
		end&lt;br /&gt;
		packet:w_s32(story_id)&lt;br /&gt;
		packet:w_s32(cse_alife_object__unk3_u32)&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_shape&lt;br /&gt;
		packet:w_u8(shape_count)&lt;br /&gt;
&lt;br /&gt;
		for i=1,shape_count do&lt;br /&gt;
			packet:w_u8(shape_type)&lt;br /&gt;
			if shape_type == 0 then&lt;br /&gt;
				packet:w_vec3(vector():set(0,0,0))&lt;br /&gt;
				packet:w_float(2)&lt;br /&gt;
&lt;br /&gt;
			else&lt;br /&gt;
&lt;br /&gt;
				packet:w_vec3(vector():set(2,0,0))&lt;br /&gt;
				packet:w_vec3(vector():set(0,2,0))&lt;br /&gt;
				packet:w_vec3(vector():set(0,0,2))&lt;br /&gt;
				packet:w_vec3(vector():set(0,0,0))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_alife_space_restrictor&lt;br /&gt;
		packet:w_u8(restrictor_type)&lt;br /&gt;
&lt;br /&gt;
		— свойства cse_alife_level_changer&lt;br /&gt;
		packet:w_u16(dist_gv)&lt;br /&gt;
		packet:w_s32(1)&lt;br /&gt;
		packet:w_vec3(dest_pos)&lt;br /&gt;
            &lt;br /&gt;
            if dist_dir~=nil then&lt;br /&gt;
		packet:w_vec3(dest_dir)&lt;br /&gt;
               else&lt;br /&gt;
		packet:w_vec3(dest_direction)&lt;br /&gt;
            end&lt;br /&gt;
&lt;br /&gt;
		packet:w_stringZ(dest_level)&lt;br /&gt;
		packet:w_stringZ(dest_graph_point)&lt;br /&gt;
		packet:w_u8(mode)&lt;br /&gt;
&lt;br /&gt;
		— свойства se_level_changer&lt;br /&gt;
		packet:w_u8(enabled)&lt;br /&gt;
		packet:w_stringZ(hint)&lt;br /&gt;
		packet:w_u16(se_level_changer__marker)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())&lt;br /&gt;
	end&lt;br /&gt;
            return obj&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;''Функция-генератор создает левел-чейнджер через create и переписывает его через net_packet''&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Функции создания level changer ==&lt;br /&gt;
Теперь наведем наш генератор левел-чейнджеров на создание «тихого» перехода в окрестности «Юпитера» (сохранитесь перед использованием):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function create_zaton2jupiter_exit()&lt;br /&gt;
-- создается переход с ЗАТОНА на ЮПИТЕР&lt;br /&gt;
nlc.spawn_lc(db.actor:game_vertex_id(), db.actor:position(), &amp;quot;jupiter&amp;quot;, vector():set(-16.040319442749,3.410528421402,206.30738830566), 1, 409, vector():set(0,0,-1.0))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Где db.actor:game_vertex_id() — game_vertex, где создается переход;&lt;br /&gt;
где db.actor:position() — позиция перехода на локации из которой выходите;&lt;br /&gt;
где «jupiter» — локация, на которую ведет переход;&lt;br /&gt;
где vector():set(-16.040319442749,3.410528421402,206.30738830566) — позиция, на которой будете на новой локации;&lt;br /&gt;
где 1 — режим «тихого» перехода;&lt;br /&gt;
где 409 - game_vertex на новой локации;&lt;br /&gt;
где vector():set(0,0,-1.0) - направление взгляда на новой локации.&lt;br /&gt;
&lt;br /&gt;
== Примечание ==&lt;br /&gt;
Режим «тихого» перехода в ЗП обязателен т.к. в игре нет текста «Перейти на другую локацию?».&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
Выковырял скрипт из мода «Повелитель Зоны».&lt;br /&gt;
&lt;br /&gt;
Написал статью [[Участник:vllzl]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80%D0%B0_%D0%B8_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1</id>
		<title>SoC. Отключение таймера и выброса на ЧАЭС</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80%D0%B0_%D0%B8_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1"/>
				<updated>2012-05-27T09:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Навестим скрипты и инфопоршни! == В sr_timer.script и sr_aes_deadzone.script в начале каждой из функций напи...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Навестим скрипты и инфопоршни! ==&lt;br /&gt;
В sr_timer.script и sr_aes_deadzone.script в начале каждой из функций напишите:&lt;br /&gt;
&amp;lt;code&amp;gt;if has_alife_info(&amp;quot;deadzone&amp;quot;) then&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В xr_effects.script, в функции aes_earthshake, в начале пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;if has_alife_info(&amp;quot;deadzone&amp;quot;) then&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Мы упоминалы некий инфопоршень, о нем игра не знает. Добавим его в игру.&lt;br /&gt;
&lt;br /&gt;
Откроем info_l19_stanciya.xml(gamedata/config/gameplay). Допишем инфопоршен:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;info_portion id=&amp;quot;deadzone&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;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;
function start(actor, npc)&lt;br /&gt;
db.actor:give_info_portion(&amp;quot;deadzone&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Отключить:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function stop(actor, npc)&lt;br /&gt;
db.actor:disable_info_portion(&amp;quot;deadzone&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Автор ==&lt;br /&gt;
[[Участник:vllzl]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A4%D1%80%D0%B8%D0%BF%D0%BB%D0%B5%D0%B9</id>
		<title>SoC. Фриплей</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A4%D1%80%D0%B8%D0%BF%D0%BB%D0%B5%D0%B9"/>
				<updated>2012-05-27T09:10:34Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Таймер/выброс на ЧАЭС == Первым делом уберем таймер (ЧАЭС-1) и выброс (ЧАЭС-1 и ЧАЭС-2). Открыв...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Таймер/выброс на ЧАЭС ==&lt;br /&gt;
Первым делом уберем таймер (ЧАЭС-1) и выброс (ЧАЭС-1 и ЧАЭС-2).&lt;br /&gt;
Открываем sr_timer.script и в начале всех функций пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;if not has_alife_info(&amp;quot;freeplay&amp;quot;) then&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С файлом sr_aes_deadzone.script делаем тоже самое.&lt;br /&gt;
&lt;br /&gt;
В файл info_l19_stanciya.xml(это в gamedata/config/gameplay) пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;info_portion id=&amp;quot;freeplay&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В xr_effects.script, в начале функции aes_earthshake напишите:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;info_portion id=&amp;quot;freeplay&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Точки перехода ==&lt;br /&gt;
В freeplay.script пишем:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
-- Спавним левел-чейнджер&lt;br /&gt;
function spawn_level_changer(sid, from_pos, from_level, dest_pos, dest_level, hint, mode, dest_dir)&lt;br /&gt;
&lt;br /&gt;
local vertexes = {&lt;br /&gt;
l01_escape = {lvid=594266, gvid=0},&lt;br /&gt;
l04_darkvalley = {lvid=121712, gvid=815},&lt;br /&gt;
l11_pripyat = {lvid=142116, gvid=2270},&lt;br /&gt;
l12_stancia = {lvid=405348, gvid=2400},&lt;br /&gt;
l12_stancia_2 = {lvid=9914, gvid=2517}&lt;br /&gt;
-- l12_stancia_2 = {lvid=227423, gvid=2635}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local obj = alife():create(&amp;quot;level_changer&amp;quot;, from_pos, vertexes[from_level][&amp;quot;lvid&amp;quot;], vertexes[from_level][&amp;quot;gvid&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
if obj then&lt;br /&gt;
&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, hint)&lt;br /&gt;
&lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
&lt;br /&gt;
	obj:STATE_Write(packet)&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	local game_vertex_id = packet:r_u16()&lt;br /&gt;
	local cse_alife_object__unk1_f32 = packet:r_float()&lt;br /&gt;
	local cse_alife_object__unk2_u32 = packet:r_s32()&lt;br /&gt;
	local level_vertex_id = packet:r_s32()&lt;br /&gt;
	local object_flags = packet:r_s32()&lt;br /&gt;
	local custom_data = packet:r_stringZ()&lt;br /&gt;
	local story_id = packet:r_s32()&lt;br /&gt;
	local cse_alife_object__unk3_u32 = packet:r_s32()&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	local shape_count = packet:r_u8()&lt;br /&gt;
	local shape_type&lt;br /&gt;
	local center&lt;br /&gt;
	local radius&lt;br /&gt;
&lt;br /&gt;
	if shape_count == 0 then&lt;br /&gt;
		shape_type = 0&lt;br /&gt;
		center = vector():set(0,0,0)&lt;br /&gt;
		radius = 10.0&lt;br /&gt;
		shape_count = 1&lt;br /&gt;
	else&lt;br /&gt;
		for i=1,shape_count do&lt;br /&gt;
			local shape_type = packet:r_u8()&lt;br /&gt;
			if shape_type == 0 then&lt;br /&gt;
				local center = packet:r_vec3()&lt;br /&gt;
				local radius = packet:r_float()&lt;br /&gt;
			else&lt;br /&gt;
				local v1 = packet:r_vec3()&lt;br /&gt;
				local v2 = packet:r_vec3()&lt;br /&gt;
				local v3 = packet:r_vec3()&lt;br /&gt;
				local v4 = packet:r_vec3()&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	local restrictor_type = packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_level_changer&lt;br /&gt;
	local dest_game_vertex_id = packet:r_u16()&lt;br /&gt;
	local dest_level_vertex_id = packet:r_s32()&lt;br /&gt;
	local dest_position = packet:r_vec3()&lt;br /&gt;
	local dest_direction = packet:r_vec3()&lt;br /&gt;
	local dest_level_name = packet:r_stringZ()&lt;br /&gt;
	local dest_graph_point = packet:r_stringZ()&lt;br /&gt;
	local silent_mode = packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
	if packet:r_elapsed() ~= 0 then get_console():execute(&amp;quot;left=&amp;quot;..packet:r_elapsed()) end&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	packet:w_u16(game_vertex_id)&lt;br /&gt;
	packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
	packet:w_s32(cse_alife_object__unk2_u32)&lt;br /&gt;
	packet:w_s32(level_vertex_id)&lt;br /&gt;
	packet:w_s32(object_flags)&lt;br /&gt;
	packet:w_stringZ(custom_data)&lt;br /&gt;
	packet:w_s32(sid)&lt;br /&gt;
	packet:w_s32(cse_alife_object__unk3_u32)&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	packet:w_u8(shape_count)&lt;br /&gt;
&lt;br /&gt;
	for i=1,shape_count do&lt;br /&gt;
		packet:w_u8(shape_type)&lt;br /&gt;
		if shape_type == 0 then&lt;br /&gt;
			packet:w_vec3(vector():set(0,0,0))&lt;br /&gt;
			packet:w_float(3)&lt;br /&gt;
		else&lt;br /&gt;
			packet:w_vec3(vector():set(3,0,0))&lt;br /&gt;
			packet:w_vec3(vector():set(0,3,0))&lt;br /&gt;
			packet:w_vec3(vector():set(0,0,3))&lt;br /&gt;
			packet:w_vec3(vector():set(0,0,0))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	packet:w_u8(restrictor_type)&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_level_changer&lt;br /&gt;
	packet:w_u16(vertexes[dest_level][&amp;quot;gvid&amp;quot;])&lt;br /&gt;
	packet:w_s32(vertexes[dest_level][&amp;quot;lvid&amp;quot;])&lt;br /&gt;
	packet:w_vec3(dest_pos)&lt;br /&gt;
	if dest_dir then &lt;br /&gt;
		packet:w_vec3(dest_dir)&lt;br /&gt;
	else&lt;br /&gt;
		packet:w_vec3(dest_direction)&lt;br /&gt;
	end&lt;br /&gt;
	packet:w_stringZ(dest_level)&lt;br /&gt;
	packet:w_stringZ(dest_graph_point)&lt;br /&gt;
	packet:w_u8(mode)&lt;br /&gt;
&lt;br /&gt;
	obj:STATE_Read(packet, packet:w_tell()-packet:r_tell())&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Спавн всех нужных переходов&lt;br /&gt;
function set_lc(actor, npc)&lt;br /&gt;
-- Кордон - Темная долина&lt;br /&gt;
spawn_level_changer(6001, vector():set(368.9,15.17,-42.65), &amp;quot;l01_escape&amp;quot;, vector():set(-44.77, 0.43, -541.35), &amp;quot;l04_darkvalley&amp;quot;, &amp;quot;to_darkvalley&amp;quot;, 0)&lt;br /&gt;
&lt;br /&gt;
-- ЧАЭС - Припять&lt;br /&gt;
spawn_level_changer(6002, vector():set(918.1,-0.1,-401.96), &amp;quot;l12_stancia&amp;quot;, vector():set(31.28,1.135,420.61), &amp;quot;l11_pripyat&amp;quot;, &amp;quot;to_pripyat&amp;quot;, 0, vector():set(0,-3.1,0))&lt;br /&gt;
&lt;br /&gt;
-- ЧАЭС2 - ЧАЭС&lt;br /&gt;
-- spawn_level_changer(6003, vector():set(554.52,150,201), &amp;quot;l12_stancia_2&amp;quot;, vector():set(117.6,-0.1,-76.3), &amp;quot;l12_stancia&amp;quot;, &amp;quot;to_aes&amp;quot;, 1, vector():set(0,-1.5,0))&lt;br /&gt;
spawn_level_changer(6003, vector():set(-42.15,-0.02,56.03), &amp;quot;l12_stancia_2&amp;quot;, vector():set(126,-0.1,-76.3), &amp;quot;l12_stancia&amp;quot;, &amp;quot;to_aes&amp;quot;, 0, vector():set(0,-1.5,0))&lt;br /&gt;
&lt;br /&gt;
-- ЧАЭС - ЧАЭС2&lt;br /&gt;
spawn_level_changer(6004, vector():set(117.6,-0.1,-76.3), &amp;quot;l12_stancia&amp;quot;, vector():set(-42.15,-0.02,64), &amp;quot;l12_stancia_2&amp;quot;, &amp;quot;to_aes&amp;quot;, 0)&lt;br /&gt;
&lt;br /&gt;
-- Перемещаем актора, ато он на трубе станет&lt;br /&gt;
db.actor:set_actor_position(vector():set(1035.12,-0.0999,229.564))&lt;br /&gt;
&lt;br /&gt;
-- Ставим стандартную погоду, отключаем таймер и выброс&lt;br /&gt;
level.set_weather(&amp;quot;default&amp;quot;)&lt;br /&gt;
db.actor:give_info_portion(&amp;quot;freeplay&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Отмечаем на карте новые точки перехода&lt;br /&gt;
function mark_lc()&lt;br /&gt;
local obj = alife():story_object(6001)&lt;br /&gt;
if obj then&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;to_darkvalley&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
local obj = alife():story_object(6002)&lt;br /&gt;
if obj then&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;to_pripyat&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
local obj = alife():story_object(6003)&lt;br /&gt;
if obj then&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;to_aes&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
local obj = alife():story_object(6004)&lt;br /&gt;
if obj then&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;to_aes&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Точки перехода нужны для того, чтобы актор не застрял на ЧАЭС-2, чтобы он мог вернуться к любимому Сидоровичу - на кордон, в Припять, на ЧАЭС-1, на Радар, Янтарь, бар, в Темную долину.&lt;br /&gt;
&lt;br /&gt;
Пишем в файл bind_stalker.script, в функцию actor_binder:update(delta)&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-- помечаем точки переходов&lt;br /&gt;
freeplay.mark_lc()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Активация ==&lt;br /&gt;
В ui_movies.xml(gamedata/config/ui), в теге mov_refuse_osoznanie, элемент &amp;lt;function_on_stop&amp;gt; модифицировать, чтобы было так:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;function_on_stop&amp;gt;freeplay.set_lc&amp;lt;/function_on_stop&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
Статью писал Я - vllzl.&lt;br /&gt;
&lt;br /&gt;
Скрипт из OGSM.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</id>
		<title>SoC. Делаем выброс через скрипт</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-05-27T08:31:49Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу говорю, что я считаю, что выброс не должен быть смертелен для ГГ. Он будет НЕ смертелен, но будет наносить большой урон. Выброс будет скриптовый. &lt;br /&gt;
&lt;br /&gt;
== Программируем выброс ==&lt;br /&gt;
Создаем файл '''vibros.script''' и туда пишем:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function start_vibros()&lt;br /&gt;
-- землетрясение&lt;br /&gt;
	local snd_obj = xr_sound.get_safe_sound_object([[ambient\earthquake]])&lt;br /&gt;
	snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)&lt;br /&gt;
	level.add_cam_effector(&amp;quot;camera_effects\\earthquake.anm&amp;quot;, 1974, false, &amp;quot;&amp;quot;)&lt;br /&gt;
    --set_postprocess (&amp;quot;scripts\\earthshake.ltx&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-- эффекты выброса&lt;br /&gt;
    level.set_weather_fx (&amp;quot;surge_day&amp;quot;)&lt;br /&gt;
	level.add_pp_effector (&amp;quot;vibros_p.ppe&amp;quot;, 1975, false)&lt;br /&gt;
&lt;br /&gt;
-- урон&lt;br /&gt;
local h = hit()&lt;br /&gt;
h.direction = vector():set( 1, 0, 0 )&lt;br /&gt;
h.impulse = 0&lt;br /&gt;
h.draftsman = db.actor&lt;br /&gt;
h.power = 1&lt;br /&gt;
h.type = hit.radiation&lt;br /&gt;
db.actor:hit(h)&lt;br /&gt;
h.power = 0.3&lt;br /&gt;
h.type = hit.shock&lt;br /&gt;
db.actor:hit(h)&lt;br /&gt;
h.power = 0.3&lt;br /&gt;
h.type = hit.telepatic&lt;br /&gt;
db.actor:hit(h)&lt;br /&gt;
&lt;br /&gt;
-- дополнительные эффекты&lt;br /&gt;
level.add_pp_effector(&amp;quot;radiation.ppe&amp;quot;, 1000, false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Алгоритм работы выброса:&lt;br /&gt;
&lt;br /&gt;
1) Запускаем землетрясение.&lt;br /&gt;
&lt;br /&gt;
2) Запускаем эффекты выброса.&lt;br /&gt;
&lt;br /&gt;
3) Запускаем урон.&lt;br /&gt;
&lt;br /&gt;
4) Запускаем эффекты радиации.&lt;br /&gt;
&lt;br /&gt;
На заметку: никогда не трогайте больше файл vibros.script&lt;br /&gt;
&lt;br /&gt;
== Активация выброса ==&lt;br /&gt;
Можно делать через диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;vibros.start_vibros&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Через скрипт несколько иначе:&lt;br /&gt;
&amp;lt;code&amp;gt;vibros.start_vibros()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Памятка ==&lt;br /&gt;
Напоминаю: файл vibros.script не трогайте.&lt;br /&gt;
Активировать выброс можно неограниченное количество раз.&lt;br /&gt;
Если вы хотите сделать выброс смертельным поставьте h.impulse = 100 и везде h.power = 100.&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
Скрипт не мой. Я его ковырял из других скриптов частями. Скрипт проверял на своей шкуре - все работает. &lt;br /&gt;
&lt;br /&gt;
Автор статьи: я - vllzl&lt;br /&gt;
&lt;br /&gt;
Автор скрипта: GSC&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</id>
		<title>SoC. Делаем выброс через скрипт</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%B5%D0%BB%D0%B0%D0%B5%D0%BC_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-05-26T09:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Сразу говорю, что я считаю, что выброс не должен быть смертелен для ГГ. Он будет НЕ смертеле...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сразу говорю, что я считаю, что выброс не должен быть смертелен для ГГ. Он будет НЕ смертелен, но будет наносить большой урон. Выброс будет скриптовый. &lt;br /&gt;
&lt;br /&gt;
== Программируем выброс ==&lt;br /&gt;
Создаем файл '''vibros.script''' и туда пишем:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function start_vibros()&lt;br /&gt;
-- землетрясение&lt;br /&gt;
	local snd_obj = xr_sound.get_safe_sound_object([[ambient\earthquake]])&lt;br /&gt;
	snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)&lt;br /&gt;
	level.add_cam_effector(&amp;quot;camera_effects\\earthquake.anm&amp;quot;, 1974, false, &amp;quot;&amp;quot;)&lt;br /&gt;
    --set_postprocess (&amp;quot;scripts\\earthshake.ltx&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-- эффекты выброса&lt;br /&gt;
    level.set_weather_fx (&amp;quot;surge_day&amp;quot;)&lt;br /&gt;
	level.add_pp_effector (&amp;quot;vibros_p.ppe&amp;quot;, 1975, false)&lt;br /&gt;
&lt;br /&gt;
-- урон&lt;br /&gt;
local h = hit()&lt;br /&gt;
h.direction = vector():set( 1, 0, 0 )&lt;br /&gt;
h.impulse = 0&lt;br /&gt;
h.draftsman = db.actor&lt;br /&gt;
h.power = 1&lt;br /&gt;
h.type = hit.radiation&lt;br /&gt;
db.actor:hit(h)&lt;br /&gt;
h.power = 0.3&lt;br /&gt;
h.type = hit.shock&lt;br /&gt;
db.actor:hit(h)&lt;br /&gt;
h.power = 0.3&lt;br /&gt;
h.type = hit.telepatic&lt;br /&gt;
db.actor:hit(h)&lt;br /&gt;
&lt;br /&gt;
-- дополнительные эффекты&lt;br /&gt;
level.add_pp_effector(&amp;quot;radiation.ppe&amp;quot;, 1000, false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Алгоритм работы выброса:&lt;br /&gt;
&lt;br /&gt;
1) Запускаем землетрясение.&lt;br /&gt;
&lt;br /&gt;
2) Запускаем эффекты выброса.&lt;br /&gt;
&lt;br /&gt;
3) Запускаем урон.&lt;br /&gt;
&lt;br /&gt;
4) Запускаем эффекты радиации.&lt;br /&gt;
&lt;br /&gt;
На заметку: никогда не трогайте больше файл vibros.script&lt;br /&gt;
&lt;br /&gt;
== Активация выброса ==&lt;br /&gt;
Можно делать через диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;vibros.start_vibros&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Через скрипт несколько иначе:&lt;br /&gt;
&amp;lt;code&amp;gt;vibros.start_vibros()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Памятка ==&lt;br /&gt;
Напоминаю: файл vibros.script не трогайте.&lt;br /&gt;
Активировать выброс можно неограниченное количество раз.&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
Скрипт не мой. Я его ковырял из других скриптов частями. Скрипт проверял на своей шкуре - все работает. &lt;br /&gt;
&lt;br /&gt;
Автор статьи: я - vllzl&lt;br /&gt;
&lt;br /&gt;
Автор скрипта: GSC&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%92%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8</id>
		<title>SoC. Вступление в группировки</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%92%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8"/>
				<updated>2012-05-20T12:56:35Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сегодня мы попытаемся реализовать вступление в группировки. Создаете диалоги к: Воронину, Лукашу типа вот-таких: &amp;quot;Я хочу вступить в &amp;quot;Долг&amp;quot;&amp;quot; или &amp;quot;Я хочу в &amp;quot;Свободу&amp;quot;&amp;quot;. Это вы уже я так думаю сделали.&lt;br /&gt;
&lt;br /&gt;
== Теория ==&lt;br /&gt;
За вступление в группировки отвечает вот такая функция:&lt;br /&gt;
&amp;lt;code&amp;gt;db.actor:set_character_community(&amp;quot;группировка&amp;quot;, 0, 0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Практика ==&lt;br /&gt;
Создаем файл '''community.script''' в gamedata/scripts. И туда пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function dolg(npc, actor)&lt;br /&gt;
npc:stop_talk()&lt;br /&gt;
actor:stop_talk()&lt;br /&gt;
db.actor:set_character_community(&amp;quot;actor_dolg&amp;quot;, 0, 0)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function freedom(npc, actor)&lt;br /&gt;
npc:stop_talk()&lt;br /&gt;
actor:stop_talk()&lt;br /&gt;
db.actor:set_character_community(&amp;quot;actor_freedom&amp;quot;, 0, 0)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в созданные нами диалоги пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;community.dolg&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;community.freedom&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С уважением, vllzl.&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%92%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8</id>
		<title>SoC. Вступление в группировки</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%92%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8"/>
				<updated>2012-05-20T12:55:54Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Сегодня мы попытаемся реализовать вступление в группировки. Создаете диалоги к: Воронину,...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сегодня мы попытаемся реализовать вступление в группировки. Создаете диалоги к: Воронину, Лукашу типа вот-таких: &amp;quot;Я хочу вступить в &amp;quot;Долг&amp;quot;&amp;quot; или &amp;quot;Я хочу в &amp;quot;Свободу&amp;quot;&amp;quot;. Это вы уже я так думаю сделали.&lt;br /&gt;
&lt;br /&gt;
== Теория ==&lt;br /&gt;
За вступление в группировки отвечает вот такая функция:&lt;br /&gt;
&amp;lt;code&amp;gt;db.actor:set_character_community(&amp;quot;группировка&amp;quot;, 0, 0)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Практика ==&lt;br /&gt;
Создаем файл '''community.script''' в gamedata/scripts. И туда пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function dolg(npc, actor)&lt;br /&gt;
npc:stop_talk()&lt;br /&gt;
actor:stop_talk()&lt;br /&gt;
db.actor:set_character_community(&amp;quot;actor_dolg&amp;quot;, 0, 0)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function freedom(npc, actor)&lt;br /&gt;
npc:stop_talk()&lt;br /&gt;
actor:stop_talk()&lt;br /&gt;
db.actor:set_character_community(&amp;quot;actor_freedom&amp;quot;, 0, 0)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в созданные нами диалоги пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;community.dolg&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;action&amp;gt;community.freedom&amp;lt;/action&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
С уважением, vllzl.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</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%D1%8B._%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC_%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%83%D1%8E_%D0%B4%D0%B2%D0%B5%D1%80%D1%8C_%D0%B2_%D0%A1%D0%B0%D1%80%D0%BA%D0%BE%D1%84%D0%B0%D0%B3%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%B4%D0%B5%D0%BA%D0%BE%D0%B4%D0%B5%D1%80%D0%B0.</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%D1%8B._%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC_%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D1%83%D1%8E_%D0%B4%D0%B2%D0%B5%D1%80%D1%8C_%D0%B2_%D0%A1%D0%B0%D1%80%D0%BA%D0%BE%D1%84%D0%B0%D0%B3%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%B4%D0%B5%D0%BA%D0%BE%D0%B4%D0%B5%D1%80%D0%B0."/>
				<updated>2012-05-20T10:18:50Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Открываем файл gamedata/config/scripts/sar_door.ltx. Там находим: &amp;lt;code&amp;gt; [logic] active = ph_door@locked  [ph_door@locked] locked = true close...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Открываем файл gamedata/config/scripts/sar_door.ltx. Там находим:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = ph_door@locked&lt;br /&gt;
&lt;br /&gt;
[ph_door@locked]&lt;br /&gt;
locked = true&lt;br /&gt;
closed = true&lt;br /&gt;
tip_open = tip_door_coded&lt;br /&gt;
on_info = {=actor_has_decoder} ph_door@coded&lt;br /&gt;
&lt;br /&gt;
[ph_door@coded]&lt;br /&gt;
locked = true&lt;br /&gt;
closed = true&lt;br /&gt;
tip_open = tip_door_decode&lt;br /&gt;
on_info = {!actor_has_decoder} ph_door@locked&lt;br /&gt;
on_use = ph_door@decoding %+sar_access_decoding%&lt;br /&gt;
&lt;br /&gt;
[ph_door@decoding]&lt;br /&gt;
locked = true&lt;br /&gt;
closed = true&lt;br /&gt;
tip_open = tip_door_decoding&lt;br /&gt;
on_info = {+sar_finish_decoding} ph_door@unlocked&lt;br /&gt;
&lt;br /&gt;
[ph_door@unlocked]&lt;br /&gt;
locked = false&lt;br /&gt;
closed = false&lt;br /&gt;
show_tips = false&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Там строки:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
locked = true&lt;br /&gt;
closed = true&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Заменяем на:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
locked = false&lt;br /&gt;
closed = false&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Категория:Конфигурационные файлы]]&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%B2_%D0%A2%D0%A7</id>
		<title>Создание выброса в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2012-05-19T13:13:44Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Добавляем секцию спавна ==  Открываем spawn_sections.ltx и пишем: &amp;lt;code&amp;gt; [bar_death]:space_restrictor custom_data = scripts\su...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Добавляем секцию спавна ==&lt;br /&gt;
&lt;br /&gt;
Открываем spawn_sections.ltx и пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[bar_death]:space_restrictor&lt;br /&gt;
custom_data = scripts\surge.ltx&lt;br /&gt;
&lt;br /&gt;
[bar_timer]:space_restrictor&lt;br /&gt;
custom_data = scripts\timer.ltx&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Логика ==&lt;br /&gt;
&lt;br /&gt;
В gamedata\config\scripts создаем surge.ltx. Туда пихаем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_info = {+bar_zone} sr_aes_deadzone&lt;br /&gt;
&lt;br /&gt;
[sr_aes_deadzone]&lt;br /&gt;
intensity = 150&lt;br /&gt;
intensity_speed = 150&lt;br /&gt;
hit_intensity = 80&lt;br /&gt;
on_timer = x nil  -- в реальных миллисекундах продолжительность выброса&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В gamedata\config\scripts создаем timer.ltx Туда пишем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_timer&lt;br /&gt;
&lt;br /&gt;
[sr_timer]&lt;br /&gt;
type = dec  -- тип счетчика ставьте dec, иначе выброса не видать&lt;br /&gt;
start_value = 60000  -- дадим 60000 мсек на спрятаться&lt;br /&gt;
on_value = 0 | %+bar_zone%  -- при нуле запускаем наш выброс&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Инфопоршни ==&lt;br /&gt;
Откройте info_portions.xml и впишите туда: &amp;lt;code&amp;gt;&amp;lt;info_portion id=&amp;quot;bar_zone&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Спавн ==&lt;br /&gt;
Функция спавна вставить в sr_aes_deadzone.script в конце:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function add_surge()&lt;br /&gt;
        if not has_alife_info (&amp;quot;bar_zone&amp;quot;) then&lt;br /&gt;
        alife():create(&amp;quot;bar_death&amp;quot;,vector():set(x,y,z),lvertex,gvertex)  -- где выброс&lt;br /&gt;
        alife():create(&amp;quot;bar_timer&amp;quot;,vector():set(x,y,z),lvertex,gvertex)  -- где будет таймер&lt;br /&gt;
        db.actor:give_info_portion(&amp;quot;bar_zone&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
И в bind_stalker в функция actor_binder(update) вставьте sr_aes_deadzone.add_surge()&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12</id>
		<title>SoC. Отключаем таймер на АЭС1 и смертельные зоны на АЭС2</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12"/>
				<updated>2012-05-09T13:36:16Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем файл '''aes_control.script''' в папке gamedata/scripts&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_deadzone()&lt;br /&gt;
        local obj = alife():object(&amp;quot;aes2_space_restrictor_death_0000&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj1 = alife():object(&amp;quot;aes2_space_restrictor_death_0001&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj1, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj2 = alife():object(&amp;quot;aes2_space_restrictor_death_0002&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj2, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj3 = alife():object(&amp;quot;aes2_space_restrictor_death_0003&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj3, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj4 = alife():object(&amp;quot;aes2_space_restrictor_death_0004&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj4, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj5 = alife():object(&amp;quot;aes2_space_restrictor_death_0005&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj5, true)&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)  -- выбираем основной рестриктор таймера&lt;br /&gt;
        if se_obj then&lt;br /&gt;
        alife():release(se_obj, true)  -- удаляем выбранное&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj1 = alife():object(&amp;quot;aes_space_restrictor_timer_go&amp;quot;)  -- выбираем рестриктор, запускающий основной рестриктор&lt;br /&gt;
        if se_obj1 then&lt;br /&gt;
        alife():release(se_obj1, true)  -- удаляем выбранное&lt;br /&gt;
        end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Теперь куда-нибудь в диалоги вставляем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;aes_control.delete_deadzone&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Отключит смертельные зоны на АЭС2 и таймер на АЭС1.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12</id>
		<title>SoC. Отключаем таймер на АЭС1 и смертельные зоны на АЭС2</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12"/>
				<updated>2012-05-09T13:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем файл '''aes_control.script''' в папке gamedata/scripts&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_deadzone()&lt;br /&gt;
        local obj = alife():object(&amp;quot;aes_space_restrictor_death_0000&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj1 = alife():object(&amp;quot;aes_space_restrictor_death_0001&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj1, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj2 = alife():object(&amp;quot;aes_space_restrictor_death_0002&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj2, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj3 = alife():object(&amp;quot;aes_space_restrictor_death_0003&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj3, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj4 = alife():object(&amp;quot;aes_space_restrictor_death_0004&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj4, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj5 = alife():object(&amp;quot;aes_space_restrictor_death_0005&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj5, true)&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)  -- выбираем основной рестриктор таймера&lt;br /&gt;
        if se_obj then&lt;br /&gt;
        alife():release(se_obj, true)  -- удаляем выбранное&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj1 = alife():object(&amp;quot;aes_space_restrictor_timer_go&amp;quot;)  -- выбираем рестриктор, запускающий основной рестриктор&lt;br /&gt;
        if se_obj1 then&lt;br /&gt;
        alife():release(se_obj1, true)  -- удаляем выбранное&lt;br /&gt;
        end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Теперь куда-нибудь в диалоги вставляем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;aes_control.delete_deadzone&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Отключит смертельные зоны на АЭС2 и таймер на АЭС1.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12</id>
		<title>SoC. Отключаем таймер на АЭС1 и смертельные зоны на АЭС2</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12"/>
				<updated>2012-05-09T13:33:04Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем файл '''aes_control.script''' в папке gamedata/scripts&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_deadzone()&lt;br /&gt;
        local obj = alife():object(&amp;quot;aes_space_restrictor_death_0000&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj1 = alife():object(&amp;quot;aes_space_restrictor_death_0001&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj1, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj2 = alife():object(&amp;quot;aes_space_restrictor_death_0002&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj2, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj3 = alife():object(&amp;quot;aes_space_restrictor_death_0003&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj3, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj4 = alife():object(&amp;quot;aes_space_restrictor_death_0004&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj4, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj5 = alife():object(&amp;quot;aes_space_restrictor_death_0005&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj5, true)&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)  -- выбираем основной рестриктор таймера&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj, true)  -- удаляем выбранное&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj1 = alife():object(&amp;quot;aes_space_restrictor_timer_go&amp;quot;)  -- выбираем рестриктор, запускающий основной рестриктор&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj1, true)  -- удаляем выбранное&lt;br /&gt;
        end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Теперь куда-нибудь в диалоги вставляем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;aes_control.delete_deadzone&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Отключит смертельные зоны на АЭС2 и таймер на АЭС1.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12</id>
		<title>SoC. Отключаем таймер на АЭС1 и смертельные зоны на АЭС2</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A11_%D0%B8_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%90%D0%AD%D0%A12"/>
				<updated>2012-05-09T13:26:41Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Создаем файл '''aes_control.script''' в папке gamedata/scripts &amp;lt;lua&amp;gt; function delete_deadzone()         local obj = alife():object(&amp;quot;aes_space_restri...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем файл '''aes_control.script''' в папке gamedata/scripts&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_deadzone()&lt;br /&gt;
        local obj = alife():object(&amp;quot;aes_space_restrictor_death_0000&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj1 = alife():object(&amp;quot;aes_space_restrictor_death_0001&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj1, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj2 = alife():object(&amp;quot;aes_space_restrictor_death_0002&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj2, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj3 = alife():object(&amp;quot;aes_space_restrictor_death_0003&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj3, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj4 = alife():object(&amp;quot;aes_space_restrictor_death_0004&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj4, true)&lt;br /&gt;
        end&lt;br /&gt;
        local obj5 = alife():object(&amp;quot;aes_space_restrictor_death_0005&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj5, true)&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj, true)&lt;br /&gt;
        end&lt;br /&gt;
        local se_obj1 = alife():object(&amp;quot;aes_space_restrictor_timer_go&amp;quot;)&lt;br /&gt;
        if obj then&lt;br /&gt;
        alife():release(obj1, true)&lt;br /&gt;
        end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Теперь куда-нибудь в диалоги вставляем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;aes_control.delete_deadzone&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Отключит смертельные зоны на АЭС2 и таймер на АЭС1.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B0_freeplay</id>
		<title>Подключение режима freeplay</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B0_freeplay"/>
				<updated>2012-05-08T11:56:51Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Отключение выброса на ЧАЭС 1 == Создайте скрипт '''off_timer.script'''. В него напишите: &amp;lt;lua&amp;gt; function delete_t...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Отключение выброса на ЧАЭС 1 ==&lt;br /&gt;
Создайте скрипт '''off_timer.script'''. В него напишите:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_timer()&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)  -- задаем объект&lt;br /&gt;
        if se_obj then&lt;br /&gt;
        alife():release(se_obj, true)  -- удаляем заданный объект&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Теперь в каком-нибудь диалоге пишем активацию функции:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;off_timer.delete_timer&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Автор: Я vllzl&lt;br /&gt;
&lt;br /&gt;
== Возврат с ЧАЭС на ранние уровни игры ==&lt;br /&gt;
Часть 1. Генерация работающего LEVEL_CHANGER &lt;br /&gt;
&lt;br /&gt;
Стандартной функции alife():create(…) недостаточно для создания полноценного level_changer. Собственно методика создания сложных объектов описана в статье Один из методов спавна. Сложность заключалась лишь в порядке полей и свойствах Shape. Неоценимую помощь в этом вопросе оказала утилита ACDC (created by bardak). &lt;br /&gt;
&lt;br /&gt;
Ниже я привожу код функции, которая создает и инициализирует level_changer:&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
function create_level_changer(&lt;br /&gt;
	p_story_id,	-- STORY_ID нового level_changer (понадобится нам позже)&lt;br /&gt;
	p_position,	-- вектор, координаты точки, в которой будет располагаться центр нового level_changer&lt;br /&gt;
	p_lvertex_id,	-- level_vertext_id  - идентифицируют уровень, на котором будет создан level_changer&lt;br /&gt;
	p_gvertex_id,	-- game_vertext_id   	&lt;br /&gt;
 &lt;br /&gt;
	p_gest_lv,	-- level_vertex_id   - идентифицируют уровень, на который level_changer будет перебрасывать игрока &lt;br /&gt;
	p_dest_gv,	-- game_vertex_id&lt;br /&gt;
	p_dest_pos,	-- координаты точки, в которой на новом уровне окажется игрок&lt;br /&gt;
	p_dest_dir,	-- направрение взгляда игрока&lt;br /&gt;
	p_dest_level,	-- название уровня, например &amp;quot;L11_Pripyat&amp;quot;&lt;br /&gt;
	p_silent	-- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход)&lt;br /&gt;
)&lt;br /&gt;
	local obj = alife():create(&amp;quot;level_changer&amp;quot;, p_position, p_lvertex_id, p_gvertex_id)&lt;br /&gt;
 &lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
	obj:STATE_Write(packet)&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	local game_vertex_id 			= packet:r_u16()&lt;br /&gt;
	local cse_alife_object__unk1_f32 	= packet:r_float()&lt;br /&gt;
	local cse_alife_object__unk2_u32 	= packet:r_u32()&lt;br /&gt;
	local level_vertex_id 			= packet:r_u32()&lt;br /&gt;
	local object_flags 			= packet:r_u32()&lt;br /&gt;
	local custom_data 			= packet:r_stringZ()&lt;br /&gt;
	local story_id 				= packet:r_u32()&lt;br /&gt;
	local spawn_story_id			= packet:r_u32()&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	local shape_count 			= packet:r_u8()&lt;br /&gt;
	for i=1,shape_count do&lt;br /&gt;
		local shape_type 		= packet:r_u8()&lt;br /&gt;
		if shape_type == 0 then&lt;br /&gt;
			-- sphere&lt;br /&gt;
			local center 		= packet:r_vec3()&lt;br /&gt;
			local radius 		= packet:r_float()&lt;br /&gt;
		else&lt;br /&gt;
			-- box&lt;br /&gt;
			local axis_x_x = packet:r_float()&lt;br /&gt;
			local axis_x_y = packet:r_float()&lt;br /&gt;
			local axis_x_z = packet:r_float()&lt;br /&gt;
			local axis_y_x = packet:r_float()&lt;br /&gt;
			local axis_y_y = packet:r_float()&lt;br /&gt;
			local axis_y_z = packet:r_float()&lt;br /&gt;
			local axis_z_x = packet:r_float()&lt;br /&gt;
			local axis_z_y = packet:r_float()&lt;br /&gt;
			local axis_z_z = packet:r_float()&lt;br /&gt;
			local offset_x = packet:r_float()&lt;br /&gt;
			local offset_y = packet:r_float()&lt;br /&gt;
			local offset_z = packet:r_float()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	local restrictor_type 			= packet:r_u8()&lt;br /&gt;
 &lt;br /&gt;
	-- свойства cse_level_changer&lt;br /&gt;
	local dest_game_vertex_id		= packet:r_u16()  &lt;br /&gt;
	local dest_level_vertex_id 		= packet:r_u32()  &lt;br /&gt;
	local dest_position 			= packet:r_vec3()&lt;br /&gt;
	local dest_direction 			= packet:r_vec3()&lt;br /&gt;
	local dest_level_name 			= packet:r_stringZ()&lt;br /&gt;
	local dest_graph_point 			= packet:r_stringZ()&lt;br /&gt;
	local silent_mode 			= packet:r_u8()&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
	packet:w_begin(game_vertex_id)			-- game_vertex_id&lt;br /&gt;
	packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
	packet:w_u32(cse_alife_object__unk2_u32) &lt;br /&gt;
	packet:w_u32(level_vertex_id)			-- level_vertex_id&lt;br /&gt;
	packet:w_u32( bit_not(193) )			-- object_flags = -193 = 0xFFFFFF3E&lt;br /&gt;
	packet:w_stringZ(custom_data)&lt;br /&gt;
	packet:w_u32(p_story_id)			-- story_id&lt;br /&gt;
	packet:w_u32(spawn_story_id)&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u8(1)			-- количество фигур&lt;br /&gt;
--		packet:w_u8(0)			-- тип фигуры: сфера&lt;br /&gt;
--		packet:w_vec3(vector():set(0, 0, 0))  -- sphere_center&lt;br /&gt;
--		packet:w_float(3.0)&lt;br /&gt;
	packet:w_u8(1)			-- тип фигуры: box&lt;br /&gt;
	packet:w_float(2)	   -- axis_x_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_x&lt;br /&gt;
	packet:w_float(4)	   -- axis_y_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_y&lt;br /&gt;
	packet:w_float(4)	   -- axis_z_z&lt;br /&gt;
	packet:w_float(0)	   -- offset_x&lt;br /&gt;
	packet:w_float(0)	   -- offset_y&lt;br /&gt;
	packet:w_float(0)          -- offset_z&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u8(3)	 	   -- restrictor_type&lt;br /&gt;
 &lt;br /&gt;
	packet:w_u16(p_gest_gv)			-- destination game_vertex_id&lt;br /&gt;
	packet:w_u32(p_dest_lv)			-- destination level_vertex_id&lt;br /&gt;
	packet:w_vec3(p_dest_pos)		-- destination position&lt;br /&gt;
	packet:w_vec3(p_dest_dir)		-- destination direction (направление взгляда)&lt;br /&gt;
	packet:w_stringZ(p_dest_level)		-- destination level name&lt;br /&gt;
	packet:w_stringZ(&amp;quot;start_actor_99&amp;quot;)	-- some string, always const&lt;br /&gt;
	packet:w_u8(p_silent)			-- 1 for silent level changing&lt;br /&gt;
 &lt;br /&gt;
	packet:r_seek(0)&lt;br /&gt;
	obj:STATE_Read(packet, packet:w_tell())&lt;br /&gt;
 &lt;br /&gt;
--	news_manager.send_tip(db.actor, &amp;quot;LC creation finished&amp;quot;, nil, nil, 30000)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Для shape типа &amp;quot;box&amp;quot; загрузка координат методом packet:r_matrix() окончилась неудачей. Я подозреваю, что не был прочитан вектор &amp;quot;offset&amp;quot;, но точной уверенности нет, поэтому пока остановился на покомпонентной выборке и сохранении координат. &lt;br /&gt;
&lt;br /&gt;
Часть 2. Создание точек перехода &lt;br /&gt;
&lt;br /&gt;
Теперь следует написать функции создания нужных точек перехода и подключить их к игре. Сами функции просты: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function exit_monolit()&lt;br /&gt;
	if (not has_alife_info(&amp;quot;freeplay_activated1&amp;quot;)) then&lt;br /&gt;
		create_level_changer(11410, vector():set(-13.26, 47.71, 46.57), 200, 2417,&lt;br /&gt;
			2384,&lt;br /&gt;
			162109,&lt;br /&gt;
			vector():set( 375.615, 0.224, 27.737 ),&lt;br /&gt;
			vector():set(     0.0, 0.0  ,  0.0 ),&lt;br /&gt;
			&amp;quot;L12_Stancia&amp;quot;,&lt;br /&gt;
			1)&lt;br /&gt;
 &lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;freeplay_activated1&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	create_chaes2pripyat_exit()&lt;br /&gt;
 &lt;br /&gt;
	-- актер перебрасывается в level_changer, возвращающий его на ЧАЭС, ко входу в бункер&lt;br /&gt;
	db.actor:set_actor_position( vector():set(-13.26, 47.71, 46.57) )&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function refuze_o_sozn()&lt;br /&gt;
	if (not has_alife_info(&amp;quot;freeplay_activated2&amp;quot;)) then&lt;br /&gt;
		create_level_changer(21410, vector():set(946.872, 6.0, 167.66), 240852, 2637,&lt;br /&gt;
			2280,&lt;br /&gt;
			472710,&lt;br /&gt;
			vector():set( 1062.15, -0.0982, -3.512 ),&lt;br /&gt;
			vector():set(    0.0 ,  0.0   , -1.0 ),&lt;br /&gt;
			&amp;quot;L12_Stancia&amp;quot;,&lt;br /&gt;
			1)&lt;br /&gt;
 &lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;freeplay_activated2&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	create_chaes2pripyat_exit()&lt;br /&gt;
 &lt;br /&gt;
	-- актер перебрасывается в level_changer, возвращающий его к правым воротам ЧАЭС&lt;br /&gt;
	db.actor:set_actor_position( vector():set(946.872, 6.0, 167.66) )&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function create_chaes2pripyat_exit()&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	if (not has_alife_info(	&amp;quot;exit_chaes2pripyat_created&amp;quot; )) then&lt;br /&gt;
		create_level_changer(31410, vector():set( 917.35, 0.419, -316.35 ), 403866, 2401,&lt;br /&gt;
			2117,&lt;br /&gt;
			73868,&lt;br /&gt;
			vector():set( 31.3, 3.0, 240.0 ),&lt;br /&gt;
			vector():set(  0.0, 0.0,  -1.0 ),&lt;br /&gt;
			&amp;quot;L11_Pripyat&amp;quot;,&lt;br /&gt;
			0)&lt;br /&gt;
 &lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;exit_chaes2pripyat_created&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Функцию exit_monolit я создал исключительно для тестирования, но решил оставить и тут. Вдруг кто-то захочет реализовать более сложный возврат: Меченого грузят в &amp;quot;грузовик смерти&amp;quot; и он снова приходит в себя на кордоне... &lt;br /&gt;
&lt;br /&gt;
Функция exit_monolit создает «тихий» переход на уровень ЧАЭС-1 и обычный - в начале уровня ЧАЭС-1 для возврата в Припять, после чего перебрасывает актера прямо внутрь созданного перехода. Функция refuze_o_sozn делает тоже самое, только игрок появляется перед воротами в правом верхем углу карты (мне кажется, что так более логично). Все телепорты защищаются уникальными info_portions, дабы избежать их повторного создания, ведь игрок может захотеть «закончить» игру несколько раз. &lt;br /&gt;
&lt;br /&gt;
Теперь подключение. Во-первых надо добавить новые info-portions. Я решил не изменять оригинальные файлы игры, а сделал для них (ну и для других тоже) отдельный файл &lt;br /&gt;
config\gameplay\_info_sa.xml&lt;br /&gt;
&lt;br /&gt;
следующего вида: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;windows-1251&amp;quot; ?&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;freeplay_activated1&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;freeplay_activated2&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;exit_chaes2pripyat_created&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/game_information_portions&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь в этот файл можно будет добавлять новые info_portion, которые вы будете использовать в своих сюжетах. Подключается этот файл в system.ltx в секции «info_portions»: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[info_portions]&lt;br /&gt;
;список xml файлов, содержащих info_portions&lt;br /&gt;
files = _info_sa, info_portions, ....................&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кстати, именно так я рекомендую добавлять новые диалоги и новых персонажей. Это упростит процессы совмещения модов и аддонов. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Следующий шаг - подключение наших скриптов к игре. Для этого откройте файл &lt;br /&gt;
config\ui\ui_movies.xml&lt;br /&gt;
&lt;br /&gt;
найдите элементы «mov_desire_» (их пять, по количеству ложных концовок игры - все варианты общения с Монолитом). Внутри каждого элемента есть дочерние элементы «function_on_stop», которые задают функцию, запускающуюся сразу после ролика. Стандартное содержимое: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция xr_effects.game_credits запускает финальные титры. Именно ее и нужно заменить на вызов нашей функции _freeplay_sa.exit_monolit. Вот что должно получиться: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;function_on_stop&amp;gt;_freeplay_sa.exit_monolit&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Чуть ниже «mov_desire_5» находится тэг ролика для концовки «Присоединение к О-Сознанию». Его мы трогать не будем - Меченый станет медузой. А вот после него - тэг для ролика «Отказ от О-Сознания»: «mov_refuse_osoznanie». Функцию завершения в нем заменим следующим образом: &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;function_on_stop&amp;gt;_freeplay_sa.refuze_o_sozn&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И последнее: переход ЧАЭС1-Припять необходимо отметить на карте. Для этого существует вполне «легальный» механизм. Находим файл level_tasks.script и в конце функции add_lchanger_location дописываем следующее:&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
-- aes (++16.03.2008 by SA):&lt;br /&gt;
		obj = sim:story_object(31410)&lt;br /&gt;
		if obj then&lt;br /&gt;
			level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;To Pripyat&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь 31410 - story_id нашего level_changer, который создается нашей функцией create_chaes2pripyat_exit. &lt;br /&gt;
&lt;br /&gt;
На этом пока все (мелкие огрехи типа направления взгляда игрока после смены уровня исправлю позже). Прошу тестировать и дополнять. &lt;br /&gt;
&lt;br /&gt;
С уважением, sarthur.&lt;br /&gt;
&lt;br /&gt;
== Телепорты ==&lt;br /&gt;
В каталоге gamedata\scripts\ Создадим файл bind_mteleport.script с логикой работы нашего телепорта. &lt;br /&gt;
-- ************************************************&lt;br /&gt;
-- **                    Imp                     **&lt;br /&gt;
-- **       Биндер самодельных телепортов        **&lt;br /&gt;
-- ** Поддерживает работу самопальных телепортов **&lt;br /&gt;
-- ************************************************&lt;br /&gt;
&lt;br /&gt;
local teleport_binders ={}	-- Список телепортов&lt;br /&gt;
&lt;br /&gt;
function abs_comp(a,b)&lt;br /&gt;
	-- Служебная функция вычисления разности&lt;br /&gt;
	if( a &amp;lt; b) then&lt;br /&gt;
		return (b - a)&lt;br /&gt;
	else&lt;br /&gt;
		return (a - b)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function teleportate(x,y,z)&lt;br /&gt;
-- Функция телепортации&lt;br /&gt;
	local a = vector()&lt;br /&gt;
	-- Задаем координаты&lt;br /&gt;
	a.x = x&lt;br /&gt;
	a.y = y&lt;br /&gt;
	a.z = z&lt;br /&gt;
&lt;br /&gt;
	-- Сама телепортация&lt;br /&gt;
	db.actor:set_actor_position(a)&lt;br /&gt;
&lt;br /&gt;
	-- Звуковое сопровождение&lt;br /&gt;
	local snd_obj = xr_sound.get_safe_sound_object([[affects\tinnitus3a]])&lt;br /&gt;
	snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function actor_update(delta)&lt;br /&gt;
	local i,v,acter_poz,s&lt;br /&gt;
&lt;br /&gt;
	-- Получим позицию актера (что-бы каждый раз не запрашивать)&lt;br /&gt;
	acter_poz = db.actor:position()&lt;br /&gt;
&lt;br /&gt;
	-- Проверяем наши телепорты&lt;br /&gt;
	for i, v in pairs(teleport_binders) do&lt;br /&gt;
		s = v.parametrs&lt;br /&gt;
&lt;br /&gt;
		local obj = level.object_by_id( i )&lt;br /&gt;
		if obj ~= nil then&lt;br /&gt;
		-- Наш телепорт в онлайне проверяем дальше&lt;br /&gt;
			if s.teleporte ~= nil and s.teleporte ~= false then&lt;br /&gt;
				-- Телепорт запущен&lt;br /&gt;
				if ( time_global() &amp;lt;= s.time ) then&lt;br /&gt;
					-- Если время отведенное на показ спецэфектов&lt;br /&gt;
					-- прошло, производим телепортацию&lt;br /&gt;
					teleportate(s.poz_x,s.poz_y,s.poz_z)&lt;br /&gt;
					if s.rotate ~= nil then&lt;br /&gt;
						db.actor:set_actor_direction(s.rotate)&lt;br /&gt;
					end&lt;br /&gt;
					s.teleporte = false&lt;br /&gt;
				end&lt;br /&gt;
				return&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			-- Пороверим не забрел-ли актер в наш телепорт&lt;br /&gt;
			if (abs_comp(s.x, acter_poz.x)&amp;lt; v.parametrs.radius  and&lt;br /&gt;
			    abs_comp(s.z, acter_poz.z)&amp;lt; v.parametrs.radius  and&lt;br /&gt;
			    abs_comp(s.y, acter_poz.y)&amp;lt; v.parametrs.z_radius) then&lt;br /&gt;
				-- Актер в зоне действия телепорта, запустим телепорт&lt;br /&gt;
				s[&amp;quot;teleporte&amp;quot;] = true&lt;br /&gt;
				s[&amp;quot;time&amp;quot;] = time_global() + 500&lt;br /&gt;
&lt;br /&gt;
				-- Запускаем спецэфекты телепортации&lt;br /&gt;
				level.add_pp_effector (&amp;quot;teleport.ppe&amp;quot;, 2006, false)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function bind( obj )&lt;br /&gt;
	obj:bind_object( restrictor_teleport( obj ) ) &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
class &amp;quot;restrictor_teleport&amp;quot; ( object_binder )&lt;br /&gt;
&lt;br /&gt;
function restrictor_teleport:__init(obj, char_ini) super(obj)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function restrictor_teleport:net_spawn(data)&lt;br /&gt;
	local char_ini = system_ini()&lt;br /&gt;
&lt;br /&gt;
	-- Если это телепорт то занесем его в специальный список телепортов&lt;br /&gt;
	if self.teleport == true then&lt;br /&gt;
		teleport_binders[self.object:id()] = self&lt;br /&gt;
&lt;br /&gt;
		-- Заполним таблицу параметров&lt;br /&gt;
		self[&amp;quot;parametrs&amp;quot;] = {}&lt;br /&gt;
		if char_ini:line_exist(self.section, &amp;quot;radius&amp;quot;) then&lt;br /&gt;
			self.parametrs[&amp;quot;radius&amp;quot;] = tonumber(char_ini:r_string(self.section, &amp;quot;radius&amp;quot;))&lt;br /&gt;
		else&lt;br /&gt;
			self.parametrs[&amp;quot;radius&amp;quot;] = 2 -- Дефолтный радиус по xy&lt;br /&gt;
		end&lt;br /&gt;
		if char_ini:line_exist(self.section, &amp;quot;z_radius&amp;quot;) then&lt;br /&gt;
			self.parametrs[&amp;quot;z_radius&amp;quot;] = tonumber(char_ini:r_string(self.section, &amp;quot;z_radius&amp;quot;))&lt;br /&gt;
		else&lt;br /&gt;
			self.parametrs[&amp;quot;z_radius&amp;quot;] = self.parametrs[&amp;quot;radius&amp;quot;] -- если радиус высоты не задан то задаем равным радиусу xy&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Запомним позицию что-бы каждый раз не считать&lt;br /&gt;
		local s_obj = alife():object(self.object:id())&lt;br /&gt;
		self.parametrs[&amp;quot;x&amp;quot;] = tonumber(s_obj.position.x);&lt;br /&gt;
		self.parametrs[&amp;quot;y&amp;quot;] = tonumber(s_obj.position.y);&lt;br /&gt;
		self.parametrs[&amp;quot;z&amp;quot;] = tonumber(s_obj.position.z);&lt;br /&gt;
&lt;br /&gt;
		-- Запомним координаты куда телепортимся&lt;br /&gt;
		self.parametrs[&amp;quot;poz_x&amp;quot;] = tonumber(char_ini:r_string(self.section, &amp;quot;poz_x&amp;quot;))&lt;br /&gt;
		self.parametrs[&amp;quot;poz_y&amp;quot;] = tonumber(char_ini:r_string(self.section, &amp;quot;poz_y&amp;quot;))&lt;br /&gt;
		self.parametrs[&amp;quot;poz_z&amp;quot;] = tonumber(char_ini:r_string(self.section, &amp;quot;poz_z&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
		if char_ini:line_exist(self.section, &amp;quot;rotate&amp;quot;) then&lt;br /&gt;
			self.parametrs[&amp;quot;rotate&amp;quot;] = tonumber(char_ini:r_string(self.section, &amp;quot;rotate&amp;quot;))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function restrictor_teleport:net_destroy()&lt;br /&gt;
	-- Удаляем наш телепорт&lt;br /&gt;
	teleport_binders[self.object:id()] = nil&lt;br /&gt;
	self.parametrs = nil&lt;br /&gt;
	object_binder.net_destroy(self)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function restrictor_teleport:reload(section)&lt;br /&gt;
	local char_ini = system_ini()&lt;br /&gt;
&lt;br /&gt;
	self.section = section&lt;br /&gt;
	-- Если это телепорт то &lt;br /&gt;
	if char_ini ~= nil and char_ini:line_exist(self.section, &amp;quot;teleport&amp;quot;) then&lt;br /&gt;
		self[&amp;quot;teleport&amp;quot;] = true&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Для постоянного обновления нужно прицепить функцию actor_update() к биндеру актера, для чего в файле bind_stalker.script найдем функцию: &lt;br /&gt;
&lt;br /&gt;
function actor_binder:update(delta) &lt;br /&gt;
&lt;br /&gt;
В ней найдем вызов обновления рестрикторов bind_restrictor.actor_update(delta) под которым вставим строку с вызовом нашей функции обновления: bind_mteleport.actor_update(delta) &lt;br /&gt;
&lt;br /&gt;
Все с программной частью закончили, теперь задаем данные телепорта. &lt;br /&gt;
&lt;br /&gt;
В каталоге gamedata\config\misc открываем файл zone_teleport.ltx и в конце файла добавляем следующие строки описывающие конкретный телепорт: &lt;br /&gt;
[m_teleport_1]:zone_teleport&lt;br /&gt;
teleport			= standart&lt;br /&gt;
script_binding          	= bind_mteleport.bind&lt;br /&gt;
;Параметры нашего телепорта&lt;br /&gt;
radius				= 2&lt;br /&gt;
;Высота захвата телепорта&lt;br /&gt;
z_radius			= 2&lt;br /&gt;
&lt;br /&gt;
;Куда телепортируемся (телепортация всегда идет в пределах карты)&lt;br /&gt;
poz_x				= 22.78&lt;br /&gt;
poz_y				= 20.35&lt;br /&gt;
poz_z				= 659.24&lt;br /&gt;
&lt;br /&gt;
; Угол зрения при появлении. Если параметра нет то не меняется.&lt;br /&gt;
rotate = 1.5&lt;br /&gt;
&lt;br /&gt;
Параметры нашего телепорта: &lt;br /&gt;
radius - на самом деле не радиус, а половина длинны стороны нашего квадрата (в начале я хотел сделать его кругом, но посчитал, что лучше не тратить процессорное врямя по пусту). Центром квадрата является точка респавна телепорта. &lt;br /&gt;
z_radius - высота нашего телепорта. &lt;br /&gt;
poz_x, poz_y, poz_z - координаты точки телепортации. &lt;br /&gt;
rotate - Угол поворота после телепортации от оси X (я не разбирался в каких единицах задается, но 1.5 примерно равно 90 градусов). Если параметр удалить то будет оставатья угол под которым актер вошел в телепорт. &lt;br /&gt;
Использование &lt;br /&gt;
&lt;br /&gt;
Теперь с помощью create создадим наш телепорт: Пример: &lt;br /&gt;
	local obj&lt;br /&gt;
	local a = vector()&lt;br /&gt;
	a.x = -244.55&lt;br /&gt;
	a.y = -19.46&lt;br /&gt;
	a.z = -125.42&lt;br /&gt;
	obj = alife():create(&amp;quot;m_teleport_1&amp;quot;,a,12829,8,65535)&lt;br /&gt;
&lt;br /&gt;
С вами был vllzl&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Soc._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</id>
		<title>Soc. Спавн через скрипт</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Soc._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-05-07T14:59:36Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== 1 вариант == &amp;lt;lua&amp;gt; function spawn()         alife():create(&amp;quot;section&amp;quot;,vector():set(x,y,z),lvertex,gvertex) end &amp;lt;/lua&amp;gt;   == 2 вариант == &amp;lt;lua&amp;gt; functio...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1 вариант ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn()&lt;br /&gt;
        alife():create(&amp;quot;section&amp;quot;,vector():set(x,y,z),lvertex,gvertex)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2 вариант ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function spawn()&lt;br /&gt;
        local a = vector()&lt;br /&gt;
        local obj&lt;br /&gt;
        a.x = x&lt;br /&gt;
        a.y = y&lt;br /&gt;
        a.z = z&lt;br /&gt;
        obj = alife():create(&amp;quot;section&amp;quot;,a,lvertex,gvertex)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1-1</id>
		<title>SoC. Отключаем таймер выброса на ЧАЭС-1</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1-1"/>
				<updated>2012-05-07T14:55:37Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Будет два способа отключения таймера. Через скрипт, через all.spawn.  == Через скрипт == &amp;lt;lua&amp;gt; function de...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Будет два способа отключения таймера. Через скрипт, через all.spawn.&lt;br /&gt;
&lt;br /&gt;
== Через скрипт ==&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_aes_timer()&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)&lt;br /&gt;
        if se_obj then&lt;br /&gt;
        alife():release(se_obj, true)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Вставить в какой-нибудь диалог:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;название_скрипта.delete_aes_timer&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
После диалога таймер отключается.&lt;br /&gt;
&lt;br /&gt;
== All.spawn ==&lt;br /&gt;
Удалить рестриктор '''aes_space_restrictor_timer'''&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0</id>
		<title>Грамотное создание проводника</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0"/>
				<updated>2012-05-07T14:33:08Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Удалено содержимое страницы&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2</id>
		<title>Быстрое создание проводников</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2"/>
				<updated>2012-05-07T14:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Логика ==&lt;br /&gt;
Создаем файл gamedata/scripts/teleport.script. Пишем туда:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function provodnik()&lt;br /&gt;
        db.actor:set_actor_position(vector():set(x,y,z),lvertex,gvertex)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Активация ==&lt;br /&gt;
В нужный диалог кидаем&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;teleport.provodnik&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%94%D0%B5%D1%81%D0%BF%D0%B0%D0%B2%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</id>
		<title>Деспавн через скрипт</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%94%D0%B5%D1%81%D0%BF%D0%B0%D0%B2%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-05-07T11:34:57Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Сейчас я покажу как удалять объекты через скрипт. Вот пример удаления: &amp;lt;lua&amp;gt; function delete_object()      ...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сейчас я покажу как удалять объекты через скрипт. Вот пример удаления:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function delete_object()&lt;br /&gt;
        local se_obj = alife():object(&amp;quot;aes_space_restrictor_timer&amp;quot;)  -- задается  значение переменной  &amp;quot;se_obj&amp;quot;.&lt;br /&gt;
        if se_obj then&lt;br /&gt;
        alife():release(se_obj, true)  -- функция удаления. Слово &amp;quot;true&amp;quot; обязательно.&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Удалит таймер на ЧАЭС-1. Вместо &amp;quot;aes_space_restrictor_timer&amp;quot; подставляете ИМЯ (НЕ ENTITY!) своего объекта. &lt;br /&gt;
&lt;br /&gt;
== Автор ==&lt;br /&gt;
Vllzl&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D1%8B%D0%B9_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82</id>
		<title>Грамотный спавн через скрипт</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D1%8B%D0%B9_%D1%81%D0%BF%D0%B0%D0%B2%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82"/>
				<updated>2012-05-07T11:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Всем известна функция спавна в одну строку: &amp;lt;lua&amp;gt;alife():create(&amp;quot;section&amp;quot;,vector():set(x,y,z),lvertex,gvertex)&amp;lt;/lua&amp;gt; Однако...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Всем известна функция спавна в одну строку:&lt;br /&gt;
&amp;lt;lua&amp;gt;alife():create(&amp;quot;section&amp;quot;,vector():set(x,y,z),lvertex,gvertex)&amp;lt;/lua&amp;gt;&lt;br /&gt;
Однако лучше делать так:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function create_object()&lt;br /&gt;
        local a = vector()  -- задаем, что переменная &amp;quot;a&amp;quot; - это вектор.&lt;br /&gt;
        local obj  -- задаем переменную &amp;quot;obj&amp;quot;. Ее значение задается позже.&lt;br /&gt;
        a.x = x  -- вектор X. Подставить значение.&lt;br /&gt;
        a.y = y  -- вектор Y. Подставить значение.&lt;br /&gt;
        a.z = z  -- вектор Z. Подставить значение.&lt;br /&gt;
        obj = alife():create(&amp;quot;section&amp;quot;,a,lvertex,gvertex)  -- функция спавна. &amp;quot;a&amp;quot; - это вектор. Указывать вектор не надо (мы его задали выше).&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Автор ==&lt;br /&gt;
Vllzl&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0</id>
		<title>Грамотное создание проводника</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0"/>
				<updated>2012-05-07T11:10:15Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Создаем скрипт gamedata\scripts\start.script. В него пихаем: &amp;lt;lua&amp;gt; function teleportate(npc, actor)         npc:stop_talk()         actor:sto...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем скрипт gamedata\scripts\start.script. В него пихаем:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function teleportate(npc, actor)&lt;br /&gt;
        npc:stop_talk()&lt;br /&gt;
        actor:stop_talk()&lt;br /&gt;
        db.actor:set_actor_position( vector():set(X,Y,Z) )  -- Вместо надписей пишем координаты&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
В любой диалог пихаем:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;start.teleportate&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь с каким нибудь диалогом вы телепортируетесь по векторам&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%B1%D0%B5%D0%B7_%D1%87%D0%B8%D1%82%D0%BE%D0%B2_%D0%B8_%D0%BC%D0%BE%D0%B4%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%BF%D0%B0%D0%B2%D0%BD_%D0%B1%D0%B5%D0%B7_%D1%87%D0%B8%D1%82%D0%BE%D0%B2_%D0%B8_%D0%BC%D0%BE%D0%B4%D0%BE%D0%B2."/>
				<updated>2012-05-06T13:35:46Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сегодня я расскажу как спавнить без читов и модов.&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
 ; Вместо &amp;quot;wpn_ak74&amp;quot; ваша секция. Вместо x,y,z координаты. Где level_vertex, game_vertex реальные гейм и левел вертексы&lt;br /&gt;
function main_menu:main_cheat_f1()&lt;br /&gt;
        alife():create(&amp;quot;wpn_ak74&amp;quot;,vector():set(x,y,z),level_vertex,game_vertex)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
 Теперь по F1 будет спавнится объект.&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80%D0%B0_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1</id>
		<title>Удаление таймера выброса на ЧАЭС</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80%D0%B0_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1"/>
				<updated>2012-05-06T08:09:49Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Подготовка == Нам нужно: ACDC SoC (требуется ActivePerl)   == Реализация == Распаковываем all.spawn. Откры...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Подготовка ==&lt;br /&gt;
Нам нужно:&lt;br /&gt;
ACDC SoC (требуется ActivePerl)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Реализация ==&lt;br /&gt;
Распаковываем all.spawn. Открываем '''alife_l12_stancia.ltx'''. Удаляем рестриктор: '''aes_space_restrictor_timer'''. Удаляем рестриктор:'''aes_space_restrictor_timer__go'''. Собираем спавн-файл. кладем в gamedata/spawns. Переименовываем его в all.spawn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Делаем нормальную погоду ==&lt;br /&gt;
Открываем '''game_maps_single.ltx''' в gamedata/config. Находим l12_stancia. Строку:&lt;br /&gt;
&amp;lt;code&amp;gt;weather = stancia&amp;lt;/code&amp;gt;&lt;br /&gt;
меняем на&lt;br /&gt;
&amp;lt;code&amp;gt;weather = default&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем файл.&lt;br /&gt;
&lt;br /&gt;
Пробуем. Новая игра обязательна&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%BE%D0%B4%D0%BB%D0%B8%D1%82%D1%8C_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1-1</id>
		<title>Как продлить таймер выброса на ЧАЭС-1</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%BE%D0%B4%D0%BB%D0%B8%D1%82%D1%8C_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80_%D0%B2%D1%8B%D0%B1%D1%80%D0%BE%D1%81%D0%B0_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1-1"/>
				<updated>2012-04-22T13:40:27Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «== Подготовка ==  Скачать утилиту ACDC SOC. ПОМЕСТИТЬ В ПАПКУ С ACDC SOC all.spawn. РАСПАКОВАТЬ ALL.SPAWN   == Р...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Подготовка ==&lt;br /&gt;
 Скачать утилиту ACDC SOC. ПОМЕСТИТЬ В ПАПКУ С ACDC SOC all.spawn. РАСПАКОВАТЬ ALL.SPAWN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Реализация ==&lt;br /&gt;
Открываем alife_l12_stancia.ltx&lt;br /&gt;
Находим элемент aes_space_restrictor_timer.&lt;br /&gt;
Находим строку:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
start_value = 360000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
360000 миллисекунд = 6 минут.&lt;br /&gt;
меняем на:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
start_value = 3600000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
3600000 миллисекунд = 1 час.&lt;br /&gt;
&lt;br /&gt;
Компилируем all.spawn. НОВАЯ ИГРА ОБЯЗАТЕЛЬНА&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1-2.</id>
		<title>SoC. Отключаем смертельные зоны на ЧАЭС-2.</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%9E%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_%D1%81%D0%BC%D0%B5%D1%80%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BE%D0%BD%D1%8B_%D0%BD%D0%B0_%D0%A7%D0%90%D0%AD%D0%A1-2."/>
				<updated>2012-04-22T13:25:19Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.254.88: Новая страница: «Когда мы выходим из «Управления Монолитом» мы появляемся на ЧАЭС с телепортами. Она назыв...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Когда мы выходим из «Управления Монолитом» мы появляемся на ЧАЭС с телепортами. Она называется ЧАЭС-2. Как вы знаете по поверхности ходить нельзя: ГГ умирает из-за радиации. Но это не естественно. Надо это остановить.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
== Подготовка ==&lt;br /&gt;
 1. Скачиваем утилиту ACDC Soc.&lt;br /&gt;
 2. Кладем в папку с ACDC файл all.spawn.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Начнем.&lt;br /&gt;
Распаковываем all.spawn. Открываем alife_l12_stancia_2.ltx.&lt;br /&gt;
Удаляем:&lt;br /&gt;
aes2_space_restrictor_death_0000&lt;br /&gt;
aes2_space_restrictor_death_0001&lt;br /&gt;
aes2_space_restrictor_death_0002&lt;br /&gt;
aes2_space_restrictor_death_0003&lt;br /&gt;
aes2_space_restrictor_death_0004&lt;br /&gt;
aes2_space_restrictor_death_0005&lt;br /&gt;
&lt;br /&gt;
Сохраняем файл. Собираем all.spawn. Начинаем новую игру. Когда дойдем до ЧАЭС-2: можно ходить по земле&lt;/div&gt;</summary>
		<author><name>109.205.254.88</name></author>	</entry>

	</feed>