<?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=Vikman</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=Vikman"/>
		<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/Vikman"/>
		<updated>2026-04-29T19:31:31Z</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%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%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%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9_%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8"/>
				<updated>2011-01-18T16:33:12Z</updated>
		
		<summary type="html">&lt;p&gt;Vikman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новая группировка==&lt;br /&gt;
&lt;br /&gt;
Сегодня мы создадим новую группировку. Назовем её, скажем, &amp;quot;Ветер&amp;quot;. Не суть важно.&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Базовый уровень===&lt;br /&gt;
&lt;br /&gt;
'''1.''' Для начала в '''game_relations.ltx''' и в таблицу отношений группировок в конце и в заголовке добавляем название своей группировки и коэффициенты отношений к ней у других группировок. Также, не забываем прописать её собственное отношение к другим группировкам:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[communities_relations]&lt;br /&gt;
;|actor  |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg   |freedom|bandit |zombied|strange|trader|arena_enemy|wind|&lt;br /&gt;
;=================================================================================================================================&lt;br /&gt;
actor = 0,	   0,	   0,	   0,  -5000,  -5000,  -5000,      0,	   0,	   0,  -5000,  -5000,	   0,	  0,  -5000, 0&lt;br /&gt;
actor_dolg = 0,	   0,	   0,      0,  -5000,   -500,  -5000,   5000,    600,  -5000,  -5000,  -5000,	   0,	  0,  -5000&lt;br /&gt;
actor_freedom = 0,	   0,	   0,	   0,  -5000,  -5000,  -5000,  -1500,  -5000,   5000,	   0,  -5000,	   0,	 0,  -5000, 0&lt;br /&gt;
&lt;br /&gt;
stalker	= 0,	   0,	   0,	   0,  -5000,  -5000,  -5000,      0,	   0,	   0,  -5000,  -5000,	   0,	  0,  -5000, 0&lt;br /&gt;
monolith = -5000,  -5000,  -5000,  -5000,   5000,  -5000,  -5000,  -5000,  -5000,  -5000,   5000,   5000,  -5000,	 0,  -5000, 0&lt;br /&gt;
military = -5000,  -5000,  -5000,  -5000,  -5000,   5000,  -5000,      0,  -5000,  -5000,  -5000,  -5000, 	   0,	 0,  -5000, 0&lt;br /&gt;
killer = -5000,  -5000,      0,  -5000,  -5000,  -5000,   5000,  -5000,  -5000,  -5000,	   0,  -5000,  -5000,	  0,  -5000, 0&lt;br /&gt;
ecolog = 0,	 600,  -5000,      0,  -5000,   1000,  -5000,   5000,    500,  -5000,   -500,  -5000,	   0,	  0,      0, 0&lt;br /&gt;
dolg = 0,    600,  -5000,      0,  -5000,   -500,  -5000,   5000,   5000,  -5000,  -5000,  -5000,	   0,	  0,      0, 0&lt;br /&gt;
freedom = 0,  -5000,	 600,	   0,  -5000,  -5000,  -5000,  -1500,  -5000,   5000,	   0,  -5000,	   0,	  0,      0, 0&lt;br /&gt;
bandit = -5000,  -5000,	   0,  -5000,  -5000,   -500,      0,  -5000,  -5000,	   0,	   0,  -5000,  -5000,	  0,  -5000, 0&lt;br /&gt;
zombied	= -5000,  -5000,  -5000,  -5000,   5000,  -5000,  -5000,  -5000,  -5000,  -5000,  -5000,   5000,  -5000,	 0,  -5000, 0&lt;br /&gt;
stranger = 0,	   0,	   0,      0,  -5000,  -5000,  -5000,      0,	   0,	   0,   -500,  -5000,	   0,	  0,      0, 0&lt;br /&gt;
trader = 0,	   0,	   0,	   0,	   0, 	   0,	   0,	   0,	   0,	   0,	   0,	   0,      0,	  0,      0&lt;br /&gt;
arena_enemy = -5000,  -5000,  -5000,  -5000,  -5000,  -5000,      0,      0,      0,  -5000,  -5000,      0,      0,	  0,     0, 0&lt;br /&gt;
&lt;br /&gt;
wind = 0,	   0,	   0,	   0,  -5000,  -5000,  -5000,      0,	   0,	   0,  -5000,  -5000,	   0,	  0,  -5000, 0&amp;lt;/pre&amp;gt;  &lt;br /&gt;
Также, изменим эту строку, добавив туда имя и номер группировки:&lt;br /&gt;
&lt;br /&gt;
;названия группировок&lt;br /&gt;
communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10, &lt;br /&gt;
freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, wind, 18 &lt;br /&gt;
&lt;br /&gt;
Отсчет идет построчно начиная сверху. Хотя есть небольшой нюанс. У первых трех строк - нумерация начинается с нуля, с остальных группировок она идет как надо. Для wind выставили 18, так как мы эту группировку отделили от других.&lt;br /&gt;
&lt;br /&gt;
Далее, в разделе ''[communities_sympathy]'' в конце добавляем свою группировку и коэффициент &amp;quot;впечатлительности&amp;quot; - чем он меньше, тем меньше отношение группировки будет меняться к вам в целом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[communities_sympathy]&lt;br /&gt;
actor		=		0.0&lt;br /&gt;
actor_dolg	=		0.0&lt;br /&gt;
actor_freedom	=		0.0&lt;br /&gt;
stalker		=		0.0&lt;br /&gt;
monolith	=		0.0&lt;br /&gt;
military	=		0.0&lt;br /&gt;
killer		=		0.0&lt;br /&gt;
ecolog		=		0.0&lt;br /&gt;
dolg		=		0.1&lt;br /&gt;
freedom		=		0.1&lt;br /&gt;
bandit		=		0.0&lt;br /&gt;
zombied		=		0.0&lt;br /&gt;
trader		=		0.0&lt;br /&gt;
stranger	=		0.0&lt;br /&gt;
arena_enemy	=	    	0.0&lt;br /&gt;
wind 		= 		0.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''2.''' После этого в файле '''death_manager.script''' ищем строку ''local community_list'' и в скобках добавляем название своей группировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function init_drop_settings()&lt;br /&gt;
	local community_list = { &amp;quot;stalker&amp;quot;, &amp;quot;dolg&amp;quot;, &amp;quot;freedom&amp;quot;, &amp;quot;bandit&amp;quot;, &amp;quot;military&amp;quot;, &amp;quot;zombied&amp;quot;, &amp;quot;ecolog&amp;quot;, &amp;quot;killer&amp;quot;, &amp;quot;monolith&amp;quot;, &lt;br /&gt;
&amp;quot;arena_enemy&amp;quot;, &amp;quot;actor_dolg&amp;quot;, &amp;quot;wind&amp;quot; }&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3.''' В файле '''death_items_by_communities.ltx''' пишем ''[x]:stalker'' (вместо ''x'' - название вашей группировки):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[...]&lt;br /&gt;
af_dummy_spring			= 0&lt;br /&gt;
af_fuzz_kolobok			= 0&lt;br /&gt;
&lt;br /&gt;
;Еда&lt;br /&gt;
vodka					= 0&lt;br /&gt;
&lt;br /&gt;
[arena_enemy]&lt;br /&gt;
[actor_dolg]&lt;br /&gt;
&lt;br /&gt;
[wind]: stalker&lt;br /&gt;
bread					= 0&lt;br /&gt;
kolbasa					= 0&lt;br /&gt;
vodka					= 0&lt;br /&gt;
energy_drink			= 0.3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''4.''' Если предусматривается респавн бойцов новой группировки, в '''se_respawn.script''' прописываем в '''local simMaxCount = {''' после строчек с зомбированными сталкерами строку:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wind_novice = 20, wind_regular = 20, wind_veteran = 20, wind_master = 6,&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И в файле '''misc\smart_terrain_presets.ltx''', в секциях требуемых уровней, на которых предусматривается респаун бойцов новой группировки, добавляем строки с названием своей группировки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[l02_garbage]&lt;br /&gt;
wind = novice, experienced, veteran, master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''5.''' Чтобы при убийстве непися новой группировки игра не вылетала в '''xr_statistic.script''',&lt;br /&gt;
&lt;br /&gt;
после строки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,&amp;lt;/pre&amp;gt;&lt;br /&gt;
пишем&lt;br /&gt;
&amp;lt;pre&amp;gt;wind_novice = 1, wind_experienced = 2, wind_veteran = 3, wind_master = 4,&amp;lt;/pre&amp;gt;&lt;br /&gt;
и ниже в '''function getNpcType(npc)''' добавим:&lt;br /&gt;
&amp;lt;pre&amp;gt;		elseif npc:character_community() == &amp;quot;wind&amp;quot; then&lt;br /&gt;
			community = &amp;quot;wind&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6.''' Ну а в '''character_desk_x.xml''' выбираем любого NPC (или группу) и меняем группировку на свою:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;!---esc_wolf---&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;wind&amp;lt;/community&amp;gt;&lt;br /&gt;
		[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''7.''' Чтобы у персонажа в графе &amp;quot;Группировка&amp;quot; отображалось не &amp;quot;wind&amp;quot;, а &amp;quot;Ветер&amp;quot;, зарегистрируем соответствующую строку в файле string_table_general.xml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;windows-1251&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;string_table&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;wind&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Ветер&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;actor&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Одиночка&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''8.''' Существует возможность создать для нашей новой группировки места, где они будут ходить (''*_terrain'' брать из '''m_stalker.ltx'''):&lt;br /&gt;
&lt;br /&gt;
То есть, к примеру, существует секция:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[stalker_terrain]&lt;br /&gt;
	255,000,255,255&lt;br /&gt;
	008,001,255,255 ;Разрешено ходить по опасным местам на баре&lt;br /&gt;
	012,001,255,255 ;Разрешено ходить по опасным местам на Милитари&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тогда можно создать новую, по аналогии:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[wind_terrain]&lt;br /&gt;
	255,000,255,255&lt;br /&gt;
	008,001,255,255 ;Разрешено ходить по опасным местам на баре&lt;br /&gt;
	012,001,255,255 ;Разрешено ходить по опасным местам на Милитари&lt;br /&gt;
	010,001,255,255	;Разрешено ходить по опасным местам на янтаре&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Здесь, очевидно, указаны координаты самого уровня. Для каждого уровня существует своя начальная координата.&lt;br /&gt;
&lt;br /&gt;
===Продвинутый уровень===&lt;br /&gt;
&lt;br /&gt;
Такой метод достаточно примитивен. Это не полноценная группировка. Нам нужны соответствующие диалоги, возможность получения квестов и вступления в группировку, уникальные NPC.&lt;br /&gt;
&lt;br /&gt;
====Квесты====&lt;br /&gt;
&lt;br /&gt;
Добавим квесты, которые нужно выполнить для группировки. Пока - простые поручения распространенных типов.&lt;br /&gt;
&lt;br /&gt;
Во-первых, пропишите в список диалогов персонажа следующие строки:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;		&amp;lt;actor_dialog&amp;gt;[tm_trader_diolog]_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;[tm_wolf_diolog]_reward&amp;lt;/actor_dialog&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примеры названий: ''tm_trader_dialog'', ''tm_wolf_dialog''...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: gray&amp;quot;&amp;gt;Внимание! Метод не проверен.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Этим мы добавили ему ветку диалога &amp;quot;Есть работа?&amp;quot;, а также ветку для награды за квест/отказа от него. Теперь зарегистрируем в '''task_manager.ltx''' набор новых заданий.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[list]&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
;--------Wind------------------------&lt;br /&gt;
;----------Kill Stalker----&lt;br /&gt;
wind_kill_stalker&lt;br /&gt;
;----------Find Item----	&lt;br /&gt;
wind_find_item&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
;tasks for Wind	&lt;br /&gt;
&lt;br /&gt;
[wind_find_item]&lt;br /&gt;
type = find_item&lt;br /&gt;
community = actor&lt;br /&gt;
text = [ссылка на текст с рассказом заказчика о задании]&lt;br /&gt;
description = [ссылка на текст с описанием задания]&lt;br /&gt;
parent = [имя NPC-заказчика]&lt;br /&gt;
target = scientific_outfit&lt;br /&gt;
reward_money = 5000&lt;br /&gt;
reward_reputation = +5&lt;br /&gt;
reward_rank = 4&lt;br /&gt;
reward_item = wpn_sig_m1&lt;br /&gt;
time = 86400&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[wind_kill_stalker]&lt;br /&gt;
type = kill_stalker&lt;br /&gt;
community = actor&lt;br /&gt;
text = [ссылка на текст с рассказом заказчика о задании]&lt;br /&gt;
description = [ссылка на текст с описанием задания]&lt;br /&gt;
parent = [имя NPC-заказчика]&lt;br /&gt;
target = sim_stalker_master_master&lt;br /&gt;
reward_money = 4000&lt;br /&gt;
reward_reputation = +5&lt;br /&gt;
reward_rank = 9&lt;br /&gt;
reward_item = ammo_5.56x45_ap, ammo_5.56x45_ap, ammo_5.56x45_ap&lt;br /&gt;
time = 86400&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Не забудьте прописать описания заданий в текстовые массивы. Подробнее о редактировании '''task_manager.ltx''' читайте в [[Однотипные квесты|уроке]], посвященном однотипным квестам.&lt;br /&gt;
&lt;br /&gt;
Да, и зарегистрируйте сами ветки диалогов в файле '''dialogs.xml'''. Вот пример того, как это сделано для заданий &amp;quot;Долга&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;    &amp;lt;dialog id=&amp;quot;tm_dolg_dialog&amp;quot; priority=&amp;quot;-1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;init_func&amp;gt;task_manager.init_dolg_task_dialog&amp;lt;/init_func&amp;gt;&lt;br /&gt;
    &amp;lt;/dialog&amp;gt;&lt;br /&gt;
    &amp;lt;dialog id=&amp;quot;tm_dolg_reward&amp;quot; priority=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;init_func&amp;gt;task_manager.init_dolg_reward_dialog&amp;lt;/init_func&amp;gt;&lt;br /&gt;
		&amp;lt;precondition&amp;gt;task_manager.has_active_vendor_task&amp;lt;/precondition&amp;gt;&lt;br /&gt;
    &amp;lt;/dialog&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Соответственно, пройдем туда, куда указывает строка ''task_manager.init_dolg_task_dialog'' - в '''task_manager.script''':	 &lt;br /&gt;
	 &lt;br /&gt;
&amp;lt;pre&amp;gt;function init_dolg_task_dialog(dlg)	 &lt;br /&gt;
	get_random_task():init_task_dialog(dlg, &amp;quot;dolg&amp;quot;)&amp;lt;/pre&amp;gt;	 &lt;br /&gt;
		 &lt;br /&gt;
По аналогии делаем и с нашим &amp;quot;Ветром&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Вступление в группировку====&lt;br /&gt;
&lt;br /&gt;
Реализуем возможность вступления в группировку.&lt;br /&gt;
&lt;br /&gt;
Прописываем в '''dialogs.script''' такие action'ы:&lt;br /&gt;
&amp;lt;pre&amp;gt;-----------------------------------------------------------------------------------&lt;br /&gt;
-- Community&lt;br /&gt;
-----------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
function actor_set_wind(actor, npc)&lt;br /&gt;
	printf(&amp;quot;ACTOR NOW IN [WIND] COMMUNITY&amp;quot;)&lt;br /&gt;
	if db.actor then&lt;br /&gt;
		db.actor:set_character_community(&amp;quot;wind&amp;quot;, 0, 0)&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
После чего создадим диалог, и сделаем в нем фразу с action'ом вида ''&amp;lt;action&amp;gt;dialogs.actor_set_wind&amp;lt;/action&amp;gt;''. Советую изучить [[Создание диалогов|урок]], посвященный диалогам.&lt;br /&gt;
&lt;br /&gt;
====Новые NPC====&lt;br /&gt;
&lt;br /&gt;
Лучше всего всё вышеприведенное повесить на нового, уникального персонажа. Способ его спавна описан [[Cпавн через скрипт#Спавн NPC|здесь]].&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья [[Участник:BAC9-FLCL|BAC9-FLCL]].&amp;lt;br&amp;gt;&lt;br /&gt;
Способ открыт [[Участник:Arhet|Arhet]] ([[Team:SRP Team|SRP Team]])&lt;br /&gt;
Статью поправил: [[Участник:Vikman|Vikman]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Альтернатива - статья [[Участник:SenseyVit|SenseyVit]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]][[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Vikman</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)"/>
				<updated>2010-12-03T09:46:48Z</updated>
		
		<summary type="html">&lt;p&gt;Vikman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Итак, я VIKman и хочу вас научить делать квесты.&lt;br /&gt;
Для этого мы создадим нового НПС и сделаем квест чтобы взять у него флеш-карту.)&lt;br /&gt;
Для всего этого нам понадобится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;Папка config&lt;br /&gt;
	gameplay\character_desc_escape.xml&lt;br /&gt;
	gameplay\dialogs_escape.xml&lt;br /&gt;
	gameplay\info_l01escape.xml&lt;br /&gt;
	gameplay\npc_profile.xml&lt;br /&gt;
	gameplay\tasks_escape.xml&lt;br /&gt;
	game_story_ids.ltx&lt;br /&gt;
	misc\quest_items.ltx&lt;br /&gt;
	scripts\tester_logic.ltx -- его мы создадим&lt;br /&gt;
	text\rus\stable_dialogs_escape.xml&lt;br /&gt;
	text\rus\string_table_items.xml&lt;br /&gt;
Папка scripts&lt;br /&gt;
	escape_dialog.script&lt;br /&gt;
	&lt;br /&gt;
	И естественно all.spawn&amp;lt;/ini&amp;gt;&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;br /&gt;
Первым делом снимем координаты где будет находится наш флешко-датель.)&lt;br /&gt;
&lt;br /&gt;
У меня вот такие координаты: position = -172.21215820313,-19.941787719727,-161.09272766113, game_vertex_id = 52, level_vertex_id = 76655&lt;br /&gt;
&lt;br /&gt;
Распаковываем с ACDC all.spawn открываем alife_l01_escape.ltx и пишем в самый конец:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker&lt;br /&gt;
name = tester -//пишем что хотим&lt;br /&gt;
position = -172.21215820313,-19.941787719727,-161.09272766113 -//позиция&lt;br /&gt;
direction = 0,0,0 -// направление взгляда(можно писать всегда нули)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
money = 5000 -//его бабло&lt;br /&gt;
character_profile = tester -//ссылка на профиль в character_desc_локация(раз создаем в алайф эскейп значит и профиль будет искатсья в чарактер_деск_ескейп)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 52 -// гейм вертекс&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 76655 -//левел вертекс&lt;br /&gt;
object_flags = 0xffffffbf&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\tester_logic.ltx -// ссылка на логику&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse[smart_terrains]&lt;br /&gt;
none = true&lt;br /&gt;
END&lt;br /&gt;
story_id = 6001 -//его стори айди&lt;br /&gt;
 &lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\soldier\soldier_beret_1 -// его визуал&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:health = 1&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//опять пишем позицию&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0.028013030067086,0,0.9996075630188&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 1&lt;br /&gt;
upd:g_group = 2&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:next_game_vertex_id = 65535-//честно не знаю что это, я всегда пишу эти цифры&lt;br /&gt;
upd:prev_game_vertex_id = 65535-//не знаю, но пишем всегда это&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 1,2,2,1,2&lt;br /&gt;
predicate4 = 0,1,1,1&lt;br /&gt;
 &lt;br /&gt;
	; cse_ph_skeleton properties&lt;br /&gt;
 &lt;br /&gt;
upd:start_dialog =&lt;br /&gt;
 &lt;br /&gt;
; se_stalker properties&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дальше опишем в character_desc_escape.xml нашего НПС-а:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!---------------------------------------tester-------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;tester&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;Факер Марезфакер&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_green_stalker_3&amp;lt;/icon&amp;gt;  &amp;lt;!--его иконка--&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;Сталкер.&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;   &amp;lt;!--этого лучше не знать--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;150&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500&amp;quot; max=&amp;quot;1000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;  &amp;lt;!--его голос--&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;visual&amp;gt;actors\novice\green_stalker_3&amp;lt;/visual&amp;gt;  &amp;lt;!--его визуал--&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n      &amp;lt;!--его инвентарь,что в нем есть--&amp;gt;&lt;br /&gt;
	wpn_ak74u \n&lt;br /&gt;
	ammo_5.45x39_fmj = 10 \n&lt;br /&gt;
	&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog&amp;lt;/start_dialog&amp;gt;      &amp;lt;!--его диалоги--&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_npc&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле npc_profile.xml прописываем класс непися:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;character id=&amp;quot;escape_trader&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;Trader&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;escape_trader&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&lt;br /&gt;
	&amp;lt;!---------------------------------------------------------------TEST----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;character id=&amp;quot;tester&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;tester&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле game_story_ids.ltx прописываем его SID который должен совпадать с его id из all.spawn:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	  ; Escape (0-99)&lt;br /&gt;
	  6001          = &amp;quot;tester&amp;quot;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дадим неписю логику, создадим файл: scripts\tester_logic.ltx , мне понравилась чтобы он сидел на пятой точке, пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[logic]&lt;br /&gt;
active = remark1&lt;br /&gt;
danger = danger_ignore&lt;br /&gt;
 &lt;br /&gt;
[danger_ignore]&lt;br /&gt;
ignore_distance = 5&lt;br /&gt;
 &lt;br /&gt;
[remark1]&lt;br /&gt;
anim = sit_ass&lt;br /&gt;
no_move = true&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Фуххх, вроде непся создали переходим к долгожданному квесту))))&lt;br /&gt;
&lt;br /&gt;
Нам нужно создать инфопоршены для этого в файле с адресом: gameplay\info_l01escape.xml после &amp;lt;game_information_portions&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;info_portion id=&amp;quot;test_kvest_start&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;       &amp;lt;!--обращение к таску--&amp;gt;&lt;br /&gt;
	&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_have&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_done&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак мы создали направление на задание &amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;, что ж пропишем его. Для этого открываем файл по адресу gameplay\tasks_escape.xml и пишем в самом начале:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!------------------------------------------------------------test----------&amp;gt;&lt;br /&gt;
	&amp;lt;game_task id=&amp;quot;test_kvest&amp;quot;&amp;gt;       &amp;lt;!--название таска из gameplay\info_l01escape.xml--&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Принести КПК Сидору&amp;lt;/title&amp;gt;       &amp;lt;!--название которое будет писатся в кпк--&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;icon&amp;gt;ui_iconsTotal_lost_thing&amp;lt;/icon&amp;gt;      &amp;lt;!--иконка таска--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Факер Мазерфакер&amp;quot;&amp;gt;green_location&amp;lt;/map_location_type&amp;gt;      &amp;lt;!--обозначение на карте--&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;tester&amp;lt;/object_story_id&amp;gt;      &amp;lt;!--сюда пишем наш sid из game_story_ids.ltx, который в свою очередь определяется по story_id из all.spawn--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_have&amp;lt;/infoportion_complete&amp;gt;      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Вернуться к Сидору&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Сидорович&amp;quot;&amp;gt;blue_location&amp;lt;/map_location_type&amp;gt;      &amp;lt;!--обозначение на карте--&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;Escape_Trader&amp;lt;/object_story_id&amp;gt;      &amp;lt;!--сюда пишем наш sid из game_story_ids.ltx, который в свою очередь определяется по story_id из all.spawn--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;	      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
	&amp;lt;/game_task&amp;gt;&lt;br /&gt;
&amp;lt;!------------------------------------------------------------test----------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таск готов! После всего этого я уже устал писать это всё, ну да ладно, продолжим)))&lt;br /&gt;
&lt;br /&gt;
Создадим наш новый КПК который нам даст наш многоуважаемый Факер Мазерфакер)))&lt;br /&gt;
&lt;br /&gt;
Для этого откроем файл misc\quest_items.ltx и пропише секцию нашего кпк:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[moy_kpk]:identity_immunities&lt;br /&gt;
GroupControlSection	= spawn_group&lt;br /&gt;
discovery_dependency = &lt;br /&gt;
$spawn = &amp;quot;devices\quest_items\moy_kpk&amp;quot;&lt;br /&gt;
;$prefetch 	= 32&lt;br /&gt;
class= II_ATTCH&lt;br /&gt;
cform= skeleton&lt;br /&gt;
visual= equipments\item_pda.ogf&lt;br /&gt;
radius= 1&lt;br /&gt;
;script_binding= stalker.object_init&lt;br /&gt;
quest_item	= true&lt;br /&gt;
&lt;br /&gt;
description         = item_moy_kpk_desc&lt;br /&gt;
&lt;br /&gt;
inv_name	= item_moy_kpk_name&lt;br /&gt;
inv_name_short= item_moy_kpk_name&lt;br /&gt;
inv_weight	= 0.2&lt;br /&gt;
&lt;br /&gt;
inv_grid_width= 2&lt;br /&gt;
inv_grid_height= 1&lt;br /&gt;
inv_grid_x	= 6&lt;br /&gt;
inv_grid_y	= 13&lt;br /&gt;
cost= 0&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И русифицируем его в файле text\rus\string_table_items.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;string id=&amp;quot;item_moy_kpk_desc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацие. Доступ без пароля не возможен&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;item_moy_kpk_name&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацией&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&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;
BEGIN!!! (ВПЕРЕД(кто не в курсе дела))&lt;br /&gt;
&lt;br /&gt;
Пропишем путь к диалогу, открываем файл gameplay\character_desc_escape.xml и tradery дописываем 2 диалога:&lt;br /&gt;
&lt;br /&gt;
Ищем Сидора аха вот он&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog&amp;lt;/actor_dialog&amp;gt;        &amp;lt;!--наш диалог--&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_done&amp;lt;/actor_dialog&amp;gt;        &amp;lt;!--наш диалог--&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А путь к диалогу у Факера Мазерфакера уже прописан:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_npc&amp;lt;/actor_dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переходим непосредственно к самому диалогу. Открываем gameplay\dialogs_escape.xml и в самом начале после строки &amp;lt;game_dialogs&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	    &amp;lt;dialog id=&amp;quot;test_kvest_dialog&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_start&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
	            &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
	                &amp;lt;text&amp;gt;test_kvest_dialog_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;11&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_start&amp;lt;/give_info&amp;gt;         &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_11&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_2&amp;lt;/text&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_done&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_done&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_have&amp;lt;/has_info&amp;gt;         &amp;lt;!--проверка,есть ли у ГГ инфопоршень, если получил то диалог срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;escape_dialog.have_kpk&amp;lt;/precondition&amp;gt;         &amp;lt;!--проверка из скрипта--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.money_give_test&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_done&amp;lt;/give_info&amp;gt;              &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_sidor&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_npc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_have&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_start&amp;lt;/has_info&amp;gt;         &amp;lt;!--проверка,есть ли у ГГ инфопоршень, если получил то диалог срабатывает--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	          &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_have&amp;lt;/give_info&amp;gt;              &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_actor&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	              &amp;lt;text&amp;gt;test_kvest_dialog_npc_2&amp;lt;/text&amp;gt;&lt;br /&gt;
	                &amp;lt;action&amp;gt;dialogs.break_dialog&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	        &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
	    &amp;lt;/dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переводим наши каракули в файле text\rus\stable_dialogs_escape.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;!-------------------------------------------test------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Даров, радиоктивное мясо.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_11&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Слушай Меченный тебе я смотрю денег нужно подзаработать? Сходи к сталкеру одному он мне инфу должен.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Да, давай схожу.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Не, мне влом.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Вот я принес.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Молодец! Держи награду.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Эй, сталкер. Да ты мне Сидор сказал то что ты ему инфу должен принести.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Ой да, чувак на возьми.Спасибо, что напомнил, ато мне Сидор задницу надрал бы.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Давай. Я погнал.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;!-------------------------------------------test------------------------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописываем спавн кпк в инвертарь эктора при разговоре с Сами-Знаете_Кем)))&lt;br /&gt;
&lt;br /&gt;
Открываем escape_dialog.script и рисуем внутри вне всяких функций!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
-- это наши функции вызываемые из диалога&lt;br /&gt;
function money_give_test(first_speaker, second_speaker) --ГГ получает деньги&lt;br /&gt;
	dialogs.relocate_money(first_speaker, 1000, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function have_kpk(first_speaker, second_speaker) -- проверка есть ли у ГГ наш КПК&lt;br /&gt;
  	return first_speaker:object(&amp;quot;moy_kpk&amp;quot;) ~= nil&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_sidor(first_speaker, second_speaker) -- ГГ отдает КПК&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;out&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_actor(first_speaker, second_speaker) -- ГГ принимает КПК&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну. Вроде все. Что ж если какие-то вылеты перепроверьте все пункты, если уж что-то не так пишите по почте: vikman_david@mail.ru, с темой &amp;quot;Создание квестов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Всем спасибо все свободны.)))&lt;br /&gt;
&lt;br /&gt;
	Автор:VIKman&lt;br /&gt;
&lt;br /&gt;
	Выход:22.11.2010&lt;br /&gt;
&lt;br /&gt;
[[Категория:скрипты]]&lt;/div&gt;</summary>
		<author><name>Vikman</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)"/>
				<updated>2010-12-02T15:41:25Z</updated>
		
		<summary type="html">&lt;p&gt;Vikman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Итак, я VIKman и хочу вас научить делать квесты.&lt;br /&gt;
Для этого мы создадим нового НПС и сделаем квест чтобы взять у него флеш-карту.)&lt;br /&gt;
Для всего этого нам понадобится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;Папка config&lt;br /&gt;
	gameplay\character_desc_escape.xml&lt;br /&gt;
	gameplay\dialogs_escape.xml&lt;br /&gt;
	gameplay\info_l01escape.xml&lt;br /&gt;
	gameplay\npc_profile.xml&lt;br /&gt;
	gameplay\tasks_escape.xml&lt;br /&gt;
	game_story_ids.ltx&lt;br /&gt;
	misc\quest_items.ltx&lt;br /&gt;
	scripts\tester_logic.ltx -- его мы создадим&lt;br /&gt;
	text\rus\stable_dialogs_escape.xml&lt;br /&gt;
	text\rus\string_table_items.xml&lt;br /&gt;
Папка scripts&lt;br /&gt;
	escape_dialog.script&lt;br /&gt;
	&lt;br /&gt;
	И естественно all.spawn&amp;lt;/ini&amp;gt;&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;br /&gt;
Первым делом снимем координаты где будет находится наш флешко-датель.)&lt;br /&gt;
&lt;br /&gt;
У меня вот такие координаты: position = -172.21215820313,-19.941787719727,-161.09272766113, game_vertex_id = 52, level_vertex_id = 76655&lt;br /&gt;
&lt;br /&gt;
Распаковываем с ACDC all.spawn открываем alife_l01_escape.ltx и пишем в самый конец:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker&lt;br /&gt;
name = tester -//пишем что хотим&lt;br /&gt;
position = -172.21215820313,-19.941787719727,-161.09272766113 -//позиция&lt;br /&gt;
direction = 0,0,0 -// направление взгляда(можно писать всегда нули)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
money = 5000 -//его бабло&lt;br /&gt;
character_profile = tester -//ссылка на профиль в character_desc_локация(раз создаем в алайф эскейп значит и профиль будет искатсья в чарактер_деск_ескейп)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 52 -// гейм вертекс&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 76655 -//левел вертекс&lt;br /&gt;
object_flags = 0xffffffbf&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\tester_logic.ltx -// ссылка на логику&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse[smart_terrains]&lt;br /&gt;
none = true&lt;br /&gt;
END&lt;br /&gt;
story_id = 6001 -//его стори айди&lt;br /&gt;
 &lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\soldier\soldier_beret_1 -// его визуал&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:health = 1&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//опять пишем позицию&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0.028013030067086,0,0.9996075630188&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 1&lt;br /&gt;
upd:g_group = 2&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:next_game_vertex_id = 65535-//честно не знаю что это, я всегда пишу эти цифры&lt;br /&gt;
upd:prev_game_vertex_id = 65535-//не знаю, но пишем всегда это&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 1,2,2,1,2&lt;br /&gt;
predicate4 = 0,1,1,1&lt;br /&gt;
 &lt;br /&gt;
	; cse_ph_skeleton properties&lt;br /&gt;
 &lt;br /&gt;
upd:start_dialog =&lt;br /&gt;
 &lt;br /&gt;
; se_stalker properties&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дальше опишем в character_desc_escape.xml нашего НПС-а:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!---------------------------------------tester-------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;tester&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;Факер Марезфакер&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_green_stalker_3&amp;lt;/icon&amp;gt;  &amp;lt;!--его иконка--&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;Сталкер.&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;   &amp;lt;!--этого лучше не знать--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;150&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500&amp;quot; max=&amp;quot;1000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;  &amp;lt;!--его голос--&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;visual&amp;gt;actors\novice\green_stalker_3&amp;lt;/visual&amp;gt;  &amp;lt;!--его визуал--&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n      &amp;lt;!--его инвентарь,что в нем есть--&amp;gt;&lt;br /&gt;
	wpn_ak74u \n&lt;br /&gt;
	ammo_5.45x39_fmj = 10 \n&lt;br /&gt;
	&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog&amp;lt;/start_dialog&amp;gt;      &amp;lt;!--его диалоги--&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_npc&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле npc_profile.xml прописываем класс непися:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;character id=&amp;quot;escape_trader&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;Trader&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;escape_trader&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&lt;br /&gt;
	&amp;lt;!---------------------------------------------------------------TEST----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;character id=&amp;quot;tester&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;tester&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле game_story_ids.ltx прописываем его SID который должен совпадать с его id из all.spawn:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	  ; Escape (0-99)&lt;br /&gt;
	  6001          = &amp;quot;tester&amp;quot;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дадим неписю логику, создадим файл: scripts\tester_logic.ltx , мне понравилась чтобы он сидел на пятой точке, пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[logic]&lt;br /&gt;
active = remark1&lt;br /&gt;
danger = danger_ignore&lt;br /&gt;
 &lt;br /&gt;
[danger_ignore]&lt;br /&gt;
ignore_distance = 5&lt;br /&gt;
 &lt;br /&gt;
[remark1]&lt;br /&gt;
anim = sit_ass&lt;br /&gt;
no_move = true&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Фуххх, вроде непся создали переходим к долгожданному квесту))))&lt;br /&gt;
&lt;br /&gt;
Нам нужно создать инфопоршены для этого в файле с адресом: gameplay\info_l01escape.xml после &amp;lt;game_information_portions&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;info_portion id=&amp;quot;test_kvest_start&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;       &amp;lt;!--обращение к таску--&amp;gt;&lt;br /&gt;
	&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_have&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_done&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак мы создали направление на задание &amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;, что ж пропишем его. Для этого открываем файл по адресу gameplay\tasks_escape.xml и пишем в самом начале:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!------------------------------------------------------------test----------&amp;gt;&lt;br /&gt;
	&amp;lt;game_task id=&amp;quot;test_kvest&amp;quot;&amp;gt;       &amp;lt;!--название таска из gameplay\info_l01escape.xml--&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Принести КПК Сидору&amp;lt;/title&amp;gt;       &amp;lt;!--название которое будет писатся в кпк--&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;icon&amp;gt;ui_iconsTotal_lost_thing&amp;lt;/icon&amp;gt;      &amp;lt;!--иконка таска--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Факер Мазерфакер&amp;quot;&amp;gt;green_location&amp;lt;/map_location_type&amp;gt;      &amp;lt;!--обозначение на карте--&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;tester&amp;lt;/object_story_id&amp;gt;      &amp;lt;!--сюда пишем наш sid из game_story_ids.ltx, который в свою очередь определяется по story_id из all.spawn--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_have&amp;lt;/infoportion_complete&amp;gt;      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Вернуться к Сидору&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Сидорович&amp;quot;&amp;gt;blue_location&amp;lt;/map_location_type&amp;gt;      &amp;lt;!--обозначение на карте--&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;Escape_Trader&amp;lt;/object_story_id&amp;gt;      &amp;lt;!--сюда пишем наш sid из game_story_ids.ltx, который в свою очередь определяется по story_id из all.spawn--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;	      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
	&amp;lt;/game_task&amp;gt;&lt;br /&gt;
&amp;lt;!------------------------------------------------------------test----------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таск готов! После всего этого я уже устал писать это всё, ну да ладно, продолжим)))&lt;br /&gt;
&lt;br /&gt;
Создадим наш новый КПК который нам даст наш многоуважаемый Факер Мазерфакер)))&lt;br /&gt;
&lt;br /&gt;
Для этого откроем файл misc\quest_items.ltx и пропише секцию нашего кпк:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[moy_kpk]:identity_immunities&lt;br /&gt;
GroupControlSection	= spawn_group&lt;br /&gt;
discovery_dependency = &lt;br /&gt;
$spawn = &amp;quot;devices\quest_items\moy_kpk&amp;quot;&lt;br /&gt;
;$prefetch 	= 32&lt;br /&gt;
class= II_ATTCH&lt;br /&gt;
cform= skeleton&lt;br /&gt;
visual= equipments\item_pda.ogf&lt;br /&gt;
radius= 1&lt;br /&gt;
;script_binding= stalker.object_init&lt;br /&gt;
quest_item	= true&lt;br /&gt;
&lt;br /&gt;
description         = item_moy_kpk_desc&lt;br /&gt;
&lt;br /&gt;
inv_name	= item_moy_kpk_name&lt;br /&gt;
inv_name_short= item_moy_kpk_name&lt;br /&gt;
inv_weight	= 0.2&lt;br /&gt;
&lt;br /&gt;
inv_grid_width= 2&lt;br /&gt;
inv_grid_height= 1&lt;br /&gt;
inv_grid_x	= 6&lt;br /&gt;
inv_grid_y	= 13&lt;br /&gt;
cost= 0&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И русифицируем его в файле text\rus\string_table_items.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;string id=&amp;quot;item_moy_kpk_desc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацие. Доступ без пароля не возможен&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;item_moy_kpk_name&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацией&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&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;
BEGIN!!! (ВПЕРЕД(кто не в курсе дела))&lt;br /&gt;
&lt;br /&gt;
Пропишем путь к диалогу, открываем файл gameplay\character_desc_escape.xml и tradery дописываем 2 диалога:&lt;br /&gt;
&lt;br /&gt;
Ищем Сидора аха вот он&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog&amp;lt;/actor_dialog&amp;gt;        &amp;lt;!--наш диалог--&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_done&amp;lt;/actor_dialog&amp;gt;        &amp;lt;!--наш диалог--&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А путь к диалогу у Факера Мазерфакера уже прописан:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_npc&amp;lt;/actor_dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переходим непосредственно к самому диалогу. Открываем gameplay\dialogs_escape.xml и в самом начале после строки &amp;lt;game_dialogs&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	    &amp;lt;dialog id=&amp;quot;test_kvest_dialog&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_start&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
	            &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
	                &amp;lt;text&amp;gt;test_kvest_dialog_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;11&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_start&amp;lt;/give_info&amp;gt;         &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_11&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_2&amp;lt;/text&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_done&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_done&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_have&amp;lt;/has_info&amp;gt;         &amp;lt;!--проверка,есть ли у ГГ инфопоршень, если получил то диалог срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;escape_dialog.have_kpk&amp;lt;/precondition&amp;gt;         &amp;lt;!--проверка из скрипта--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.money_give_test&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_done&amp;lt;/give_info&amp;gt;              &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_sidor&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_npc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_have&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_start&amp;lt;/has_info&amp;gt;         &amp;lt;!--проверка,есть ли у ГГ инфопоршень, если получил то диалог срабатывает--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	          &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_have&amp;lt;/give_info&amp;gt;              &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_actor&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	              &amp;lt;text&amp;gt;test_kvest_dialog_npc_2&amp;lt;/text&amp;gt;&lt;br /&gt;
	                &amp;lt;action&amp;gt;dialogs.break_dialog&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	        &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
	    &amp;lt;/dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переводим наши каракули в файле text\rus\stable_dialogs_escape.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;!-------------------------------------------test------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Даров, радиоктивное мясо.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_11&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Слушай Меченный тебе я смотрю денег нужно подзаработать? Сходи к сталкеру одному он мне инфу должен.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Да, давай схожу.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Не, мне влом.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Вот я принес.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Молодец! Держи награду.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Эй, сталкер. Да ты мне Сидор сказал то что ты ему инфу должен принести.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Ой да, чувак на возьми.Спасибо, что напомнил, ато мне Сидор задницу надрал бы.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Давай. Я погнал.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;!-------------------------------------------test------------------------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописываем спавн кпк в инвертарь эктора при разговоре с Сами-Знаете_Кем)))&lt;br /&gt;
&lt;br /&gt;
Открываем escape_dialog.script и рисуем внутри вне всяких функций!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
-- это наши функции вызываемые из диалога&lt;br /&gt;
function money_give_test(first_speaker, second_speaker) --ГГ получает деньги&lt;br /&gt;
	dialogs.relocate_money(first_speaker, 1000, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function have_kpk(first_speaker, second_speaker) -- проверка есть ли у ГГ наш КПК&lt;br /&gt;
  	return first_speaker:object(&amp;quot;moy_kpk&amp;quot;) ~= nil&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_sidor(first_speaker, second_speaker) -- ГГ отдает КПК&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;out&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_actor(first_speaker, second_speaker) -- ГГ принимает КПК&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну. Вроде все. Что ж если какие-то вылеты перепроверьте все пункты, если уж что-то не так пишите по почте: vikman_david@mail.ru, с темой &amp;quot;Создание квестов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Всем спасибо все свободны.)))&lt;br /&gt;
&lt;br /&gt;
	Автор:VIKman&lt;br /&gt;
&lt;br /&gt;
	Выход:22.11.2010&lt;/div&gt;</summary>
		<author><name>Vikman</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%BF%D1%80%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%B0</id>
		<title>Звук при использовании предмета</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%97%D0%B2%D1%83%D0%BA_%D0%BF%D1%80%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%B0"/>
				<updated>2010-12-02T11:39:47Z</updated>
		
		<summary type="html">&lt;p&gt;Vikman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;создаете скрипт: имя_файла.script туда пишете&lt;br /&gt;
&lt;br /&gt;
код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
function use_snd(obj)&lt;br /&gt;
&lt;br /&gt;
local obj_sect = obj:section()&lt;br /&gt;
&lt;br /&gt;
local snd&lt;br /&gt;
&lt;br /&gt;
if obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]&lt;br /&gt;
&lt;br /&gt;
elseif obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]&lt;br /&gt;
&lt;br /&gt;
elseif obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]&lt;br /&gt;
&lt;br /&gt;
elseif obj_sect == 'ваш предмет' then snd = [[Путь_до_звука_относительно_папки_sounds]]&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if snd then&lt;br /&gt;
&lt;br /&gt;
local snd_obj = xr_sound.get_safe_sound_object(snd)&lt;br /&gt;
&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;
end&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
сохраняем &lt;br /&gt;
&lt;br /&gt;
открываем bind_stalker.script и в функцию function actor_binder:net_destroy() пишем &lt;br /&gt;
&lt;br /&gt;
код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
self.object:set_callback(callback.use_object, nil)&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и в функцию actor_binder:reinit() пишем&lt;br /&gt;
&lt;br /&gt;
код:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
self.object:set_callback(callback.use_object, self.use_object, self)&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и в этом жефайле создаем функцию:&lt;br /&gt;
&lt;br /&gt;
код:&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
function actor_binder:use_object(obj)&lt;br /&gt;
&lt;br /&gt;
имя_вашего_скрипта.use_snd(obj)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
все теперь при использовании предмета будет проигрыватся звук &lt;br /&gt;
&lt;br /&gt;
автор статьи: batment&lt;br /&gt;
&lt;br /&gt;
автор скрипта Gun12&lt;br /&gt;
&lt;br /&gt;
Переправка оформления : VIKman&lt;/div&gt;</summary>
		<author><name>Vikman</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)"/>
				<updated>2010-12-01T12:19:36Z</updated>
		
		<summary type="html">&lt;p&gt;Vikman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Итак, я VIKman и хочу вас научить делать квесты.&lt;br /&gt;
Для этого мы создадим нового НПС и сделаем квест чтобы взять у него флеш-карту.)&lt;br /&gt;
Для всего этого нам понадобится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;Папка config&lt;br /&gt;
	gameplay\character_desc_escape.xml&lt;br /&gt;
	gameplay\dialogs_escape.xml&lt;br /&gt;
	gameplay\info_l01escape.xml&lt;br /&gt;
	gameplay\npc_profile.xml&lt;br /&gt;
	gameplay\tasks_escape.xml&lt;br /&gt;
	game_story_ids.ltx&lt;br /&gt;
	misc\quest_items.ltx&lt;br /&gt;
	scripts\tester_logic.ltx -- его мы создадим&lt;br /&gt;
	text\rus\stable_dialogs_escape.xml&lt;br /&gt;
	text\rus\string_table_items.xml&lt;br /&gt;
Папка scripts&lt;br /&gt;
	escape_dialog.script&lt;br /&gt;
	&lt;br /&gt;
	И естественно all.spawn&amp;lt;/ini&amp;gt;&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;br /&gt;
Первым делом снимем координаты где будет находится наш флешко-датель.)&lt;br /&gt;
&lt;br /&gt;
У меня вот такие координаты: position = -172.21215820313,-19.941787719727,-161.09272766113, game_vertex_id = 52, level_vertex_id = 76655&lt;br /&gt;
&lt;br /&gt;
Распаковываем с ACDC all.spawn открываем alife_l01_escape.ltx и пишем в самый конец:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker&lt;br /&gt;
name = tester -//пишем что хотим&lt;br /&gt;
position = -172.21215820313,-19.941787719727,-161.09272766113 -//позиция&lt;br /&gt;
direction = 0,0,0 -// направление взгляда(можно писать всегда нули)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
money = 5000 -//его бабло&lt;br /&gt;
character_profile = tester -//ссылка на профиль в character_desc_локация(раз создаем в алайф эскейп значит и профиль будет искатсья в чарактер_деск_ескейп)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 52 -// гейм вертекс&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 76655 -//левел вертекс&lt;br /&gt;
object_flags = 0xffffffbf&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\tester_logic.ltx -// ссылка на логику&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse[smart_terrains]&lt;br /&gt;
none = true&lt;br /&gt;
END&lt;br /&gt;
story_id = 6001 -//его стори айди&lt;br /&gt;
 &lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\soldier\soldier_beret_1 -// его визуал&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:health = 1&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//опять пишем позицию&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0.028013030067086,0,0.9996075630188&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 1&lt;br /&gt;
upd:g_group = 2&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:next_game_vertex_id = 65535-//честно не знаю что это, я всегда пишу эти цифры&lt;br /&gt;
upd:prev_game_vertex_id = 65535-//не знаю, но пишем всегда это&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 1,2,2,1,2&lt;br /&gt;
predicate4 = 0,1,1,1&lt;br /&gt;
 &lt;br /&gt;
	; cse_ph_skeleton properties&lt;br /&gt;
 &lt;br /&gt;
upd:start_dialog =&lt;br /&gt;
 &lt;br /&gt;
; se_stalker properties&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дальше опишем в character_desc_escape.xml нашего НПС-а:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!---------------------------------------tester-------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;tester&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;Факер Марезфакер&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_green_stalker_3&amp;lt;/icon&amp;gt;  &amp;lt;!--его иконка--&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;Сталкер.&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;   &amp;lt;!--этого лучше не знать--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;150&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500&amp;quot; max=&amp;quot;1000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;  &amp;lt;!--его голос--&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;visual&amp;gt;actors\novice\green_stalker_3&amp;lt;/visual&amp;gt;  &amp;lt;!--его визуал--&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n      &amp;lt;!--его инвентарь,что в нем есть--&amp;gt;&lt;br /&gt;
	wpn_ak74u \n&lt;br /&gt;
	ammo_5.45x39_fmj = 10 \n&lt;br /&gt;
	&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog&amp;lt;/start_dialog&amp;gt;      &amp;lt;!--его диалоги--&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_dialog_npc&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле npc_profile.xml прописываем класс непися:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;character id=&amp;quot;escape_trader&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;Trader&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;escape_trader&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&lt;br /&gt;
	&amp;lt;!---------------------------------------------------------------TEST----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;character id=&amp;quot;tester&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;tester&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле game_story_ids.ltx прописываем его SID который должен совпадать с его id из all.spawn:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	  ; Escape (0-99)&lt;br /&gt;
	  6001          = &amp;quot;tester&amp;quot;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дадим неписю логику, создадим файл: scripts\tester_logic.ltx , мне понравилась чтобы он сидел на пятой точке, пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[logic]&lt;br /&gt;
active = remark1&lt;br /&gt;
danger = danger_ignore&lt;br /&gt;
 &lt;br /&gt;
[danger_ignore]&lt;br /&gt;
ignore_distance = 5&lt;br /&gt;
 &lt;br /&gt;
[remark1]&lt;br /&gt;
anim = sit_ass&lt;br /&gt;
no_move = true&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Фуххх, вроде непся создали переходим к долгожданному квесту))))&lt;br /&gt;
&lt;br /&gt;
Нам нужно создать инфопоршены для этого в файле с адресом: gameplay\info_l01escape.xml после &amp;lt;game_information_portions&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;info_portion id=&amp;quot;test_kvest_start&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;       &amp;lt;!--обращение к таску--&amp;gt;&lt;br /&gt;
	&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_have&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_done&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак мы создали направление на задание &amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;, что ж пропишем его. Для этого открываем файл по адресу gameplay\tasks_escape.xml и пишем в самом начале:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!------------------------------------------------------------test----------&amp;gt;&lt;br /&gt;
	&amp;lt;game_task id=&amp;quot;test_kvest&amp;quot;&amp;gt;       &amp;lt;!--название таска из gameplay\info_l01escape.xml--&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Принести КПК Сидору&amp;lt;/title&amp;gt;       &amp;lt;!--название которое будет писатся в кпк--&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;icon&amp;gt;ui_iconsTotal_lost_thing&amp;lt;/icon&amp;gt;      &amp;lt;!--иконка таска--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Факер Мазерфакер&amp;quot;&amp;gt;green_location&amp;lt;/map_location_type&amp;gt;      &amp;lt;!--обозначение на карте--&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;tester&amp;lt;/object_story_id&amp;gt;      &amp;lt;!--сюда пишем наш sid из game_story_ids.ltx, который в свою очередь определяется по story_id из all.spawn--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_have&amp;lt;/infoportion_complete&amp;gt;      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Вернуться к Сидору&amp;lt;/text&amp;gt;      &amp;lt;!--название части таска в кпк--&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Сидорович&amp;quot;&amp;gt;blue_location&amp;lt;/map_location_type&amp;gt;      &amp;lt;!--обозначение на карте--&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;Escape_Trader&amp;lt;/object_story_id&amp;gt;      &amp;lt;!--сюда пишем наш sid из game_story_ids.ltx, который в свою очередь определяется по story_id из all.spawn--&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;	      &amp;lt;!--инфопоршень из info_l01escape.xml при его получении, часть таска выполняется--&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
	&amp;lt;/game_task&amp;gt;&lt;br /&gt;
&amp;lt;!------------------------------------------------------------test----------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таск готов! После всего этого я уже устал писать это всё, ну да ладно, продолжим)))&lt;br /&gt;
&lt;br /&gt;
Создадим наш новый КПК который нам даст наш многоуважаемый Факер Мазерфакер)))&lt;br /&gt;
&lt;br /&gt;
Для этого откроем файл misc\quest_items.ltx и пропише секцию нашего кпк:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[moy_kpk]:identity_immunities&lt;br /&gt;
GroupControlSection	= spawn_group&lt;br /&gt;
discovery_dependency = &lt;br /&gt;
$spawn = &amp;quot;devices\quest_items\moy_kpk&amp;quot;&lt;br /&gt;
;$prefetch 	= 32&lt;br /&gt;
class= II_ATTCH&lt;br /&gt;
cform= skeleton&lt;br /&gt;
visual= equipments\item_pda.ogf&lt;br /&gt;
radius= 1&lt;br /&gt;
;script_binding= stalker.object_init&lt;br /&gt;
quest_item	= true&lt;br /&gt;
&lt;br /&gt;
description         = item_moy_kpk_desc&lt;br /&gt;
&lt;br /&gt;
inv_name	= item_moy_kpk_name&lt;br /&gt;
inv_name_short= item_moy_kpk_name&lt;br /&gt;
inv_weight	= 0.2&lt;br /&gt;
&lt;br /&gt;
inv_grid_width= 2&lt;br /&gt;
inv_grid_height= 1&lt;br /&gt;
inv_grid_x	= 6&lt;br /&gt;
inv_grid_y	= 13&lt;br /&gt;
cost= 0&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И русифицируем его в файле text\rus\string_table_items.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;string id=&amp;quot;item_moy_kpk_desc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацие. Доступ без пароля не возможен&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;item_moy_kpk_name&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацией&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&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;
BEGIN!!! (ВПЕРЕД(кто не в курсе дела))&lt;br /&gt;
&lt;br /&gt;
Пропишем путь к диалогу, открываем файл gameplay\character_desc_escape.xml и tradery дописываем 2 диалога:&lt;br /&gt;
&lt;br /&gt;
Ищем Сидора аха вот он&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog&amp;lt;/actor_dialog&amp;gt;        &amp;lt;!--наш диалог--&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_done&amp;lt;/actor_dialog&amp;gt;        &amp;lt;!--наш диалог--&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А путь к диалогу у Факера Мазерфакера уже прописан:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_npc&amp;lt;/actor_dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переходим непосредственно к самому диалогу. Открываем gameplay\dialogs_escape.xml и в самом начале после строки &amp;lt;game_dialogs&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	    &amp;lt;dialog id=&amp;quot;test_kvest_dialog&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_start&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
	            &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
	                &amp;lt;text&amp;gt;test_kvest_dialog_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;11&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_start&amp;lt;/give_info&amp;gt;         &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_11&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_2&amp;lt;/text&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_done&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_done&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_have&amp;lt;/has_info&amp;gt;         &amp;lt;!--проверка,есть ли у ГГ инфопоршень, если получил то диалог срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;escape_dialog.have_kpk&amp;lt;/precondition&amp;gt;         &amp;lt;!--проверка из скрипта--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.money_give_test&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_done&amp;lt;/give_info&amp;gt;              &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_sidor&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_npc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_have&amp;lt;/dont_has_info&amp;gt;         &amp;lt;!--проверка, не получил ли ГГ инфопоршень раньше, если получил то диалог не срабатывает--&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_start&amp;lt;/has_info&amp;gt;         &amp;lt;!--проверка,есть ли у ГГ инфопоршень, если получил то диалог срабатывает--&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	          &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_have&amp;lt;/give_info&amp;gt;              &amp;lt;!--даем инфопоршень--&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_actor&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	              &amp;lt;text&amp;gt;test_kvest_dialog_npc_2&amp;lt;/text&amp;gt;&lt;br /&gt;
	                &amp;lt;action&amp;gt;dialogs.break_dialog&amp;lt;/action&amp;gt;              &amp;lt;!--вызов функции из скрипта--&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	        &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
	    &amp;lt;/dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переводим наши каракули в файле text\rus\stable_dialogs_escape.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;!-------------------------------------------test------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Даров, радиоктивное мясо.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_11&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Слушай Меченный тебе я смотрю денег нужно подзаработать? Сходи к сталкеру одному он мне инфу должен.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Да, давай схожу.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Не, мне влом.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Вот я принес.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Молодец! Держи награду.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Эй, сталкер. Да ты мне Сидор сказал то что ты ему инфу должен принести.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Ой да, чувак на возьми.Спасибо, что напомнил, ато мне Сидор задницу надрал бы.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Давай. Я погнал.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;!-------------------------------------------test------------------------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописываем спавн кпк в инвертарь эктора при разговоре с Сами-Знаете_Кем)))&lt;br /&gt;
&lt;br /&gt;
Открываем escape_dialog.script и рисуем внутри вне всяких функций!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&lt;br /&gt;
-- это наши функции вызываемые из диалога&lt;br /&gt;
function money_give_test(first_speaker, second_speaker) --ГГ получает деньги&lt;br /&gt;
	dialogs.relocate_money(first_speaker, 1000, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function have_kpk(first_speaker, second_speaker) -- проверка есть ли у ГГ наш КПК&lt;br /&gt;
  	return first_speaker:object(&amp;quot;moy_kpk&amp;quot;) ~= nil&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_sidor(first_speaker, second_speaker) -- ГГ отдает КПК&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;out&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_actor(first_speaker, second_speaker) -- ГГ принимает КПК&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну. Вроде все. Что ж если какие-то вылеты перепроверьте все пункты, если уж что-то не так пишите по почте: vikman_david@mail.ru, с темой &amp;quot;Создание квестов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Всем спасибо все свободны.)))&lt;br /&gt;
&lt;br /&gt;
	Автор:VIKman&lt;br /&gt;
&lt;br /&gt;
	Выход:22.11.2010&lt;/div&gt;</summary>
		<author><name>Vikman</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)</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%BA%D0%B2%D0%B5%D1%81%D1%82%D0%B0(%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80)"/>
				<updated>2010-11-23T05:29:23Z</updated>
		
		<summary type="html">&lt;p&gt;Vikman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Итак, я VIKman и хочу вас научить делать квесты.&lt;br /&gt;
Для этого мы создадим нового НПС и сделаем квест чтобы взять у него флеш-карту.)&lt;br /&gt;
Для всего этого нам понадобится:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;Папка config&lt;br /&gt;
	gameplay\character_desc_escape.xml&lt;br /&gt;
	gameplay\dialogs_escape.xml&lt;br /&gt;
	gameplay\info_l01escape.xml&lt;br /&gt;
	gameplay\npc_profile.xml&lt;br /&gt;
	gameplay\tasks_escape.xml&lt;br /&gt;
	game_story_ids.ltx&lt;br /&gt;
	misc\quest_items.ltx&lt;br /&gt;
	scripts\tester_logic.ltx -- его мы создадим&lt;br /&gt;
	text\rus\stable_dialogs_escape.xml&lt;br /&gt;
	text\rus\string_table_items.xml&lt;br /&gt;
Папка scripts&lt;br /&gt;
	escape_dialog.script&lt;br /&gt;
	&lt;br /&gt;
	И естественно all.spawn&amp;lt;/ini&amp;gt;&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;br /&gt;
Первым делом снимем координаты где будет находится наш флешко-датель.)&lt;br /&gt;
&lt;br /&gt;
У меня вот такие координаты: position = -172.21215820313,-19.941787719727,-161.09272766113, game_vertex_id = 52, level_vertex_id = 76655&lt;br /&gt;
&lt;br /&gt;
Распаковываем с ACDC all.spawn открываем alife_l01_escape.ltx и пишем в самый конец:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[870]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker -//это для игры тут пишется к примеру если ето у тебя сталкера или бандюки то должно быть section_name = stalker&lt;br /&gt;
name = tester -//пишем что хотим&lt;br /&gt;
position = -172.21215820313,-19.941787719727,-161.09272766113 -//позиция&lt;br /&gt;
direction = 0,0,0 -// направление взгляда(можно писать всегда нули)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
money = 5000 -//его бабло&lt;br /&gt;
character_profile = tester -//ссылка на профиль в character_desc_локация(раз создаем в алайф эскейп значит и профиль будет искатсья в чарактер_деск_ескейп)&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 52 -// гейм вертекс&lt;br /&gt;
distance = 0&lt;br /&gt;
level_vertex_id = 76655 -//левел вертекс&lt;br /&gt;
object_flags = 0xffffffbf&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\tester_logic.ltx -// ссылка на логику&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
; cse[smart_terrains]&lt;br /&gt;
none = true&lt;br /&gt;
END&lt;br /&gt;
story_id = 6001 -//его стори айди&lt;br /&gt;
 &lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\soldier\soldier_beret_1 -// его визуал&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:health = 1&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//опять пишем позицию&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0.028013030067086,0,0.9996075630188&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 1&lt;br /&gt;
upd:g_group = 2&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
upd:next_game_vertex_id = 65535-//честно не знаю что это, я всегда пишу эти цифры&lt;br /&gt;
upd:prev_game_vertex_id = 65535-//не знаю, но пишем всегда это&lt;br /&gt;
upd:distance_from_point = 0&lt;br /&gt;
upd:distance_to_point = 0&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 1,2,2,1,2&lt;br /&gt;
predicate4 = 0,1,1,1&lt;br /&gt;
 &lt;br /&gt;
	; cse_ph_skeleton properties&lt;br /&gt;
 &lt;br /&gt;
upd:start_dialog =&lt;br /&gt;
 &lt;br /&gt;
; se_stalker properties&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дальше опишем в character_desc_escape.xml нашего НПС-а:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!---------------------------------------tester-------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;tester&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;Факер Марезфакер&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_green_stalker_3&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;Сталкер.&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;150&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500&amp;quot; max=&amp;quot;1000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;visual&amp;gt;actors\novice\green_stalker_3&amp;lt;/visual&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_ak74u \n&lt;br /&gt;
	ammo_5.45x39_fmj = 10 \n&lt;br /&gt;
	&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_dialog_npc&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле npc_profile.xml прописываем класс непися:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;character id=&amp;quot;escape_trader&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;Trader&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;escape_trader&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&lt;br /&gt;
	&amp;lt;!---------------------------------------------------------------TEST----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;character id=&amp;quot;tester&amp;quot;&amp;gt;	&lt;br /&gt;
	&amp;lt;class&amp;gt;tester&amp;lt;/class&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character&amp;gt;tester&amp;lt;/specific_character&amp;gt;&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле game_story_ids.ltx прописываем его SID который должен совпадать с его id из all.spawn:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	  ; Escape (0-99)&lt;br /&gt;
	  6001          = &amp;quot;tester&amp;quot;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дадим неписю логику, создадим файл: scripts\tester_logic.ltx , мне понравилась чтобы он сидел на пятой точке, пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[logic]&lt;br /&gt;
active = remark1&lt;br /&gt;
danger = danger_ignore&lt;br /&gt;
 &lt;br /&gt;
[danger_ignore]&lt;br /&gt;
ignore_distance = 5&lt;br /&gt;
 &lt;br /&gt;
[remark1]&lt;br /&gt;
anim = sit_ass&lt;br /&gt;
no_move = true&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Фуххх, вроде непся создали переходим к долгожданному квесту))))&lt;br /&gt;
&lt;br /&gt;
Нам нужно создать инфопоршены для этого в файле с адресом: gameplay\info_l01escape.xml после &amp;lt;game_information_portions&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;info_portion id=&amp;quot;test_kvest_start&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;&lt;br /&gt;
	&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_have&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;test_kvest_done&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Итак мы создали направление на задание &amp;lt;task&amp;gt;test_kvest&amp;lt;/task&amp;gt;, что ж пропишем его. Для этого открываем файл по адресу gameplay\tasks_escape.xml и пишем в самом начале:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;!------------------------------------------------------------test----------&amp;gt;&lt;br /&gt;
	&amp;lt;game_task id=&amp;quot;test_kvest&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Принести КПК Сидору&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;icon&amp;gt;ui_iconsTotal_lost_thing&amp;lt;/icon&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Бежать к сталкеру&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Факер Мазерфакер&amp;quot;&amp;gt;green_location&amp;lt;/map_location_type&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;tester&amp;lt;/object_story_id&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_have&amp;lt;/infoportion_complete&amp;gt;&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
&amp;lt;objective&amp;gt;&lt;br /&gt;
	&amp;lt;text&amp;gt;Вернуться к Сидору&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;map_location_type hint=&amp;quot;Сидорович&amp;quot;&amp;gt;blue_location&amp;lt;/map_location_type&amp;gt;&lt;br /&gt;
	&amp;lt;object_story_id&amp;gt;Escape_Trader&amp;lt;/object_story_id&amp;gt;&lt;br /&gt;
	&amp;lt;infoportion_complete&amp;gt;test_kvest_done&amp;lt;/infoportion_complete&amp;gt;	&lt;br /&gt;
&amp;lt;/objective&amp;gt;&lt;br /&gt;
	&amp;lt;/game_task&amp;gt;&lt;br /&gt;
&amp;lt;!------------------------------------------------------------test----------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таск готов! После всего этого я уже устал писать это всё, ну да ладно, продолжим)))&lt;br /&gt;
&lt;br /&gt;
Создадим наш новый КПК который нам даст наш многоуважаемый Факер Мазерфакер)))&lt;br /&gt;
&lt;br /&gt;
Для этого откроем файл misc\quest_items.ltx и пропише секцию нашего кпк:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	[moy_kpk]:identity_immunities&lt;br /&gt;
GroupControlSection	= spawn_group&lt;br /&gt;
discovery_dependency = &lt;br /&gt;
$spawn = &amp;quot;devices\quest_items\moy_kpk&amp;quot;&lt;br /&gt;
;$prefetch 	= 32&lt;br /&gt;
class= II_ATTCH&lt;br /&gt;
cform= skeleton&lt;br /&gt;
visual= equipments\item_pda.ogf&lt;br /&gt;
radius= 1&lt;br /&gt;
;script_binding= stalker.object_init&lt;br /&gt;
quest_item	= true&lt;br /&gt;
&lt;br /&gt;
description         = item_moy_kpk_desc&lt;br /&gt;
&lt;br /&gt;
inv_name	= item_moy_kpk_name&lt;br /&gt;
inv_name_short= item_moy_kpk_name&lt;br /&gt;
inv_weight	= 0.2&lt;br /&gt;
&lt;br /&gt;
inv_grid_width= 2&lt;br /&gt;
inv_grid_height= 1&lt;br /&gt;
inv_grid_x	= 6&lt;br /&gt;
inv_grid_y	= 13&lt;br /&gt;
cost= 0&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И русифицируем его в файле text\rus\string_table_items.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;string id=&amp;quot;item_moy_kpk_desc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацие. Доступ без пароля не возможен&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;item_moy_kpk_name&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;КПК с информацией&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&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;
BEGIN!!! (ВПЕРЕД(кто не в курсе дела))&lt;br /&gt;
&lt;br /&gt;
Пропишем путь к диалогу, открываем файл gameplay\character_desc_escape.xml и tradery дописываем 2 диалога:&lt;br /&gt;
&lt;br /&gt;
Ищем Сидора аха вот он&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значит пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	&amp;lt;specific_character id=&amp;quot;escape_trader&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;escape_trader_name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_u_trader&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;escape_trader_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;trader&amp;lt;/class&amp;gt;&lt;br /&gt;
&amp;lt;community&amp;gt;trader&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\trader\trader&amp;lt;/visual&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;330&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;23&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;100000&amp;quot; max=&amp;quot;100000&amp;quot; infinitive=&amp;quot;1&amp;quot;/&amp;gt; &lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
	[spawn] \n&lt;br /&gt;
	wpn_knife \n&lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;escape_trader_start_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_talk_info&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_jobs&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;tm_trader_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;escape_trader_done_blockpost_box&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_done&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А путь к диалогу у Факера Мазерфакера уже прописан:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;actor_dialog&amp;gt;test_kvest_dialog_npc&amp;lt;/actor_dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переходим непосредственно к самому диалогу. Открываем gameplay\dialogs_escape.xml и в самом начале после строки &amp;lt;game_dialogs&amp;gt; пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;	    &amp;lt;dialog id=&amp;quot;test_kvest_dialog&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_start&amp;lt;/dont_has_info&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
	            &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
	                &amp;lt;text&amp;gt;test_kvest_dialog_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;11&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_start&amp;lt;/give_info&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_11&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_2&amp;lt;/text&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_done&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_done&amp;lt;/dont_has_info&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_have&amp;lt;/has_info&amp;gt;&lt;br /&gt;
&amp;lt;precondition&amp;gt;escape_dialog.have_kpk&amp;lt;/precondition&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_done_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.money_give_test&amp;lt;/action&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_done&amp;lt;/give_info&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_sidor&amp;lt;/action&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
       &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
   &amp;lt;/dialog&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
   &amp;lt;dialog id=&amp;quot;test_kvest_dialog_npc&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;dont_has_info&amp;gt;test_kvest_have&amp;lt;/dont_has_info&amp;gt;&lt;br /&gt;
&amp;lt;has_info&amp;gt;test_kvest_start&amp;lt;/has_info&amp;gt;&lt;br /&gt;
       &amp;lt;phrase_list&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_0&amp;lt;/text&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;1&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	          &amp;lt;phrase id=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;text&amp;gt;test_kvest_dialog_npc_1&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;give_info&amp;gt;test_kvest_have&amp;lt;/give_info&amp;gt;&lt;br /&gt;
	&amp;lt;action&amp;gt;escape_dialog.give_kpk_to_actor&amp;lt;/action&amp;gt;&lt;br /&gt;
               &amp;lt;next&amp;gt;2&amp;lt;/next&amp;gt;&lt;br /&gt;
           &amp;lt;phrase id=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
	              &amp;lt;text&amp;gt;test_kvest_dialog_npc_2&amp;lt;/text&amp;gt;&lt;br /&gt;
	                &amp;lt;action&amp;gt;dialogs.break_dialog&amp;lt;/action&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	            &amp;lt;/phrase&amp;gt;&lt;br /&gt;
	        &amp;lt;/phrase_list&amp;gt;&lt;br /&gt;
	    &amp;lt;/dialog&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переводим наши каракули в файле text\rus\stable_dialogs_escape.xml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;&amp;lt;!-------------------------------------------test------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Даров, радиоктивное мясо.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_11&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Слушай Меченный тебе я смотрю денег нужно подзаработать? Сходи к сталкеру одному он мне инфу должен.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Да, давай схожу.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Не, мне влом.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Вот я принес.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_done_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Молодец! Держи награду.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Эй, сталкер. Да ты мне Сидор сказал то что ты ему инфу должен принести.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Ой да, чувак на возьми.Спасибо, что напомнил, ато мне Сидор задницу надрал бы.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;test_kvest_dialog_npc_2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;text&amp;gt;Давай. Я погнал.&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
&amp;lt;!-------------------------------------------test------------------------&amp;gt;&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Прописываем спавн кпк в инвертарь эктора при разговоре с Сами-Знаете_Кем)))&lt;br /&gt;
&lt;br /&gt;
Открываем escape_dialog.script и рисуем внутри вне всяких функций!!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;function money_give_test(first_speaker, second_speaker)&lt;br /&gt;
	dialogs.relocate_money(first_speaker, 1000, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function have_kpk(first_speaker, second_speaker)&lt;br /&gt;
  	return first_speaker:object(&amp;quot;moy_kpk&amp;quot;) ~= nil&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_sidor(first_speaker, second_speaker)&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;out&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function give_kpk_to_actor(first_speaker, second_speaker)&lt;br /&gt;
	dialogs.relocate_item_section(first_speaker, &amp;quot;moy_kpk&amp;quot;, &amp;quot;in&amp;quot;)&lt;br /&gt;
end&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ну. Вроде все. Что ж если какие-то вылеты перепроверьте все пункты, если уж что-то не так пишите по почте: vikman_david@mail.ru, с темой &amp;quot;Создание квестов&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Всем спасибо все свободны.)))&lt;br /&gt;
&lt;br /&gt;
	Автор:VIKman&lt;br /&gt;
&lt;br /&gt;
	Выход:22.11.2010&lt;/div&gt;</summary>
		<author><name>Vikman</name></author>	</entry>

	</feed>