<?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=5.18.222.144&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=5.18.222.144&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/5.18.222.144"/>
		<updated>2026-06-14T05:40:30Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%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_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8</id>
		<title>CoP. Спавн точек перехода между локациями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%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_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8"/>
				<updated>2015-04-06T17:32:40Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.222.144: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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_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;
Пример перехода с Затона в Окрестности &amp;quot;Юпитера&amp;quot;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function nlc()&lt;br /&gt;
 -- создается переход с Затона на Юпитер&lt;br /&gt;
create_level_changer(52000, vector():set(32.82,0.39,612.30), 1011443, 192, 81204, 422, vector():set(-376.06,6.46,412.87), vector():set(0.0, 0.0, 0.0), &amp;quot;jupiter&amp;quot;, 1, &amp;quot;exit_to_jupiter&amp;quot;, &amp;quot;на Янов&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Неоформленные статьи]]&lt;/div&gt;</summary>
		<author><name>5.18.222.144</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP._%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_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8</id>
		<title>CoP. Спавн точек перехода между локациями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP._%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_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8"/>
				<updated>2015-04-06T17:29:54Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.222.144: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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&lt;br /&gt;
p_gvertex_id, -- game_vertext_id &lt;br /&gt;
p_dest_lv, -- level_vertex_id &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, -- название уровня&lt;br /&gt;
p_silent, -- 1 автоматический переход&lt;br /&gt;
P_spotdir, -- метка на карте&lt;br /&gt;
p_desr -- описание &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;
level.map_add_object_spot_ser(obj.id,P_spotdir,p_desr)&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) &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) &lt;br /&gt;
packet:w_u32( bit_not(193) ) &lt;br /&gt;
packet:w_stringZ(custom_data)&lt;br /&gt;
packet:w_u32(p_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(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)&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;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример перехода с Затона в Окрестности &amp;quot;Юпитера&amp;quot;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function nlc()&lt;br /&gt;
 -- создается переход с Затона на Юпитер&lt;br /&gt;
create_level_changer(52000, vector():set(32.82,0.39,612.30), 1011443, 192, 81204, 422, vector():set(-376.06,6.46,412.87), vector():set(0.0, 0.0, 0.0), &amp;quot;jupiter&amp;quot;, 1, &amp;quot;exit_to_jupiter&amp;quot;, &amp;quot;на Янов&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Неоформленные статьи]]&lt;/div&gt;</summary>
		<author><name>5.18.222.144</name></author>	</entry>

	</feed>