<?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.252.211&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.252.211&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.252.211"/>
		<updated>2026-06-12T04:01:48Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D1%8B_%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>Создаем переходы между уровнями</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%B5%D0%BC_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D1%8B_%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-05-13T12:23:55Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.252.211: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем файл '''nlc.script'''.&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;
&lt;br /&gt;
function aes_pripyat()&lt;br /&gt;
create_level_changer(40000, vector():set( 917.35, 0.419, -316.35 ), 403866, 2401,  -- позиция создаваемого перехода&lt;br /&gt;
2117,  -- lvertex после перехода&lt;br /&gt;
73868, -- gvertex после перехода&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;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
В level_task.script допишите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-- aes&lt;br /&gt;
obj = sim:story_object(40000)&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;
== Автор ==&lt;br /&gt;
На YouTube я Vllzl&lt;/div&gt;</summary>
		<author><name>109.205.252.211</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%B5%D0%BC_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D1%8B_%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>Создаем переходы между уровнями</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%B5%D0%BC_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D1%8B_%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-05-13T12:19:27Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.252.211: Новая страница: «Создаем файл '''nlc.script'''. &amp;lt;code&amp;gt; function create_level_changer( 	p_story_id,	-- STORY_ID нового level_changer (понадобится нам п...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Создаем файл '''nlc.script'''.&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;
&lt;br /&gt;
function aes_pripyat()&lt;br /&gt;
create_level_changer(40000, 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;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
В level_task.script допишите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-- aes&lt;br /&gt;
obj = sim:story_object(40000)&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;
== Автор ==&lt;br /&gt;
На YouTube я Vllzl&lt;/div&gt;</summary>
		<author><name>109.205.252.211</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%9D%D0%9F%D0%A1</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%9D%D0%9F%D0%A1"/>
				<updated>2012-05-13T12:09:10Z</updated>
		
		<summary type="html">&lt;p&gt;109.205.252.211: Новая страница: «Говорю сразу, список НПС которые можно спавнить, есть в файле '''spawn_sections.ltx''' в папке config/creatur...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Говорю сразу, список НПС которые можно спавнить, есть в файле '''spawn_sections.ltx''' в папке config/creatures.&lt;br /&gt;
Спавнится все как обычно: alife():create(...)&lt;br /&gt;
== Наглядный пример ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
local obj&lt;br /&gt;
local a = vector()&lt;br /&gt;
local dir = db.actor:direction()&lt;br /&gt;
&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;
obj = alife():create(&amp;quot;agr_stalker_regular&amp;quot;, a, 13193, 8, 65535)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>109.205.252.211</name></author>	</entry>

	</feed>