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

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0</id>
		<title>SoC. Добавляем проводника</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC_%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0"/>
				<updated>2015-12-01T21:21:02Z</updated>
		
		<summary type="html">&lt;p&gt;77.51.69.170: /* Практика */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Теория ===&lt;br /&gt;
В ТЧ есть единственный момент, когда в результате диалога с НПС, ГГ перемещается. Это диалог с &amp;quot;О-Сознанием&amp;quot;. После отказа от вступления, ГГ перемещается на АЭС2. Если использовать эту функцию, можно создать в ТЧ проводника.&amp;lt;br/&amp;gt;&lt;br /&gt;
''Примечание: Проводник не будет перемещаться вместе с вами, как в ЗП. Вы будете перемещаться в одиночку, как в ЧН.''&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Практика ===&lt;br /&gt;
Для этого:&amp;lt;br/&amp;gt;&lt;br /&gt;
1). Для этого в '''gamedata\scripts''' находим файл '''dialogs_aes.script'''. В нём имеется следующая функция:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function osoznanie_decline(npc, actor)&lt;br /&gt;
db.actor:disable_info_portion(&amp;quot;oso_init_dialog&amp;quot;)&lt;br /&gt;
npc:stop_talk()&lt;br /&gt;
actor:stop_talk()&lt;br /&gt;
xr_effects.enable_ui(db.actor, nil) &lt;br /&gt;
local point = patrol(&amp;quot;mon_jump_aes2_walk&amp;quot;)&lt;br /&gt;
local look = patrol(&amp;quot;mon_jump_aes2_look&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
db.actor:set_actor_position(point:point(0))&lt;br /&gt;
local dir = look:point(0):sub(point:point(0))&lt;br /&gt;
db.actor:set_actor_direction(-dir:getH())&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
2). Копируем эту функцию, допустим, в '''escape_dialog''' из директории '''gamedata\scripts'''&amp;lt;br/&amp;gt;&lt;br /&gt;
3). Обратите внимание на вот этот фрагмент из функции: '''db.actor:disable_info_portion(&amp;quot;oso_init_dialog&amp;quot;)'''. Здесь функция ссылается на инфопоршень, но на Кордоне данный инфопоршень не прописан. &amp;lt;br/&amp;gt;&lt;br /&gt;
4). Тогда переименовываем данный инфопоршень так, как вам удобно, например '''db.actor:disable_info_portion(&amp;quot;esc_init_dialog&amp;quot;)'''. ''Примечание: Название инфопоршня это '''&amp;quot;esc_init_dialog&amp;quot;''' (то ,что за скобками, переименовывать не надо)''. Затем добавляем инфопоршень в файл '''info_l01escape.xml''' из директории '''gamedata\config\gameplay'''. В этом файле добавляем следующее: '''&amp;lt;info_portion id=&amp;quot;esc_init_dialog&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;'''&amp;lt;br/&amp;gt;&lt;br /&gt;
5). Итак, функция есть, инфопоршень тоже есть. Теперь нужны координаты. Обратите внимание на следующий фрагмент функции:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
local point = patrol(&amp;quot;mon_jump_aes2_walk&amp;quot;)&lt;br /&gt;
local look = patrol(&amp;quot;mon_jump_aes2_look&amp;quot;)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Здесь функция ссылается на определённые координаты на АЭС2. Но нам нужны координаты на Кордоне. Для этого открываем '''way_101_escape.ltx''' и там дописываем пути. Например вот так:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
[mon_jump_esc8_look]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -239.110947,-19.788391,-134.999161&lt;br /&gt;
p0:game_vertex_id = 8&lt;br /&gt;
p0:level_vertex_id = 16191&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[mon_jump_esc8_walk]&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:position = -238.017761,-19.888292,-140.161987&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 17468&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
Всё пути есть. Только теперь в функции, переименуйте фрагмент:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
local point = patrol(&amp;quot;mon_jump_aes2_walk&amp;quot;)&lt;br /&gt;
local look = patrol(&amp;quot;mon_jump_aes2_look&amp;quot;)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На фрагмент:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
local point = patrol(&amp;quot;mon_jump_esc8_walk&amp;quot;)&lt;br /&gt;
local look = patrol(&amp;quot;mon_jump_esc8_look&amp;quot;)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь осталось только привязать всё это к диалогу. Я взял диалог с Кузнецовым.&amp;lt;br/&amp;gt;&lt;br /&gt;
Открываем файл dialogs_escape.xml и находим следующие строки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
&amp;lt;dialog id=&amp;quot;esc_bridge_soldiers_start&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;dialogs.is_not_wounded&amp;lt;/precondition&amp;gt;&lt;br /&gt;
&amp;lt;phrase_list&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;esc_bridge_soldiers_start_12&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;13&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это фраза &amp;quot;Мне надо дальше&amp;quot;. Сюда вставляем активизацию нашей функции. Получется следующее:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
&amp;lt;dialog id=&amp;quot;esc_bridge_soldiers_start&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;dialogs.is_not_wounded&amp;lt;/precondition&amp;gt;&lt;br /&gt;
&amp;lt;phrase_list&amp;gt;&lt;br /&gt;
&amp;lt;phrase id=&amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;esc_bridge_soldiers_start_12&amp;lt;/text&amp;gt;&lt;br /&gt;
&amp;lt;action&amp;gt;escape_dialog.osoznanie_decline&amp;lt;/action&amp;gt; Здесь следующая структура: &amp;lt;action&amp;gt;Название_скрипта. Название_функции&amp;lt;/action&amp;gt;&lt;br /&gt;
&amp;lt;next&amp;gt;13&amp;lt;/next&amp;gt;&lt;br /&gt;
&amp;lt;/phrase&amp;gt;&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот, собственно и всё. Теперь после фразы &amp;quot;Мне надо дальше&amp;quot; вы переместитесь к бункеру Сидоровича.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt; &lt;br /&gt;
Я делал также но чуток исправил:&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function osoznanie_decline(npc, actor)&lt;br /&gt;
--Поршень не  нужен, он всёравно удаляется&lt;br /&gt;
npc:stop_talk()&lt;br /&gt;
actor:stop_talk()&lt;br /&gt;
xr_effects.enable_ui(db.actor, nil) &lt;br /&gt;
local point = patrol(&amp;quot;mon_jump_aes2_walk&amp;quot;)&lt;br /&gt;
local look = point -- указать можно только один путь&lt;br /&gt;
&lt;br /&gt;
db.actor:set_actor_position(point:point(0))&lt;br /&gt;
local dir = look:point(0):sub(point:point(0))&lt;br /&gt;
db.actor:set_actor_direction(-dir:getH())&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А я делал еще легче - вот так&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function osoznanie_decline(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;
Собственно перенос на новую локацию отсутствует но места займет меньше. AntdiabloN&lt;br /&gt;
&lt;br /&gt;
Автор: '''mma'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Дооформил: '''DarkST'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Подправил: '''Бродяга'''&lt;br /&gt;
Представил свой вариант '''AntdiabloN'''&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>77.51.69.170</name></author>	</entry>

	</feed>