<?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/index.php?action=history&amp;feed=atom&amp;title=SoC._%D0%A4%D1%80%D0%B8%D0%BF%D0%BB%D0%B5%D0%B9</id>
		<title>SoC. Фриплей - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/index.php?action=history&amp;feed=atom&amp;title=SoC._%D0%A4%D1%80%D0%B8%D0%BF%D0%BB%D0%B5%D0%B9"/>
		<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&amp;action=history"/>
		<updated>2026-06-09T20:44:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<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&amp;diff=13328&amp;oldid=prev</id>
		<title>178.172.230.188: &lt;&lt;&lt; aka_sektor</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&amp;diff=13328&amp;oldid=prev"/>
				<updated>2014-03-20T00:22:13Z</updated>
		
		<summary type="html">&lt;p&gt;&amp;lt;&amp;lt;&amp;lt; aka_sektor&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 00:22, 20 марта 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 198:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 198:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Скрипт из OGSM.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Скрипт из OGSM.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Категория:Неоформленные статьи]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>178.172.230.188</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&amp;diff=12285&amp;oldid=prev</id>
		<title>109.205.254.88: Новая страница: «== Таймер/выброс на ЧАЭС == Первым делом уберем таймер (ЧАЭС-1) и выброс (ЧАЭС-1 и ЧАЭС-2). Открыв...»</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&amp;diff=12285&amp;oldid=prev"/>
				<updated>2012-05-27T09:10:34Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «== Таймер/выброс на ЧАЭС == Первым делом уберем таймер (ЧАЭС-1) и выброс (ЧАЭС-1 и ЧАЭС-2). Открыв...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&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>

	</feed>