<?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=HikeR</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=HikeR"/>
		<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/HikeR"/>
		<updated>2026-06-09T08:51:50Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=S.T.A.L.K.E.R._Inside_Wiki:%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B</id>
		<title>S.T.A.L.K.E.R. Inside Wiki:Администраторы</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=S.T.A.L.K.E.R._Inside_Wiki:%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B"/>
				<updated>2020-03-10T12:25:05Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Главные редакторы */ -HikeR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Технические админы ==&lt;br /&gt;
Принимают пожелания, предложения по функционалу и работе базы знаний.&lt;br /&gt;
&lt;br /&gt;
=== OlegatoR ===&lt;br /&gt;
*[mailto:oleg@gameru.net электронная почта]&lt;br /&gt;
&lt;br /&gt;
== Главные редакторы ==&lt;br /&gt;
Отвечают на любые вопросы. Принимают пожелания, предложения по материалам, находящимся в базе знаний.&lt;br /&gt;
&lt;br /&gt;
=== Loxotron ===&lt;br /&gt;
*[mailto:loxotron@bk.ru электронная почта]&lt;br /&gt;
*ICQ: *********&lt;br /&gt;
&lt;br /&gt;
=== RedPython ===&lt;br /&gt;
*[mailto:redpythonred@gmail.com электронная почта]&lt;br /&gt;
*ICQ: *********&lt;br /&gt;
&lt;br /&gt;
== Новости STALKER Wiki ==&lt;br /&gt;
&lt;br /&gt;
'''- январь 2008 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Поддержка flash мувиков&lt;br /&gt;
&lt;br /&gt;
'''- июнь 2009 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Исправлена загрузка картинок&lt;br /&gt;
&lt;br /&gt;
'''- август 2009 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Установлена reCAPTCHA&lt;br /&gt;
&lt;br /&gt;
'''- февраль 2010 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Исправлено отображение картинок&lt;br /&gt;
&lt;br /&gt;
'''- февраль 2011 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Обновлен движок до MediaWiki 1.16.2&lt;br /&gt;
&lt;br /&gt;
'''- май 2011 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Установлена reCAPTCHA&lt;br /&gt;
&lt;br /&gt;
'''- сентябрь 2011 -'''&amp;lt;br/&amp;gt;&lt;br /&gt;
Исправлено проигрывание flash-роликов&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9_%D0%9D%D0%9F%D0%A1.</id>
		<title>Восстановление Вырезанных Анимаций НПС.</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9_%D0%9D%D0%9F%D0%A1."/>
				<updated>2010-08-27T10:44:05Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: перенес в &amp;quot;незаконченное&amp;quot;, см. обсуждение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Редактирование и восстановление вырезанных анимаций NPC=&lt;br /&gt;
'''Нус... Приступим =)'''&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Мой урок, думаю, поможет новичкам!'''&lt;br /&gt;
|-&lt;br /&gt;
|__________________________________&lt;br /&gt;
|-&lt;br /&gt;
|''Первые шаги...''&lt;br /&gt;
|- &lt;br /&gt;
|''Что нам нужно???''&lt;br /&gt;
|- &lt;br /&gt;
|''Для восстановления необходимо сначала посмотреть, что восстанавливать. Так ведь?''&lt;br /&gt;
|- &lt;br /&gt;
|'''1. SDK'''&lt;br /&gt;
|- &lt;br /&gt;
|'''2. Конвертер от бардака!'''&lt;br /&gt;
|- &lt;br /&gt;
| '''Ну и естественно хоть чуть-чуть умения в обращении с этими вещами!'''&lt;br /&gt;
|- &lt;br /&gt;
|''Просмотр анимаций...''&lt;br /&gt;
|- &lt;br /&gt;
|''Делаем батник (''файл с расширением .bat, создается в блокноте. прим. Provod[Nik]'' ) для конвертации модели из'' '''ogf''' в '''object'''.&lt;br /&gt;
|- &lt;br /&gt;
|''Ну, возьмем модельку Наёмника!''&lt;br /&gt;
|- &lt;br /&gt;
|''Название:''&lt;br /&gt;
|-&lt;br /&gt;
|'''stalker_ki_mask.ogf '''&lt;br /&gt;
|-&lt;br /&gt;
|''Путь:''&lt;br /&gt;
|- ''\gamedata\meshes\actors\killer''&lt;br /&gt;
|''Теперь очередь батника!''&lt;br /&gt;
|- &lt;br /&gt;
|''батник:''&lt;br /&gt;
|-&lt;br /&gt;
|''converter -ogf -object stalker_ki_mask.ogf&lt;br /&gt;
|-&lt;br /&gt;
|''pause''&lt;br /&gt;
|-&lt;br /&gt;
|_____________________&lt;br /&gt;
|-&lt;br /&gt;
| ''Всё запускаем батник и появляется файл:''&lt;br /&gt;
|-&lt;br /&gt;
|'''stalker_ki_mask.object'''&lt;br /&gt;
|- &lt;br /&gt;
|''Открываем его в'' '''SDK''' ''и кликаем на три точки в'' '''motion reference''' , ''и снимаем все галочки!''&lt;br /&gt;
|-&lt;br /&gt;
|''Дальше нажимаем кнопку '' '''append''' ''и загружаем'' '''.skls''' ''файл!''&lt;br /&gt;
|-&lt;br /&gt;
|''чтобы получить'' '''.skls''' ''файл нам нужно создать опять же батник и файл с анимациями!''&lt;br /&gt;
|-&lt;br /&gt;
|''Мы возьмём файл со сталкерскими анимациями!''&lt;br /&gt;
|-&lt;br /&gt;
|''Название:''&lt;br /&gt;
|-&lt;br /&gt;
|'''stalker_animation.omf'''&lt;br /&gt;
|-&lt;br /&gt;
|''Путь:''&lt;br /&gt;
|-&lt;br /&gt;
|''\gamedata\meshes\actors''&lt;br /&gt;
|-&lt;br /&gt;
|''батник:''&lt;br /&gt;
|-&lt;br /&gt;
| ''converter -omf -skls stalker_animation.omf''&lt;br /&gt;
|-&lt;br /&gt;
| ''pause''&lt;br /&gt;
|-&lt;br /&gt;
|''Всё, запускаем батник и перед нами файл'' '''stalker_animation.skls'''&lt;br /&gt;
|-&lt;br /&gt;
|_____________________________&lt;br /&gt;
|-&lt;br /&gt;
|''Выбор анимации...''&lt;br /&gt;
|-&lt;br /&gt;
|''В SDK нажимаем на Motion и перед нами появляется список анимаций!''&lt;br /&gt;
|-&lt;br /&gt;
|''Я нашёл вырезанную анимацию чистки ствола!''&lt;br /&gt;
|-&lt;br /&gt;
|''Название:''&lt;br /&gt;
|-&lt;br /&gt;
|'''chistit ruje_1'''&lt;br /&gt;
|-&lt;br /&gt;
|_____________________________&lt;br /&gt;
|-&lt;br /&gt;
|''Восстановление...''&lt;br /&gt;
|-&lt;br /&gt;
|''Для этого нужно два файла:''&lt;br /&gt;
|-&lt;br /&gt;
|'''state_mgr_animation_list.script'''&lt;br /&gt;
|-&lt;br /&gt;
|'''state_lib.script'''&lt;br /&gt;
|-&lt;br /&gt;
|''В первом прописываем нашу анимку вот так:''&lt;br /&gt;
|-&lt;br /&gt;
|''stulik = { prop = { maxidle = 1,''&lt;br /&gt;
|-&lt;br /&gt;
|''sumidle = 1,''&lt;br /&gt;
|-&lt;br /&gt;
|''rnd = 100 },''&lt;br /&gt;
|-&lt;br /&gt;
|''into = { [0] = {&amp;quot;chistit ruje_1&amp;quot;, {a=&amp;quot;wpn_sig220&amp;quot;}, &amp;quot;chistit ruje_1&amp;quot;} },''&lt;br /&gt;
|-&lt;br /&gt;
|''out = nil,''&lt;br /&gt;
|-&lt;br /&gt;
|''idle = { [0] = &amp;quot;chistit ruje_1&amp;quot; },''&lt;br /&gt;
|-&lt;br /&gt;
|''rnd = nil },''&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|'''Разъяснение:'''&lt;br /&gt;
|-&lt;br /&gt;
|''Толком я не понял что за что отвечает, но что-то я всё же понял...''&lt;br /&gt;
|-&lt;br /&gt;
|'''stulik''' ''-- Здесь можно писать что угодно это название анимки которое будет использоваться при ''&lt;br /&gt;
|-&lt;br /&gt;
|''запись в Логику...''&lt;br /&gt;
|-&lt;br /&gt;
|'''into''' ''-- использовать''&lt;br /&gt;
|-&lt;br /&gt;
|'''out''' ''-- выкинуть''&lt;br /&gt;
|-&lt;br /&gt;
|'''idle''' ''-- идловые анимки.''&lt;br /&gt;
|-&lt;br /&gt;
|'''rnd''' ''-- используется для групповых анимаций, типа повернулся влево вправо встал сел...''&lt;br /&gt;
|-&lt;br /&gt;
|'''nil''' ''-- не использовать.''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|''Так же Объяснения от Замечательного человека Максим Р.''&lt;br /&gt;
|-&lt;br /&gt;
|'''into''' ''- входная анимация (начальная);''&lt;br /&gt;
|-&lt;br /&gt;
|'''out''' ''- выходная анимация (конечная);''&lt;br /&gt;
|-&lt;br /&gt;
|'''idle''' ''- анимация между into и out;''&lt;br /&gt;
|-&lt;br /&gt;
|'''rnd''' ''- случайная анимация, которая будет отыгрываться во время idle случайным образом.''&lt;br /&gt;
|-&lt;br /&gt;
|'''chistit ruje_1''' ''-- тут думаю понятно! (сама анимка)''&lt;br /&gt;
|-&lt;br /&gt;
|''Т.к. я до конца не разобрался врать не буду, что-то может и не так разъяснил то за что отвечает!''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|''В'' '''state_lib.script''' ''пишем следующее:''&lt;br /&gt;
|-&lt;br /&gt;
|'''stulik= {weapon = &amp;quot;unstrapped&amp;quot;,'''&lt;br /&gt;
|-&lt;br /&gt;
|'''movement = nil,'''&lt;br /&gt;
|-&lt;br /&gt;
|'''mental = nil,'''&lt;br /&gt;
|-&lt;br /&gt;
|'''bodystate = nil,'''&lt;br /&gt;
|-&lt;br /&gt;
|'''animstate = nil,'''&lt;br /&gt;
|-&lt;br /&gt;
|'''animation = &amp;quot;stulik&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
|''' },'''&lt;br /&gt;
|-&lt;br /&gt;
|''Здесь разъяснять без толку, т.к. тут и всё понятно!''&lt;br /&gt;
|-&lt;br /&gt;
|''НО есть формальности из-за которых у меня и была ошибка( не появлялось оружие в руках)''&lt;br /&gt;
|-&lt;br /&gt;
|'''Поясняю:'''&lt;br /&gt;
|-&lt;br /&gt;
|'''strapped''' ''- оружие на спине''&lt;br /&gt;
|-&lt;br /&gt;
|'''unstrapped''' ''- оружие в руках''&lt;br /&gt;
|-&lt;br /&gt;
|'''none''' ''- убрать вообще''&lt;br /&gt;
|-&lt;br /&gt;
|'''drop''' ''- бросить''&lt;br /&gt;
|-&lt;br /&gt;
|''fire''' ''- стрелять''&lt;br /&gt;
|-&lt;br /&gt;
|''все в логике НПСа пишем:''&lt;br /&gt;
|-&lt;br /&gt;
|'''[logic]'''&lt;br /&gt;
|-&lt;br /&gt;
|'''active = remark'''&lt;br /&gt;
|-&lt;br /&gt;
|'''[remark]''&lt;br /&gt;
|-&lt;br /&gt;
|'''anim = stulik'''&lt;br /&gt;
|-&lt;br /&gt;
|________________________&lt;br /&gt;
|-&lt;br /&gt;
|''Вот и всё анимация восстановлена!=)''&lt;br /&gt;
|-&lt;br /&gt;
|''Ну теперь спауним для нашего Чистильщика стул!''&lt;br /&gt;
|-&lt;br /&gt;
|''Создаёшь файл в папке'' '''creatures'''&lt;br /&gt;
|-&lt;br /&gt;
|''Ну допустим назовём файл'' '''taburetka.ltx'''&lt;br /&gt;
|-&lt;br /&gt;
|''и в него конфинги:''&lt;br /&gt;
|-&lt;br /&gt;
|'''[table]:identity_immunities''&lt;br /&gt;
|-&lt;br /&gt;
|'''GroupControlSection = spawn_group''&lt;br /&gt;
|-&lt;br /&gt;
|'''discovery_dependency ='''&lt;br /&gt;
|-&lt;br /&gt;
|'''$spawn = &amp;quot;taburetka\table&amp;quot;'''  ''-- тут указывается файл и секция (понадобится для спауна)''&lt;br /&gt;
|-&lt;br /&gt;
|''';$prefetch = 32'''&lt;br /&gt;
|-&lt;br /&gt;
|'''class = II_ATTCH'''&lt;br /&gt;
|-&lt;br /&gt;
|'''cform = skeleton'''&lt;br /&gt;
|-&lt;br /&gt;
|'''visual = physics\stol\stol_obedenniy.ogf ''' ''-- визуал стола''&lt;br /&gt;
|-&lt;br /&gt;
|'''radius = 1'''&lt;br /&gt;
|-&lt;br /&gt;
|''';script_binding = bind_physic_object.init'''&lt;br /&gt;
|-&lt;br /&gt;
|'''description = inventory_sakbox_01_desc'''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_name ='''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_name_short ='''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_weight = 10'''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_grid_width = 3'''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_grid_height = 3'''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_grid_x = 22'''&lt;br /&gt;
|-&lt;br /&gt;
|'''inv_grid_y = 29'''&lt;br /&gt;
|-&lt;br /&gt;
|'''cost = 0'''&lt;br /&gt;
|-&lt;br /&gt;
|'''can_take = false'''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|'''[table_2]:table'''&lt;br /&gt;
|-&lt;br /&gt;
|'''GroupControlSection = spawn_group'''&lt;br /&gt;
|-&lt;br /&gt;
|'''discovery_dependency ='''&lt;br /&gt;
|-&lt;br /&gt;
|'''$spawn = &amp;quot;taburetka\table_2&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
|'''visual = physics\stol\stol_4.ogf''' ''-- тот же стол но с другим визуалом''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|'''[table_3]:table'''&lt;br /&gt;
|-&lt;br /&gt;
|'''GroupControlSection = spawn_group'''&lt;br /&gt;
|-&lt;br /&gt;
|'''discovery_dependency ='''&lt;br /&gt;
|-&lt;br /&gt;
|'''$spawn = &amp;quot;taburetka\table_3&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
|'''visual = physics\stol\stol_7.ogf''' ''-- аналогично''&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|'''[stul]:table'''&lt;br /&gt;
|-&lt;br /&gt;
|'''GroupControlSection = spawn_group'''&lt;br /&gt;
|-&lt;br /&gt;
|'''discovery_dependency ='''&lt;br /&gt;
|-&lt;br /&gt;
|'''$spawn = &amp;quot;taburetka\stul&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
|'''visual = physics\stul\stul_1a.ogf''' ''-- стул''&lt;br /&gt;
|-&lt;br /&gt;
|''Ах да! чуть не забыл!=)''&lt;br /&gt;
|-&lt;br /&gt;
|''Нужно прописать наш файл в'' '''system.ltx''' ''чтобы спаун работал!=)''&lt;br /&gt;
|-&lt;br /&gt;
|''куда-нибудь в начало пихаем вот это:''&lt;br /&gt;
|-&lt;br /&gt;
|''' #include &amp;quot;creatures\taburetka.ltx&amp;quot; ''''&lt;br /&gt;
|-&lt;br /&gt;
|''Всё сохраняем!''&lt;br /&gt;
|-&lt;br /&gt;
|''Очередь спауна:''&lt;br /&gt;
|-&lt;br /&gt;
|''Cоздаём файл в папке '' '''gamedata\scripts'''&lt;br /&gt;
|-&lt;br /&gt;
|''Назовём его'' '''esc_stul.script'''&lt;br /&gt;
|-&lt;br /&gt;
|''в нём пишем:''&lt;br /&gt;
|-&lt;br /&gt;
|'''function esc_stul ()'''&lt;br /&gt;
|-&lt;br /&gt;
|'''alife():create(&amp;quot;stul&amp;quot;,vector():set(-X,Y,Z),l_v,g_v)'''&lt;br /&gt;
|-&lt;br /&gt;
|'''end'''&lt;br /&gt;
|-&lt;br /&gt;
|''где '''XYZ''' ''пишем координаты места''&lt;br /&gt;
|-&lt;br /&gt;
|''где'' '''l_v g_v''' ''пишем левел и гейм вертексы.''&lt;br /&gt;
|-&lt;br /&gt;
|''Всё Наш Чистильщик усажен на стул!=)''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Создатель:[[Участник:ФеНиКс|ФеНиКс]] 10:32, 23 ноября 2009 (UTC)&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! style=&amp;quot;background-color:#E0FFFF&amp;quot; width=20% | Связаться со мной можно&lt;br /&gt;
|- &lt;br /&gt;
|По ICQ&amp;lt;br&amp;gt; №559615499 &lt;br /&gt;
|-&lt;br /&gt;
| ВКонтакте&amp;lt;br&amp;gt; №id19647122&lt;br /&gt;
|- &lt;br /&gt;
|На СП(Сталкер-портале)&amp;lt;br&amp;gt;Ник:Николай ФеНиКс&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
|Поправил текстовые и лексические ошибки. '''Provod[Nik]'''                             &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9_%D0%9D%D0%9F%D0%A1.</id>
		<title>Обсуждение:Восстановление Вырезанных Анимаций НПС.</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9_%D0%9D%D0%9F%D0%A1."/>
				<updated>2010-08-27T10:43:12Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--HikeR 10:43, 27 августа 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
стиль оформления это нечто. в &amp;quot;незаконченных статьях&amp;quot; самое место, на конечный результат совершенно не тянет.&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9_%D0%9D%D0%9F%D0%A1.</id>
		<title>Обсуждение:Восстановление Вырезанных Анимаций НПС.</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%92%D1%8B%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%D0%90%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B9_%D0%9D%D0%9F%D0%A1."/>
				<updated>2010-08-27T10:42:28Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--HikeR 10:42, 27 августа 2010 (UTC)&lt;br /&gt;
стиль оформления это нечто. в &amp;quot;незаконченных статьях&amp;quot; самое место, на конечный результат совершенно не тянет.&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B0</id>
		<title>3dsmax. Создание модели персонажа</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B0"/>
				<updated>2010-02-25T14:27:02Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Предисловие==&lt;br /&gt;
===Начало===&lt;br /&gt;
Самым важным, пожалую бывает предисловие. )).&lt;br /&gt;
&lt;br /&gt;
Итак. Сегодня мы рассмотрим подробное создание персонажей в 3ds max. Я видел урок, посвящённый этому делу, но он был только по созданию модели в Maya и тем белее основывался только на ограничениях, а не на подробностях создания.&lt;br /&gt;
&lt;br /&gt;
В этом уроке я не буду ПОДРОБНО объяснять, как в предыдущих. И поэтому вы сами должны прочитать уроки по 3ds сами и потом браться за дело.&lt;br /&gt;
&lt;br /&gt;
===Перед практикой===&lt;br /&gt;
Мы будем создавать супер робота &amp;quot;квадратный андроид&amp;quot; на основе вырезанных зомби :D. Как вы поняли, персонаж будет мутантом, которого мы сначала сделаем добрым.&lt;br /&gt;
&lt;br /&gt;
==Практикуемся==&lt;br /&gt;
===Модель и текстурирование===&lt;br /&gt;
Я создал простенькую модель на основе стандартных боксов. И мне потребовалась для этого одна текстура - какая-нибудь металлическая из архивов игры.&lt;br /&gt;
&lt;br /&gt;
Для начала я изучу саму модель зомби и скажу, какие в ней кости, чтобы мы знали, какие объекты нам необходимы (в каком колличестве)&lt;br /&gt;
&lt;br /&gt;
Итак. Значит в модели 41 кость. Я пока начну создавать 40 боксов (т.к. одна кость - главная типа Root или main_bone)&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Всё. С созданием объектов покончено. Склеим их нажав на молоточек - Collapse - Collapse Selected&lt;br /&gt;
&lt;br /&gt;
Они у нас стали одного цвета, если были разноцветные. Также они объединились в один объект с модифаером Editable Mesh.&lt;br /&gt;
&lt;br /&gt;
Теперь наложите текстуру на объект.&lt;br /&gt;
&lt;br /&gt;
Всё с моделью и текстурами покончено. Приступим к следующему этапу.&lt;br /&gt;
&lt;br /&gt;
 Я специально сейчас делаю робота больше обычного зомби, чтобы он хоть грозным казался :)).&lt;br /&gt;
&lt;br /&gt;
===Кости===&lt;br /&gt;
&lt;br /&gt;
Создаёте необходимые кости, обзываете их правильно, присоединяйте к главной и т.п. чтобы у Вас получилось примерно такой вид в Schematic View:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Max_mob_cv.png]]&lt;br /&gt;
&lt;br /&gt;
Т.к. названия костей я пока не подписал, пользуйтесь своеоразным CV из Actor Editor ))&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Ae_mob_cv.png]]&lt;br /&gt;
&lt;br /&gt;
===Physique===&lt;br /&gt;
&lt;br /&gt;
Теперь надо &amp;quot;приаттачить&amp;quot; или по майскому &amp;quot;прибиндить&amp;quot; скелет к модели. Устанавливайте режим Rigid, присоединяйте все вертексы к пелвису на синем плюсе и к нужным костям уже на зелёном.&lt;br /&gt;
&lt;br /&gt;
 Чтобы было легче, переходите в меню Editable Mesh \ Element , выбирайте нажную деталь и переходите в Physique.&lt;br /&gt;
 Так легче выделить вертексы.&lt;br /&gt;
 &lt;br /&gt;
 Ещё стоит иногда юзать Lock'и в Physique - иногда помогает.&lt;br /&gt;
&lt;br /&gt;
===Анимирование===&lt;br /&gt;
&lt;br /&gt;
Здесь уже придётся попыхтеть мне, чтобы Вам не надо было делать лишних анимаций.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B0</id>
		<title>3dsmax. Создание модели персонажа</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B0"/>
				<updated>2010-02-25T14:23:49Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному Rekongstor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Предисловие==&lt;br /&gt;
===Начало===&lt;br /&gt;
Самым важным, пожалую бывает предисловие. )).&lt;br /&gt;
&lt;br /&gt;
Итак. Сегодня мы рассмотрим подробное создание персонажей в 3ds max. Я видел урок, посвящённый этому делу, но он был только по созданию модели в Maya и тем белее основывался только на ограничениях, а не на подробностях создания.&lt;br /&gt;
&lt;br /&gt;
В этом уроке я не буду ПОДРОБНО объяснять, как в предыдущих. И поэтому вы сами должны прочитать уроки по 3ds сами и потом браться за дело.&lt;br /&gt;
&lt;br /&gt;
===Перед практикой===&lt;br /&gt;
Мы будем создавать супер робота &amp;quot;квадратный андроид&amp;quot; на основе вырезанных зомби :D. Как вы поняли, персонаж будет мутантом, которого мы сначала сделаем добрым.&lt;br /&gt;
&lt;br /&gt;
==Практикуемся==&lt;br /&gt;
===Модель и текстурирование===&lt;br /&gt;
Я создал простенькую модель на основе стандартных боксов. И мне потребовалась для этого одна текстура - какая-нибудь металлическая из архивов игры.&lt;br /&gt;
&lt;br /&gt;
Для начала я изучу саму модель зомби и скажу, какие в ней кости, чтобы мы знали, какие объекты нам необходимы (в каком колличестве)&lt;br /&gt;
&lt;br /&gt;
Итак. Значит в модели 41 кость. Я пока начну создавать 40 боксов (т.к. одна кость - главная типа Root или main_bone)&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Всё. С созданием объектов покончено. Склеим их нажав на молоточек - Collapse - Collapse Selected&lt;br /&gt;
&lt;br /&gt;
Они у нас стали одного цвета, если были разноцветные. Также они объединились в один объект с модифаером Editable Mesh.&lt;br /&gt;
&lt;br /&gt;
Теперь наложите текстуру на объект.&lt;br /&gt;
&lt;br /&gt;
Всё с моделью и текстурами покончено. Приступим к следующему этапу.&lt;br /&gt;
&lt;br /&gt;
 Я специально сейчас делаю робота больше обычного зомби, чтобы он хоть грозным казался :)).&lt;br /&gt;
&lt;br /&gt;
===Кости===&lt;br /&gt;
&lt;br /&gt;
Создаёте необходимые кости, обзываете их правильно, присоединяйте к главной и т.п. чтобы у Вас получилось примерно такой вид в Schematic View:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Max_mob_cv.png]]&lt;br /&gt;
&lt;br /&gt;
Т.к. названия костей я пока не подписал, пользуйтесь своеоразным CV из Actor Editor ))&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Ae_mob_cv.png]]&lt;br /&gt;
&lt;br /&gt;
===Physique===&lt;br /&gt;
&lt;br /&gt;
Теперь надо &amp;quot;приаттачить&amp;quot; или по майскому &amp;quot;прибиндить&amp;quot; скелет к модели. Устанавливайте режим Rigid, присоединяйте все вертексы к пелвису на синем плюсе и к нужным костям уже на зелёном.&lt;br /&gt;
&lt;br /&gt;
 Чтобы было легче, переходите в меню Editable Mesh \ Element , выбирайте нажную деталь и переходите в Physique.&lt;br /&gt;
 Так легче выделить вертексы.&lt;br /&gt;
 &lt;br /&gt;
 Ещё стоит иногда юзать Lock'и в Physique - иногда помогает.&lt;br /&gt;
&lt;br /&gt;
===Анимирование===&lt;br /&gt;
&lt;br /&gt;
Здесь уже придётся попыхтеть мне, чтобы Вам не надо было делать лишних анимаций.&lt;br /&gt;
(анонимус считает, что ты - идиот, и всё это можно сделать за 3 минуты в Maya. &lt;br /&gt;
Лучше всего юзать родные скелеты, тобишь не надо мучаться с анимацией, так как есть готовый паки. &lt;br /&gt;
В Maya привязка осуществляется с помощью брашей намного легче чем в максе).&lt;br /&gt;
&lt;br /&gt;
===Не смотреть на разборки модмейкера и хама===&lt;br /&gt;
&lt;br /&gt;
''Rek0'' - если ты думаешь, что ты такой крутой, научись читать, хохол сраный. Анонимус - утырок. Имя забыл? И для тупых повторю - КАТЕГОРИЯ - '''НЕЗАКОНЧЕННЫЕ''' СТАТЬИ  и  Статья посвещена '''МАКСУ''', а не майе. Может, в ней легче делать. Не спорю, но в следующий раз - читай название статьи, прежде чем писать свои оскорбления, школотан тупой. А если тебе не с кем поспорить - лучше иди на форум и там свои мысли выкладывай. А это - приличный сайт. Здесь язык за зубами, '''ПОНЯЛ???!!!''' А в своей майе пыхти, хоть подавись ею. Или вон нагоняй на автора статьи с удивительным именем &amp;quot;X&amp;quot; со столь умело написанным текстом - &amp;quot;ы?&amp;quot; ! Или вон на автора сатьи, которая всегда &amp;quot;пишется&amp;quot;! И прям без перерыва! И имя у неё такое!!! &amp;quot;Перенос спавн элемента из сдк в игру, подробное описание&amp;quot; Насколько оно должно быть подробным, чтобы его месяц целы писать? Я на этом сайте тоже что-то стою, а если ты скрываешь свой ник, то ты просто мелкий хам, который пришёл сюда со своими оскорблениями.&lt;br /&gt;
[[Категория:Незаконченные статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B0</id>
		<title>3dsmax. Создание модели персонажа</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B0"/>
				<updated>2010-02-25T14:19:48Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному 95.132.166.198&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Предисловие==&lt;br /&gt;
===Начало===&lt;br /&gt;
Самым важным, пожалую бывает предисловие. )).&lt;br /&gt;
&lt;br /&gt;
Итак. Сегодня мы рассмотрим подробное создание персонажей в 3ds max. Я видел урок, посвящённый этому делу, но он был только по созданию модели в Maya и тем белее основывался только на ограничениях, а не на подробностях создания.&lt;br /&gt;
&lt;br /&gt;
В этом уроке я не буду ПОДРОБНО объяснять, как в предыдущих. И поэтому вы сами должны прочитать уроки по 3ds сами и потом браться за дело.&lt;br /&gt;
&lt;br /&gt;
===Перед практикой===&lt;br /&gt;
Мы будем создавать супер робота &amp;quot;квадратный андроид&amp;quot; на основе вырезанных зомби :D. Как вы поняли, персонаж будет мутантом, которого мы сначала сделаем добрым.&lt;br /&gt;
&lt;br /&gt;
==Практикуемся==&lt;br /&gt;
===Модель и текстурирование===&lt;br /&gt;
Я создал простенькую модель на основе стандартных боксов. И мне потребовалась для этого одна текстура - какая-нибудь металлическая из архивов игры.&lt;br /&gt;
&lt;br /&gt;
Для начала я изучу саму модель зомби и скажу, какие в ней кости, чтобы мы знали, какие объекты нам необходимы (в каком колличестве)&lt;br /&gt;
&lt;br /&gt;
Итак. Значит в модели 41 кость. Я пока начну создавать 40 боксов (т.к. одна кость - главная типа Root или main_bone)&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Всё. С созданием объектов покончено. Склеим их нажав на молоточек - Collapse - Collapse Selected&lt;br /&gt;
&lt;br /&gt;
Они у нас стали одного цвета, если были разноцветные. Также они объединились в один объект с модифаером Editable Mesh.&lt;br /&gt;
&lt;br /&gt;
Теперь наложите текстуру на объект.&lt;br /&gt;
&lt;br /&gt;
Всё с моделью и текстурами покончено. Приступим к следующему этапу.&lt;br /&gt;
&lt;br /&gt;
 Я специально сейчас делаю робота больше обычного зомби, чтобы он хоть грозным казался :)).&lt;br /&gt;
&lt;br /&gt;
===Кости===&lt;br /&gt;
&lt;br /&gt;
Создаёте необходимые кости, обзываете их правильно, присоединяйте к главной и т.п. чтобы у Вас получилось примерно такой вид в Schematic View:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Max_mob_cv.png]]&lt;br /&gt;
&lt;br /&gt;
Т.к. названия костей я пока не подписал, пользуйтесь своеоразным CV из Actor Editor ))&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Ae_mob_cv.png]]&lt;br /&gt;
&lt;br /&gt;
===Physique===&lt;br /&gt;
&lt;br /&gt;
Теперь надо &amp;quot;приаттачить&amp;quot; или по майскому &amp;quot;прибиндить&amp;quot; скелет к модели. Устанавливайте режим Rigid, присоединяйте все вертексы к пелвису на синем плюсе и к нужным костям уже на зелёном.&lt;br /&gt;
&lt;br /&gt;
 Чтобы было легче, переходите в меню Editable Mesh \ Element , выбирайте нажную деталь и переходите в Physique.&lt;br /&gt;
 Так легче выделить вертексы.&lt;br /&gt;
 &lt;br /&gt;
 Ещё стоит иногда юзать Lock'и в Physique - иногда помогает.&lt;br /&gt;
&lt;br /&gt;
===Анимирование===&lt;br /&gt;
&lt;br /&gt;
Здесь уже придётся попыхтеть мне, чтобы Вам не надо было делать лишних анимаций.&lt;br /&gt;
(анонимус считает, что ты - идиот, и всё это можно сделать за 3 минуты в Maya. &lt;br /&gt;
Лучше всего юзать родные скелеты, тобишь не надо мучаться с анимацией, так как есть готовый паки. &lt;br /&gt;
В Maya привязка осуществляется с помощью брашей намного легче чем в максе).&lt;br /&gt;
[[Категория:Незаконченные статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Unwrap_UVW</id>
		<title>3dsmax. Работа с Unwrap UVW</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=3dsmax._%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Unwrap_UVW"/>
				<updated>2010-02-18T21:59:37Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному 109.127.20.210&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Подготовка==&lt;br /&gt;
===Предисловие===&lt;br /&gt;
&lt;br /&gt;
Эта статья расчитана на людей, не понимающих всех моментов в Max'е&lt;br /&gt;
&lt;br /&gt;
Некоторые вообще не умеют накладывать текстуру на модель, многие не умеют применять текстуру к определённой части объекта, но всё же очень многие не умеют пользоваться Unwrap UVW. О нём уже упоминалось в [[Создание_моделей_и_их_добавление_в_игру|статье по созданию 3d моделек]]&lt;br /&gt;
&lt;br /&gt;
Но тем не менее она была не подробной. Например научился накладывать текстуру я только в одном из уроков из ЛКИ :D&lt;br /&gt;
Поэтому начнём.&lt;br /&gt;
&lt;br /&gt;
===Инструментарий===&lt;br /&gt;
* 3ds max 8&lt;br /&gt;
* Плагины экспорта (лучше будет и иметь плагины импорта тоже)&lt;br /&gt;
* X-Ray SDK&lt;br /&gt;
* Photoshop (или другой редактор... Paint.NET например)&lt;br /&gt;
* Совсем небольшие навыки создания объектов в максе (то, что не знаете, meltn описано здесь)&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
===Модель===&lt;br /&gt;
Для начала я создал бокс. Потом изменил его высоту, ширину, длину:&lt;br /&gt;
 L. = 0,3&lt;br /&gt;
 W. = 0,21&lt;br /&gt;
 H. = 0,007&lt;br /&gt;
&lt;br /&gt;
Вы можете использовать свои размеры.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Rek0_UVW_-_модель.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Текстуриование===&lt;br /&gt;
====Накладываем текстуру====&lt;br /&gt;
Теперь наложите на него текстуру:&lt;br /&gt;
* Откройте Material Editor&lt;br /&gt;
 Далее я пропущу шаги, т.к. это уже не раз описывалось в уроках по теме 3ds max на Stalker Inside&lt;br /&gt;
* Вот Вы наложили текстуру (обратите внимание, что текстура должна быть одним файлом!&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Rek0_UVW_-_текстура.png]]&lt;br /&gt;
&lt;br /&gt;
 Не все знают, как накладывается текстура. Поэтому напишу:&lt;br /&gt;
 - '''Зажмите''' на шарике в Material Editor левую кнопку мыши.&lt;br /&gt;
 &lt;br /&gt;
 Если передвинуть мышь, указатель станет другим (квадратная рамка и круг с крестом поверх рамки)&lt;br /&gt;
 &lt;br /&gt;
 - Перенесите текстуру на модель.&lt;br /&gt;
 &lt;br /&gt;
 Указатель снова поменяется (квадратная рамка, но только поверх неё - курсор) и появится подсказка, &lt;br /&gt;
 на какой объект мы перемещаем материал.&lt;br /&gt;
&lt;br /&gt;
 - Разожмите клавишу мыши, когда произойдёт последнее вышесказанное изменение курсора&lt;br /&gt;
&lt;br /&gt;
 Не забудьте нажать на сине-белый кубик в Mat.Editor'е (чтобы мы видели, как легла текстура)&lt;br /&gt;
&lt;br /&gt;
====Unwrap UVW====&lt;br /&gt;
Но что это? Когда мы посмотрели на модель, увидели, что текстур алегла беспорядочно! Вот для этого и нужен Unwrap UVW&lt;br /&gt;
&lt;br /&gt;
Перейдите в режим Modify. Сделайте последние изменения объекста и можно создавать Un-UVW. Нажмите на свиток Modifier List\Unwrap UVW&lt;br /&gt;
&lt;br /&gt;
* Нажмите на &amp;quot;+&amp;quot; перед Unwrap UVW и выберите в открывшемся свике Face.&lt;br /&gt;
* Нажмите на нужную сторону объекта.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Rek0_UVW_-_face.png]]&lt;br /&gt;
&lt;br /&gt;
*Теперь в правой панели нажмите в свитке Parameters кнопку Edit&lt;br /&gt;
*В открывшемся окне нажмите на свиток Character Pattern и выберите в контекстном меню &amp;quot;Map#1&amp;quot; (или другой, но чтобы в скобках было написано название вашей текстуры)&lt;br /&gt;
&lt;br /&gt;
Есть 4 варианта изменения наложения и режим Mirror - для отражения текстуры по горизонатли)&lt;br /&gt;
*Move - Двигать выделенные точки&lt;br /&gt;
*Rotate - Вращать их&lt;br /&gt;
*Scale - Изменять размер&lt;br /&gt;
*Freeform mode - Поговорим отдельно.&lt;br /&gt;
&lt;br /&gt;
 FF Mode:&lt;br /&gt;
 Можно свободно изменять размер и т.д. без одновременного изменения нужного по другим осям.&lt;br /&gt;
 Чтобы изменить:&lt;br /&gt;
 Размер - Выделите точки и двигайте углы&lt;br /&gt;
 Позицию - Двигайте красную сетку&lt;br /&gt;
 Угол поворота (Rotate) - Двигайте бока выделенных точек.&lt;br /&gt;
&lt;br /&gt;
Вот мы и закончили изменение одного лица (face), затем другого...&lt;br /&gt;
&lt;br /&gt;
Потом нажмите правой кнопкой на объект и перейдите в: Convert To\Editable Mesh&lt;br /&gt;
&lt;br /&gt;
Затем в панели Modify можно отсоединять Faces и уже по-отдельности (если не получилось в одном объекте) можно создавть для объектов Un-UVW&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И вот у меня получилась такая модель:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Rek0_UVW_-_end.png]]&lt;br /&gt;
&lt;br /&gt;
 Хм... Где-то я её уже видел.... Что-то похожее..... А! Точно!&lt;br /&gt;
 Сама игромания писала однжды урок :)). По созданию объектов в максе.&lt;br /&gt;
&lt;br /&gt;
Вот [http://www.igromania.ru/upload/articles/109/54894/models_import_04.jpg|Вот я её вспомнил] :)&lt;br /&gt;
&lt;br /&gt;
==Заключение==&lt;br /&gt;
Мы научились накладывать на объекты текстуры, которые будут правильно ложиться в последующих действиях.&lt;br /&gt;
 Кстати.. Перед тем, как создавать Physique (или, если будете делать статический, то перед экспортом), &lt;br /&gt;
 сконвертируйте объект в Editable Mesh ещё раз на всякий...&lt;br /&gt;
&lt;br /&gt;
'''''Журнал, текстуру которого я применл для этой статьи - пробил мне дорогу в модмейкерство Сталкера. Без него не было бы меня здесь...'''''&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
* [[Участник:Rekongstor]] - Написал статью, проверил, показал.&lt;br /&gt;
* Stalker2012 - Подал идею &amp;lt;десу&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>HikeR</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_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F,_%D0%BF%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE</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_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F,_%D0%BF%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE"/>
				<updated>2010-02-13T03:17:08Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: убрал из категории &amp;quot;незаконченных&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|align=right&lt;br /&gt;
 |''Автор:'' '''[[Участник:Neo|Neo][]]'''&lt;br /&gt;
 |}&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = center|&lt;br /&gt;
backgroundcolor	= rgb(235, 235, 255);|&lt;br /&gt;
image	=Question.gif|&lt;br /&gt;
heading	=Возникли вопросы/предложения|&lt;br /&gt;
message =Пиши [[Обсуждение:Создание уровня, пошаговое руководство|тут]].}}&lt;br /&gt;
__TOC__&lt;br /&gt;
В данном уроке попытаюсь рассказать об основах работы с Level Editor-ом пакета SDK, на примере создания простейшего уровня.&lt;br /&gt;
&lt;br /&gt;
В пакете SDK уже довольно много готовой геометрии, которую можно размещать на своём уровне, но иногда хочется вставить что-то своё, это можно сделать, смоделировав объект в пакете 3D моделирования Maya или 3D Studio Max.&lt;br /&gt;
&lt;br /&gt;
== Создание геометрии ==&lt;br /&gt;
Научить работать в 3D редакторах я не смогу, поэтому подробно остановлюсь только на процессах установки и настройки плагина, текстурировании и назначении шейдеров геометрии.&lt;br /&gt;
=== Установка и настройка плагина === &lt;br /&gt;
&lt;br /&gt;
==== Установка для Maya ==== &lt;br /&gt;
Установка плагина заключается в копировании:&lt;br /&gt;
*Всех файлов из папки scripts_plugins\scripts в папку C:\Documents and Settings\UserName\My Documents\maya\scripts&lt;br /&gt;
*Всех файлов из папки scripts_plugins\ver-ххх в папку C:\Program Files\Autodesk\Maya_ххх\bin&lt;br /&gt;
*Файла scripts_plugins\xray_path.ltx в папку C:\Program Files\Autodesk\Maya_ххх\bin&lt;br /&gt;
==== Установка для 3D Studio Max ====&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=viewtheoned&amp;amp;lid=100 Качаем] плагин. Распаковываем архив, копируем содержимое папки '''plugin'''(именно plugin) в папку макса.&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Далее в официальном руководстве написано, что требуется диск Х, мы приложили батник для создания этого диска и т.д.&lt;br /&gt;
Возможно кто-то согласится с таким вариантом, но я решил просто отредактировать файл xray_path.ltx и не мучатся с батником и диском.&lt;br /&gt;
&lt;br /&gt;
Необходимо изменить только первые две строчки файла xray_path.ltx:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$server_root$	= false| false|	e:\sdk\(это путь до папки в которой у вас находится SDK)&lt;br /&gt;
$local_root$	= false| false|	e:\sdk\(это путь до папки в которой у вас находится SDK)&lt;br /&gt;
После некоторого шаманства заработало в таком виде:&lt;br /&gt;
$server_root$	= false| false|	C:\Program Files\X-Ray SDK\level_editor\&lt;br /&gt;
$local_root$	= false| false|	C:\Program Files\X-Ray SDK\level_editor\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Всё, можно пользоваться плагином.&lt;br /&gt;
&lt;br /&gt;
=== Настройка единиц измерения ===&lt;br /&gt;
Для того, чтобы размеры объектов в редакторе совпадали с теми, что используются в X-Ray SDK, необходимо выполнить соответствующую настройку.&lt;br /&gt;
&lt;br /&gt;
==== Настройка Maya ====&lt;br /&gt;
&lt;br /&gt;
Для начала необходимо единицы измерения перевести в метры (по умолчанию в Maya 8.5 используются сантиметры). Делается это в 2 этапа:&lt;br /&gt;
* Заходим в меню Window -&amp;gt; Settings/Preferences -&amp;gt; Preferences. В открывшемся диалоге, в категории Settings, находим список Working Units -&amp;gt; Linear и выбираем Meter, как показано на скриншоте (шаг 1, шаг 2).&lt;br /&gt;
* Теперь, для удобства работы, в настройках камеры необходимо изменить дальность отображения с 10м на 1000м (смотри скриншот шаг 3)&lt;br /&gt;
{|&lt;br /&gt;
|valign=top|[[Изображение:SantimToM1.gif|thumb|400px|Шаг 1: выбираем указанный пункт меню]]&lt;br /&gt;
|valign=top|[[Изображение:SantimToM2.gif|thumb|400px|Шаг 2: выбираем еденицы измерения - метры]]&lt;br /&gt;
|valign=top|[[Изображение:SantimToM3.gif|thumb|400px|Шаг 3: настраиваем камеру]]&lt;br /&gt;
|}&lt;br /&gt;
Замечен глюк: после настройки камеры изображение может пропасть, в чём дело пока не разобрался, но ситуацию помогает победить выбор в меню камеры следующих двух пунктов:&lt;br /&gt;
* Panel -&amp;gt; Perspective -&amp;gt; New&lt;br /&gt;
* View -&amp;gt; Camera Settings -&amp;gt; View Compass&lt;br /&gt;
&lt;br /&gt;
==== Настройка 3D Studio Max ====&lt;br /&gt;
Настройка заключается только в выборе в качестве единиц измерения метров.&lt;br /&gt;
*Заходим в меню Customize -&amp;gt; Units Setup... В группе Display Unit Scale ставим переключатель на Metric, в выпадающем списке ищем Meters.&lt;br /&gt;
*Так же необходимо нажать кнопку System Unit Setup и приравнять условную единицу к метру (т.е. там где &amp;quot;1 Unit = 1,0 в выпадающем списке выбрать Meters. Флажок &amp;quot;Respect System Units in Files&amp;quot; должен быть включен)&lt;br /&gt;
&lt;br /&gt;
[[Изображение:3d-max-unit-setup.gif|thumb|left|400px|Меняем единицы измерения]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Моделирование ===&lt;br /&gt;
Для нашего простейшего уровня нам понадобится создать просто бокс в качестве террейна.&lt;br /&gt;
&lt;br /&gt;
Создадим box размеров 50м*50м*0,1м.&lt;br /&gt;
&lt;br /&gt;
==== Замечания и правила ====&lt;br /&gt;
&lt;br /&gt;
* Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто)&lt;br /&gt;
* Bounding box персонажа имеет три состояния: стоя (1.8х0.7х0.7 в метрах), сидя (1.5х0.7х0.7 в метрах) и очень сидя (1.2х0.7х0.7 в метрах).&lt;br /&gt;
* Весь уровень должен быть не больше 150 тысяч треугольников.&lt;br /&gt;
* Сцена должна состоять из групп. Название группы формируется по такому принципу: mp_имяуровня_назвгеометрии. Например, в нашей тестовой сцене такие группы: mp_atp_terrain, mp_atp_buildings. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы. В переделах одной группы все имена должны быть уникальны. &lt;br /&gt;
* Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - имя_объекта, шейп - имя_объектаShape&lt;br /&gt;
&lt;br /&gt;
=== Текстурирование и назначение шейдеров ===&lt;br /&gt;
&lt;br /&gt;
==== 3D Studio Max ====&lt;br /&gt;
Открываем Material Editor(M) выделив один из образцов материала, открываем диалог Material/Map Browser, щелчком на кнопке Standart. Создадим новый материал XRayMtl, дважды щёлкнув по нему в списке. &lt;br /&gt;
&lt;br /&gt;
Займёмся настройкой параметров материала. X-ray материал, кроме текстуры использует надстройку состоящую из трёх шейдеров - Engine, Compiler, Material.&lt;br /&gt;
* Engine - отображение текстуры в движке игры.&lt;br /&gt;
* Compiler - используется при компиляции уровня.&lt;br /&gt;
* Material - игровой материал (wallmark, sound и др.).&lt;br /&gt;
Для начала настроим шейдеры. В Material Editor-e разворачиваем свиток XRay Params. В выпадающих списках представлены различные варианты шейдеров. Более подробно параметры шейдеров рассмотрены в статье [[Описание шейдеров XRayMtl]]. Для нашего примера ограничимся установкой следующих значений:&lt;br /&gt;
* Engine - default&lt;br /&gt;
* Compiler - default&lt;br /&gt;
* Material - material/asphalt&lt;br /&gt;
{|&lt;br /&gt;
| valign=top |[[Изображение:3d-max-create-xraymtl.gif|thumb|400px|Создание нового материала XRayMtl]]&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-params.gif|thumb|Настройка XRay шейдеров материала]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Текстурирование заключается в назначении текстуры процедурной карте Diffuse Color.&lt;br /&gt;
Вообще, в редакторе материалов (В свитке Maps) много процедурных карт, но X-Ray mtl поддерживает (экспортирует) лишь одну, указанную выше.&lt;br /&gt;
!Важно - чтобы экспорт был, надо назначить карту в кнопку diffuse colour. Можно назначить любую карту формата *tga, так-же важно чтобы размер текстуры (ширина/высота) был равен степени двойки (256, 512 и т.д.).&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = center|&lt;br /&gt;
backgroundcolor	= rgb(235, 235, 255);|&lt;br /&gt;
image	=Question.gif|&lt;br /&gt;
heading	=Надо ли расписать процесс назначения текстуры каналу?|&lt;br /&gt;
message =Пиши [[Обсуждение:Создание уровня, пошаговое руководство|тут]].}}&lt;br /&gt;
&lt;br /&gt;
=== Экспорт ===&lt;br /&gt;
&lt;br /&gt;
==== 3D Studio Max ====&lt;br /&gt;
Для начала выделяем все объекты, которые мы хотим экспортировать в виде единого объекта, т.е. всё, что мы выберем сейчас в редакторе будет представленно как одна модель. В нашем случае это один box.&lt;br /&gt;
&lt;br /&gt;
Переходим на командную панель Utilities, нажимаем кнопку More... В появившемся списке в самом конце видим XRay Export, выбираем, жмём ОК.&lt;br /&gt;
После запуска модуля на панели появится новый свиток XRay Export, в списке Selected можно проконтролировать какие объекты выбраны, нажимаем кнопку Export Editor Object... cохраняем файл в папку {SDK folder}\import.&lt;br /&gt;
{|&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-export.gif|thumb|400px|Запускаем модуль экспорта]]&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-export2.gif|thumb|400px|Экспорт объектов]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Импорт геометрии и текстур в пакет ==&lt;br /&gt;
При экспорте из редактора(Maya &amp;amp;&amp;amp; 3D Max) мы получим файлы *.object.&lt;br /&gt;
&lt;br /&gt;
Запускаем Level Editor и добавим нашу геометрию в Objects Library, делается это так: Objects -&amp;gt; Library Editor, откроется диалог Object Library.&lt;br /&gt;
[[Изображение:SDK-Find-new-texture.gif|thumb|Редактор нашёл текстуру]]&lt;br /&gt;
Для удобства создадим новую группу для наших объектов, щёлкаем в левой части окна ПКМ и выбираем Create Folder, переименуем в my_first_level.&lt;br /&gt;
Выделяем группу, и нажимаем кнопку Import Object, ищём наши *.object файлы, после того как объекты добавлены можно посмотреть, как они примерно будут выглядеть в игре, для этого ставим галочку Preview и любуемся нашим объектом. Теперь можно закрыть диалог Object Library.&lt;br /&gt;
&lt;br /&gt;
Если использовали свою текстуру, то её также надо добавить в пакет, Images -&amp;gt; Check New Textures. Данная команда заставляет редактор просмотреть папку SDK/Import и добавить новые файлы в Texture List, файлы должны быть в формате Targa(*.tga).&lt;br /&gt;
Не меняя ничего в диалоге импорта текстур нажимаем ОК. Всё теперь наша текстура есть в списке текстур редактора. Можно переходить к следующему шагу.&lt;br /&gt;
{|&lt;br /&gt;
|valign=top|[[Изображение:SDK-Object-Library.gif|thumb|left|Диалог Object Library]]&lt;br /&gt;
|valign=top|[[Изображение:SDK-OL-crt-grp.gif|thumb|left|Создание группы для объектов]]&lt;br /&gt;
|valign=top|[[Изображение:SDK-Update-Image-Dialog.gif|thumb|300px|Диалог импорта текстур]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Создаём уровень ==&lt;br /&gt;
Приступим к созданию уровня, начнём с расстановки объектов.&lt;br /&gt;
&lt;br /&gt;
=== Расстановка объектов :) ==&lt;br /&gt;
&lt;br /&gt;
Тутор пока незакончен, так что о подробной работе в редакторе,&lt;br /&gt;
сохранении и компиляции читаем по ссылке ниже с '''шага 6'''&lt;br /&gt;
*[[Maya. Глава 1: Hello World или первый кубик.]]&lt;br /&gt;
&lt;br /&gt;
== Подключение уровня к игре ==&lt;br /&gt;
Чтобы уровень можно было создавать прямо из игры, его необходимо добавить в список уровней.&lt;br /&gt;
Существует четыре случая, рассмотрим каждый.&lt;br /&gt;
&lt;br /&gt;
=== SDK объединён с игрой ===&lt;br /&gt;
В данном случае надо только отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня.&lt;br /&gt;
=== SDK не объединён с игрой, игра распакована ===&lt;br /&gt;
В данном случае надо также отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня + скопировать содержимое папки [SDK folder]\gamedata\levels\название уровня\ в папку [STALKER folder]\gamedata\levels\название уровня\.&lt;br /&gt;
=== SDK не объединён с игрой, игра не распакована ===&lt;br /&gt;
Повторяем действия предыдущего случая, только папки надо будет создавать самому, файл gamedata\config\mp\map_list.ltx можно взять из папки [SDK folder]\gamedata\config\mp\map_list.ltx&lt;br /&gt;
=== SDK не объединён с игрой + использовались свои текстуры ===&lt;br /&gt;
В данном случае необходимо скопировать:&lt;br /&gt;
*Текстуры из [SDK folder]\gamedata\textures\user\ в папку [STALKER folder]\gamedata\textures\user\ &lt;br /&gt;
*Файл [SDK folder]\gamedata\textures\textures.ltx в папку [STALKER folder]\gamedata\textures\&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
*[[Описание шейдеров XRayMtl]]&lt;br /&gt;
*[[Глобальное озеленение, добавляем траву на уровень]]&lt;br /&gt;
*[[Добавляем аномалии на уровень]]&lt;br /&gt;
*[[Учимся подвешивать объекты]]&lt;br /&gt;
&amp;lt;!--{{Описание шейдеров XRayMtl}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D1%81%D1%82%D1%8E%D0%BC%D0%BE%D0%B2</id>
		<title>Редактирование костюмов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D1%81%D1%82%D1%8E%D0%BC%D0%BE%D0%B2"/>
				<updated>2010-02-13T03:14:16Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Разбор параметров===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В этой статье мы рассмотрим значения параметров костюмов.&amp;lt;br&amp;gt;&lt;br /&gt;
Все параметры, не упомянутые ниже, изменять '''строго не рекомендуется'''!&lt;br /&gt;
&lt;br /&gt;
Итак, секции с параметрами находятся в файле:&amp;lt;br&amp;gt;&lt;br /&gt;
'''config\misc\outfit.ltx'''&lt;br /&gt;
&lt;br /&gt;
Разберем, например, параметры классического костюма сталкера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[stalker_outfit]:outfit_base &lt;br /&gt;
&lt;br /&gt;
; название секции костюма. именно к нему игра будет обращаться. outfit_base - &lt;br /&gt;
базовая (наследуемая)  секция (изменять строго не рекомендуется).&lt;br /&gt;
&lt;br /&gt;
visual          = equipments\stalker_suit ; модель, используемая для сложенного костюма, &lt;br /&gt;
лежащего на земле.&lt;br /&gt;
&lt;br /&gt;
actor_visual	= actors\hero\stalker_hood.ogf ; модель, используемая для игрока, когда&lt;br /&gt;
на нем надет костюм.&lt;br /&gt;
&lt;br /&gt;
inv_name			= stalker_outfit_name ; название в инвентаре.&lt;br /&gt;
&lt;br /&gt;
inv_name_short		= stalker_outfit_name ; название в инвентаре (в принципе, можно&lt;br /&gt;
здесь продублировать значение предыдущего параметра - так чаще всего и делают).&lt;br /&gt;
&lt;br /&gt;
description			= stalker_outfit_description ; ссылка на текстовую строку&lt;br /&gt;
с описанием.&lt;br /&gt;
&lt;br /&gt;
inv_weight			= 5.0 ; вес.&lt;br /&gt;
&lt;br /&gt;
; далее идут параметры иконки в инвентаре (см. примечание 1).&lt;br /&gt;
&lt;br /&gt;
inv_grid_width		= 2&lt;br /&gt;
inv_grid_height		= 3&lt;br /&gt;
inv_grid_x		= 6&lt;br /&gt;
inv_grid_y		= 15&lt;br /&gt;
&lt;br /&gt;
full_icon_name		= npc_icon_stalker_outfit ; название иконки.&lt;br /&gt;
&lt;br /&gt;
cost				= 15000 ; базовая цена (см. примечание 2).&lt;br /&gt;
&lt;br /&gt;
full_scale_icon		= 14,11			; иконка сталкера в костюме в полный &lt;br /&gt;
рост (отображается в инвентаре справа).&lt;br /&gt;
&lt;br /&gt;
nightvision_sect				= effector_nightvision_bad ; тип ПНВ&lt;br /&gt;
(&amp;quot;плохой&amp;quot; - зеленый, &amp;quot;хороший&amp;quot; - синий).&lt;br /&gt;
&lt;br /&gt;
; ниже идут параметры защиты владельца от различных типов воздействий, &lt;br /&gt;
обеспечиваемые костюмом.&lt;br /&gt;
&lt;br /&gt;
burn_protection 				= 0.5 ; защита от воздействия &lt;br /&gt;
огня (костры, аномалия &amp;quot;Жарка&amp;quot; и т.д.).&lt;br /&gt;
&lt;br /&gt;
strike_protection 				= 0.5 ; защита от ударов&lt;br /&gt;
(наносятся мутантами, например, псевдогигантом).&lt;br /&gt;
&lt;br /&gt;
shock_protection 				= 0.5 ; защита от поражения&lt;br /&gt;
электричеством.&lt;br /&gt;
&lt;br /&gt;
wound_protection				= 0.4 ; защита от ранений&lt;br /&gt;
(наносятся мутантами, например, собаками, кровососами и т.д.).&lt;br /&gt;
&lt;br /&gt;
radiation_protection 			= 0.5 ; защита от радиации.&lt;br /&gt;
&lt;br /&gt;
telepatic_protection 			= 0.0 ; защита от пси-воздействия&lt;br /&gt;
(например, присутствие контроллера серьезно влияет на psy_health).&lt;br /&gt;
&lt;br /&gt;
chemical_burn_protection 		= 0.5 ; защита от химического воздействия.&lt;br /&gt;
&lt;br /&gt;
explosion_protection 			= 0.3 ; защита от взрывов/осколков.&lt;br /&gt;
&lt;br /&gt;
fire_wound_protection  			= 0.3 ; защита от огнестрельного&lt;br /&gt;
оружия (наиболее важный параметр для большинства костюмов).&lt;br /&gt;
&lt;br /&gt;
power_loss = 0.87&lt;br /&gt;
bones_koeff_protection = gilet_antigas_damage&lt;br /&gt;
&lt;br /&gt;
[sect_stalker_outfit_immunities] ; коэффициенты иммунитета самого костюма, то &lt;br /&gt;
есть - то, насколько сильно он сам подвержен повреждениям от различных типов &lt;br /&gt;
воздействий. по значениям каждого типа - см. выше.&lt;br /&gt;
&lt;br /&gt;
burn_immunity				= 0.03&lt;br /&gt;
strike_immunity				= 0.01&lt;br /&gt;
shock_immunity				= 0.03&lt;br /&gt;
wound_immunity				= 0.015&lt;br /&gt;
radiation_immunity			= 0.00&lt;br /&gt;
telepatic_immunity			= 0.00&lt;br /&gt;
chemical_burn_immunity		= 0.03&lt;br /&gt;
explosion_immunity			= 0.03&lt;br /&gt;
fire_wound_immunity			= 0.01&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;
===Дополнение от Aiden57===&lt;br /&gt;
&lt;br /&gt;
Также существуют параметры &lt;br /&gt;
&lt;br /&gt;
additional_inventory_weight                 = 30&amp;lt;br&amp;gt;&lt;br /&gt;
additional_inventory_weight2	            = 30 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Они увеличивают (уменьшают) переносимый вес ГГ в костюме с этим параметрами (в моем случае на 30 кг).&lt;br /&gt;
&amp;lt;br&amp;gt;Вписывать эти параметра следует после строки bones_koeff_protection.&lt;br /&gt;
&lt;br /&gt;
===Дополнение от DR.KREIG===&lt;br /&gt;
&lt;br /&gt;
есть еще 3 таких параметра как:&lt;br /&gt;
# power_loss = 0.77&lt;br /&gt;
# bleeding_restore_speed = -0.006&lt;br /&gt;
# health_restore_speed	= 0.0007&lt;br /&gt;
&lt;br /&gt;
первый отвечает за усталость, прописываеться в %%, то есть 0.77 равно 77%, силы тратяться на 33% медленнее(100% - стандартная усталость), второй отвечает за остановку кровотечения, третий за восстановление здоровья&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
&lt;br /&gt;
* [[Участник:BAC9-FLCL|BAC9-FLCL]]&lt;br /&gt;
&lt;br /&gt;
Дополнение:&lt;br /&gt;
&lt;br /&gt;
* '''Aiden57'''&lt;br /&gt;
&lt;br /&gt;
Исправление мелких недочётов:&lt;br /&gt;
* [[Участник:Rekongstor|Rekongstor]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D1%81%D1%82%D1%8E%D0%BC%D0%BE%D0%B2</id>
		<title>Редактирование костюмов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D1%81%D1%82%D1%8E%D0%BC%D0%BE%D0%B2"/>
				<updated>2010-02-13T03:12:17Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Разбор параметров===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В этой статье мы рассмотрим значения параметров костюмов.&amp;lt;br&amp;gt;&lt;br /&gt;
Все параметры, не упомянутые ниже, изменять '''строго не рекомендуется'''!&lt;br /&gt;
&lt;br /&gt;
Итак, секции с параметрами находятся в файле:&amp;lt;br&amp;gt;&lt;br /&gt;
'''config\misc\outfit.ltx'''&lt;br /&gt;
&lt;br /&gt;
Разберем, например, параметры классического костюма сталкера.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[stalker_outfit]:outfit_base &lt;br /&gt;
&lt;br /&gt;
; название секции костюма. именно к нему игра будет обращаться. outfit_base - &lt;br /&gt;
базовая (наследуемая)  секция (изменять строго не рекомендуется).&lt;br /&gt;
&lt;br /&gt;
visual          = equipments\stalker_suit ; модель, используемая для сложенного костюма, &lt;br /&gt;
лежащего на земле.&lt;br /&gt;
&lt;br /&gt;
actor_visual	= actors\hero\stalker_hood.ogf ; модель, используемая для игрока, когда&lt;br /&gt;
на нем надет костюм.&lt;br /&gt;
&lt;br /&gt;
inv_name			= stalker_outfit_name ; название в инвентаре.&lt;br /&gt;
&lt;br /&gt;
inv_name_short		= stalker_outfit_name ; название в инвентаре (в принципе, можно&lt;br /&gt;
здесь продублировать значение предыдущего параметра - так чаще всего и делают).&lt;br /&gt;
&lt;br /&gt;
description			= stalker_outfit_description ; ссылка на текстовую строку&lt;br /&gt;
с описанием.&lt;br /&gt;
&lt;br /&gt;
inv_weight			= 5.0 ; вес.&lt;br /&gt;
&lt;br /&gt;
; далее идут параметры иконки в инвентаре (см. примечание 1).&lt;br /&gt;
&lt;br /&gt;
inv_grid_width		= 2&lt;br /&gt;
inv_grid_height		= 3&lt;br /&gt;
inv_grid_x		= 6&lt;br /&gt;
inv_grid_y		= 15&lt;br /&gt;
&lt;br /&gt;
full_icon_name		= npc_icon_stalker_outfit ; название иконки.&lt;br /&gt;
&lt;br /&gt;
cost				= 15000 ; базовая цена (см. примечание 2).&lt;br /&gt;
&lt;br /&gt;
full_scale_icon		= 14,11			; иконка сталкера в костюме в полный &lt;br /&gt;
рост (отображается в инвентаре справа).&lt;br /&gt;
&lt;br /&gt;
nightvision_sect				= effector_nightvision_bad ; тип ПНВ&lt;br /&gt;
(&amp;quot;плохой&amp;quot; - зеленый, &amp;quot;хороший&amp;quot; - синий).&lt;br /&gt;
&lt;br /&gt;
; ниже идут параметры защиты владельца от различных типов воздействий, &lt;br /&gt;
обеспечиваемые костюмом.&lt;br /&gt;
&lt;br /&gt;
burn_protection 				= 0.5 ; защита от воздействия &lt;br /&gt;
огня (костры, аномалия &amp;quot;Жарка&amp;quot; и т.д.).&lt;br /&gt;
&lt;br /&gt;
strike_protection 				= 0.5 ; защита от ударов&lt;br /&gt;
(наносятся мутантами, например, псевдогигантом).&lt;br /&gt;
&lt;br /&gt;
shock_protection 				= 0.5 ; защита от поражения&lt;br /&gt;
электричеством.&lt;br /&gt;
&lt;br /&gt;
wound_protection				= 0.4 ; защита от ранений&lt;br /&gt;
(наносятся мутантами, например, собаками, кровососами и т.д.).&lt;br /&gt;
&lt;br /&gt;
radiation_protection 			= 0.5 ; защита от радиации.&lt;br /&gt;
&lt;br /&gt;
telepatic_protection 			= 0.0 ; защита от пси-воздействия&lt;br /&gt;
(например, присутствие контроллера серьезно влияет на psy_health).&lt;br /&gt;
&lt;br /&gt;
chemical_burn_protection 		= 0.5 ; защита от химического воздействия.&lt;br /&gt;
&lt;br /&gt;
explosion_protection 			= 0.3 ; защита от взрывов/осколков.&lt;br /&gt;
&lt;br /&gt;
fire_wound_protection  			= 0.3 ; защита от огнестрельного&lt;br /&gt;
оружия (наиболее важный параметр для большинства костюмов).&lt;br /&gt;
&lt;br /&gt;
power_loss = 0.87&lt;br /&gt;
bones_koeff_protection = gilet_antigas_damage&lt;br /&gt;
&lt;br /&gt;
[sect_stalker_outfit_immunities] ; коэффициенты иммунитета самого костюма, то &lt;br /&gt;
есть - то, насколько сильно он сам подвержен повреждениям от различных типов &lt;br /&gt;
воздействий. по значениям каждого типа - см. выше.&lt;br /&gt;
&lt;br /&gt;
burn_immunity				= 0.03&lt;br /&gt;
strike_immunity				= 0.01&lt;br /&gt;
shock_immunity				= 0.03&lt;br /&gt;
wound_immunity				= 0.015&lt;br /&gt;
radiation_immunity			= 0.00&lt;br /&gt;
telepatic_immunity			= 0.00&lt;br /&gt;
chemical_burn_immunity		= 0.03&lt;br /&gt;
explosion_immunity			= 0.03&lt;br /&gt;
fire_wound_immunity			= 0.01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Примечания===&lt;br /&gt;
&lt;br /&gt;
1. Подробнее о работе с иконками и текстурами - см. [[Редактирование торговцев|здесь]].&amp;lt;br&amp;gt;&lt;br /&gt;
2. Подробнее о механизме работы цен - см. [[Изменение текстур|здесь]].&lt;br /&gt;
&lt;br /&gt;
===Дополнение от Aiden57===&lt;br /&gt;
&lt;br /&gt;
Также существуют параметры &lt;br /&gt;
&lt;br /&gt;
additional_inventory_weight                 = 30&amp;lt;br&amp;gt;&lt;br /&gt;
additional_inventory_weight2	            = 30 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Они увеличивают (уменьшают) переносимый вес ГГ в костюме с этим параметрами (в моем случае на 30 кг).&lt;br /&gt;
&amp;lt;br&amp;gt;Вписывать эти параметра следует после строки bones_koeff_protection.&lt;br /&gt;
&lt;br /&gt;
===Дополнение от DR.KREIG===&lt;br /&gt;
&lt;br /&gt;
есть еще 3 таких параметра как:&lt;br /&gt;
# power_loss = 0.77&lt;br /&gt;
# bleeding_restore_speed = -0.006&lt;br /&gt;
# health_restore_speed	= 0.0007&lt;br /&gt;
&lt;br /&gt;
первый отвечает за усталость, прописываеться в %%, то есть 0.77 равно 77%, силы тратяться на 33% медленнее(100% - стандартная усталость), второй отвечает за остановку кровотечения, третий за восстановление здоровья&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
&lt;br /&gt;
* [[Участник:BAC9-FLCL|BAC9-FLCL]]&lt;br /&gt;
&lt;br /&gt;
Дополнение:&lt;br /&gt;
&lt;br /&gt;
* '''Aiden57'''&lt;br /&gt;
&lt;br /&gt;
Исправление мелких недочётов:&lt;br /&gt;
* [[Участник:Rekongstor|Rekongstor]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Maya._%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2</id>
		<title>Обсуждение:Maya. Подробное описание создания объектов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:Maya._%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D0%B5_%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2"/>
				<updated>2010-02-13T03:08:18Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Здесь задавайте вопросы по статье.&lt;br /&gt;
&lt;br /&gt;
Чтобы добавить комментарий - нажмите &amp;quot;+&amp;quot; наверху страницы правее гиперссылок &amp;quot;статья&amp;quot; и &amp;quot;обсуждение&amp;quot;&lt;br /&gt;
&lt;br /&gt;
самая нижняя ссылка с авангардом какое отношение имеет к статье, теме и сайту в целом?&lt;br /&gt;
--HikeR 03:08, 13 февраля 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%90%D0%98-%D0%A1%D0%B5%D1%82%D0%BA%D0%B8</id>
		<title>Обсуждение:Сборка АИ-Сетки</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%90%D0%98-%D0%A1%D0%B5%D1%82%D0%BA%D0%B8"/>
				<updated>2010-02-13T03:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;предлагаю или закончить статью, или удалить её вовсе.&lt;br /&gt;
--HikeR 21:10, 3 января 2009 (MSK)&lt;br /&gt;
&lt;br /&gt;
закончил&lt;br /&gt;
--Loxotron 3:50 4 января 2009 (MSK)&lt;br /&gt;
&lt;br /&gt;
ссылки на всех картинках дают 404. не из-за русских ли букв?&lt;br /&gt;
--HikeR 03:05, 13 февраля 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%BE%D0%B1%D1%8C%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_db.script</id>
		<title>Спавн обьектов через db.script</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%BE%D0%B1%D1%8C%D0%B5%D0%BA%D1%82%D0%BE%D0%B2_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_db.script"/>
				<updated>2009-09-09T23:11:30Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: перенесено в [Неоформленные_статьи]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сегодня я расскажу вам как заспавнить, например, AK-74 в самом начале игры, без использования диалогов!&lt;br /&gt;
Для начала нам надо распаковать db.script и там находим функцию:&lt;br /&gt;
(Все написано в столбик)&lt;br /&gt;
&lt;br /&gt;
function add_actor( obj )&lt;br /&gt;
	actor = obj&lt;br /&gt;
	actor_proxy:net_spawn( obj )&lt;br /&gt;
	add_obj( obj )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Изменим эту функцию. У нас должно получиться так:&lt;br /&gt;
&lt;br /&gt;
function add_actor( obj )&lt;br /&gt;
	actor = obj&lt;br /&gt;
	actor_proxy:net_spawn( obj )&lt;br /&gt;
	add_obj( obj )&lt;br /&gt;
        new_spawn.give_ak74() &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
new_spawn - это название скрипта, в котором будет находиться наша функция спавна калаша.&lt;br /&gt;
&lt;br /&gt;
Создаем скрипт new_spawn и пишем там функцию: &lt;br /&gt;
&lt;br /&gt;
function give_ak74()&lt;br /&gt;
    alife():create(&amp;quot;wpn_ak74&amp;quot;, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Все! Теперь после того, как мы появимся у нас в инвентаре будет AK-74 и без использования диалогов!&lt;br /&gt;
Таким способом можно заспавнить не только калаш, но и другое оружие и патроны.&lt;br /&gt;
Авторы: Шатров Дмитрий (Fim@n)&lt;br /&gt;
&lt;br /&gt;
[[Категория:Неоформленные_статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</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%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0</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%B3%D0%BE_%D1%82%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%86%D0%B0"/>
				<updated>2009-09-09T23:06:19Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление, стилевые правки, орфография. автору этой секции кол по русскому языку и правописанию, и ещё один кол по знанию викиразметки.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Новый торговец==&lt;br /&gt;
&lt;br /&gt;
Болезненная тема для многих начинающих модмейкеров. Для создания нового тороговца требуется постигать навыки работы со спавн-файлом. Для создания торговца придётся запастись кое-какими утилитами:&lt;br /&gt;
&lt;br /&gt;
'''acdc''' от ''bardak'' [http://stalkerin.gameru.net/developer/mods/acdc11oct.rar скачать]&lt;br /&gt;
&lt;br /&gt;
'''ActivePerl 5.8.8''' для работы программы '''acdc''' [http://www.avege.ru/russian/perl/perl01.shtml скачать]&lt;br /&gt;
&lt;br /&gt;
==Практика==&lt;br /&gt;
&lt;br /&gt;
===Создание непися и профиля===&lt;br /&gt;
&lt;br /&gt;
И так. Сперва мы создаём профиль непися. Например, в файле ''character_desc_escape.xml'' по адресу ''gamedata\config\gameplay\''&lt;br /&gt;
Можно создать отдельный файл для наших неписей, это упрощает совмещение модов.&lt;br /&gt;
В файле ''character_desc_escape.xml'', в самом низу, '''перед''' тегом &amp;lt;/xml&amp;gt; пишем профиль нового непися:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;specific_character id=&amp;quot;esc_dark_stalker_voron&amp;quot; no_random = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
;важно при создании торговца, указать параметр no_random = &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;name&amp;gt;Ворон&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;icon&amp;gt;ui_npc_dark_voron&amp;lt;/icon&amp;gt;&lt;br /&gt;
&amp;lt;map_icon x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/map_icon&amp;gt;&lt;br /&gt;
&amp;lt;bio&amp;gt;sim_stalker_novice_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;community&amp;gt;dark_stalker&amp;lt;/community&amp;gt;&lt;br /&gt;
&amp;lt;money min=&amp;quot;500000&amp;quot; max=&amp;quot;500000&amp;quot; infinitive=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/money&amp;gt;&lt;br /&gt;
;в поле денег, надо поставить бессконечные деньги - infinitive=&amp;quot;1&amp;quot;&lt;br /&gt;
;иначе вы сможете продать неписю товаров исключительно на указанную сумму.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rank&amp;gt;1000&amp;lt;/rank&amp;gt;&lt;br /&gt;
&amp;lt;reputation&amp;gt;-553&amp;lt;/reputation&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;visual&amp;gt;actors\dark_stalker\dark_stalker_voron&amp;lt;/visual&amp;gt; ;ссылка на файл-модель персонажа без окончания .ogf&lt;br /&gt;
&amp;lt;snd_config&amp;gt;characters_voice\human_01\monolith\&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;
&amp;lt;panic_treshold&amp;gt;0&amp;lt;/panic_treshold&amp;gt;&lt;br /&gt;
&amp;lt;supplies&amp;gt;&lt;br /&gt;
[spawn] \n&lt;br /&gt;
wpn_gauss \n&lt;br /&gt;
ammo_gauss \n&lt;br /&gt;
#include &amp;quot;gameplay\character_items.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_drugs.xml&amp;quot; \n&lt;br /&gt;
#include &amp;quot;gameplay\character_food.xml&amp;quot; &lt;br /&gt;
&amp;lt;/supplies&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_3.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;start_dialog&amp;gt;hello_dialog_dark_stalker&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;actor_dialog&amp;gt;join_dark&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
&amp;lt;/specific_character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Профиль создан, пара стандартных диалогов, взятых у любого другого профиля, дописать не составит труда. Я ничего не менял в своём коде. Лезем в ''npc_profile.xml'', который находится в той же папке. Где-нить внизу делаем запись:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;character id=&amp;quot;esc_dark_stalker_voron&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;class&amp;gt;esc_dark_stalker_01&amp;lt;/class&amp;gt; -- настраивает респавнер на класс персонажа для спавна разных моделей.&lt;br /&gt;
;т.к. мы спавним уникального непися, класс можно скопировать у любого другого непися или написать новый, уникальный класс.&lt;br /&gt;
&amp;lt;specific_character&amp;gt;esc_dark_stalker_voron&amp;lt;/specific_character&amp;gt; -- ссылка на профиль нашего непися.&lt;br /&gt;
&amp;lt;/character&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ввод в симуляцию===&lt;br /&gt;
&lt;br /&gt;
Непись создан. Теперь надо вводить его в симуляцию. Открываем файл ''gamedata\config\creatures\spawn_sections.ltx'' и прописываем в конце:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_dark_stalker_voron]:stalker_trader - дописать суффикс торговца... хотя у меня и без него всё работало =)&lt;br /&gt;
$spawn                =  &amp;quot;respawn\esc_dark_stalker_voron&amp;quot; - опция спавна для Левел Едитора&lt;br /&gt;
character_profile    = esc_dark_stalker_voron - профиль непися, записанный в npc_profile.xml&lt;br /&gt;
spec_rank = regular&lt;br /&gt;
community = dark_stalker - группировка&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Спавн торговца через all.spawn файл==&lt;br /&gt;
&lt;br /&gt;
Дальше, самое нудное - спавн. Спасибо [[Участник:Arhet|Arhet]]'y за пример. Используя прогу '''acdc''' от bardak'a декомпилим all.spawn, создав батник разбора спавна (без active perl толку от проги бардака нуль - просто не запустится) и в понравившемся месте делаем запись с уникальным номером. Я заспавнил на Кордоне:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[8796]&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = stalker_trader -- метка, что сталкер является торговцем&lt;br /&gt;
name = dark_stalker_voron -- имя любое, вроде бы; где оно используется не знаю&lt;br /&gt;
position = -215.67399597168,-20.403390884355,-151.03227233887 -- местоположение на игровой карте&lt;br /&gt;
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942&lt;br /&gt;
&lt;br /&gt;
; cse_alife_trader_abstract properties&lt;br /&gt;
character_profile = esc_dark_stalker_voron&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 61 -- геймвертекс, без него спавнер не будет знать, на какой именно карте и в какой её части спавнить объект&lt;br /&gt;
distance = 3.5&lt;br /&gt;
level_vertex_id = 42599 -- левелвертекс, без него спавнер не будет знать, в именно какой части карты спавнить объект&lt;br /&gt;
object_flags = 0xfffffffb&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[logic]&lt;br /&gt;
cfg = scripts\esc_voron.ltx -- конфиг с логикой&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true -- смарт террейн; если создаёте статического торговца - лучше не выставлять смарт террейн&lt;br /&gt;
;если хотите бродягу - пишите по аналогии с другими неписями или создавайте свой смарт террейн, куда и определяйте непися&lt;br /&gt;
&lt;br /&gt;
[spawn]&lt;br /&gt;
wpn_gauss -- спавним в инвентаре всё, что хотим, в продажу оно не пойдёт&lt;br /&gt;
END&lt;br /&gt;
story_id = 9958 - уникальный стори_ид для меток на карте&lt;br /&gt;
&lt;br /&gt;
; cse_visual properties&lt;br /&gt;
visual_name = actors\dark_stalker\dark_stalker_voron -- внешний вид, указать путь к .ogf модели, без окончания формата файла!&lt;br /&gt;
&lt;br /&gt;
; cse_alife_creature_abstract properties&lt;br /&gt;
g_team = 0&lt;br /&gt;
g_squad = 0&lt;br /&gt;
g_group = 0&lt;br /&gt;
health = 2&lt;br /&gt;
dynamic_out_restrictions = &lt;br /&gt;
dynamic_in_restrictions = &lt;br /&gt;
&lt;br /&gt;
upd:health = 2&lt;br /&gt;
upd:timestamp = 0&lt;br /&gt;
upd:creature_flags = 0&lt;br /&gt;
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 -- те же координаты, что и в секции position&lt;br /&gt;
upd:o_model = 0&lt;br /&gt;
upd:o_torso = 0,0,0&lt;br /&gt;
upd:g_team = 0&lt;br /&gt;
upd:g_squad = 0&lt;br /&gt;
upd:g_group = 0&lt;br /&gt;
&lt;br /&gt;
; cse_alife_monster_abstract properties&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;
; cse_alife_human_abstract properties&lt;br /&gt;
predicate5 = 2,2,1,2,0&lt;br /&gt;
predicate4 = 2,2,1,2&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;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Спавн файл еще рано собирать!'''&lt;br /&gt;
&lt;br /&gt;
===Логика торговца===&lt;br /&gt;
&lt;br /&gt;
Далее, создаём файл конфиг торговца, который указали в спавне - ''gamedata\config\scripts\esc_voron.ltx'' и пишем в нём:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
trade = misc\trade_voron.ltx -- файл торговли, создаётся по аналогии с существующими&lt;br /&gt;
trader_flags = 0 - флаг трейдера&lt;br /&gt;
inv_max_weight = 10000 -- вес инвентаря торговца&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = esc_sin_voron_walk -- привязка вейпоинта, чтобы трейдер стоял на месте или двигался по определённому курсу&lt;br /&gt;
path_look = esc_sin_voron_look -- куда будет смотреть непись&lt;br /&gt;
meet = meet -- параметры реакции непися на встречу с актором&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
use = true&lt;br /&gt;
use_wpn = true -- перезаряжает оружие&lt;br /&gt;
meet_talk_enabled = true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь лезем за скриптом от бардака и снимаем координаты местоположения нашего непися. У кого нету скрипта, копируем в ''gamedata/scripts/ui_main_menu.script'' этот скрипт:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;function main_menu:OnButton_credits_clicked() &lt;br /&gt;
local text &lt;br /&gt;
local vid &lt;br /&gt;
local gvid &lt;br /&gt;
local a = vector()  &lt;br /&gt;
local text &lt;br /&gt;
a = db.actor:position()  &lt;br /&gt;
vid = db.actor:level_vertex_id()  &lt;br /&gt;
gvid = db.actor:game_vertex_id()  &lt;br /&gt;
text = &amp;quot;Позиция:\\nX= &amp;quot;..a.x..&amp;quot;\\nY= &amp;quot;..a.y..&amp;quot;\\nZ= &amp;quot;..a.z..&amp;quot;\\nlevel_vertex= &amp;quot;..vid..&amp;quot;\\ngame_vertex_id= &amp;quot;..gvid &lt;br /&gt;
news_manager.send_tip(db.actor, text, nil, nil, 30000) &lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заходим в игру, ищем нужное нам место (ногами), жмём из меню кнопку CREDITS и мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений высветиться вся инфа. Всё - F12 или на бумажку списываем полученные координаты.&lt;br /&gt;
&lt;br /&gt;
===Создаём вейпоинты и лукпоинты===&lt;br /&gt;
&lt;br /&gt;
И так, мы сняли координаты мест, где хотим видеть торговца и где мы хотим, чтобы он ходил - теперь в разобранном all.spawn ищите файл way_*левел*.ltx и туда пишем данные. Я приведу пример свой, опять таки. В файле ''way_l01_escape.ltx'' пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[esc_sin_voron_look] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0,p1&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -205.306793212891,-20.4855155944824,-150.415893554688&lt;br /&gt;
p0:game_vertex_id = 46&lt;br /&gt;
p0:level_vertex_id = 54218&lt;br /&gt;
&lt;br /&gt;
p1:name = wp01&lt;br /&gt;
p1:flags = 0x1&lt;br /&gt;
p1:position = -207.645278930664,-20.2700958251953,-146.980590820313&lt;br /&gt;
p1:game_vertex_id = 61&lt;br /&gt;
p1:level_vertex_id = 45276&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[esc_sin_voron_walk] -- имя, которые мы записали в ''gamedata\config\scripts\esc_voron.ltx''&lt;br /&gt;
points = p0&lt;br /&gt;
p0:name = wp00&lt;br /&gt;
p0:flags = 0x1&lt;br /&gt;
p0:position = -215.67399597168,-20.403390884355,-151.03227233887&lt;br /&gt;
p0:game_vertex_id = 47&lt;br /&gt;
p0:level_vertex_id = 37503&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если нужно создать несколько вейпоинтов - смотрите по аналогии с уже существующими.&lt;br /&gt;
&lt;br /&gt;
После всего этого собираем all.spawn батником (что писать в батниках для сбора и разбора спавна - в файле help.txt в папке с программой), закидываем новый файл спавна в ''gamedata/spawn'' и стартуем новую игру.&lt;br /&gt;
&lt;br /&gt;
====Присваеваем торговлю уже имеющемуся неписю====&lt;br /&gt;
Можно и описанным способом, но иногда требуется присвоить торговлю к уже имеющимся неписям. Будем делать торговцем кого-нибудь из уже имеющихся... Кого, кого, кого...&lt;br /&gt;
&lt;br /&gt;
Как обычно Волка (у меня две подопытных &amp;quot;крысы&amp;quot;-Сидорович и Волк, а так как Сид уже им является, выбор очевиден. Ну чтож приступим. Необходимо создать &amp;quot;файл торговли&amp;quot; типа &amp;quot;trade_....ltx&amp;quot;. Можно прописать его самому(как это делать я объяснять не буду, т.к. и до меня все это сделано не один раз, можно скопировать любой другой... я скопировал &amp;quot;trade_freedom.ltx&amp;quot; и переименовал его в &amp;quot;trade_wolf&amp;quot; и удалил все прикондишны с информацией на разрешение торговли.&lt;br /&gt;
&lt;br /&gt;
Теперь нужно сослаться на него. Делается это в файле логики, то бишь в &amp;quot;gulag_escape.ltx&amp;quot; (почему в эскейп, думаю понятно, наш Волк находится на Кордоне. Открываем файл и ищем строки:&lt;br /&gt;
&amp;lt;code&amp;gt;;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
&lt;br /&gt;
[walker@esc_lager_volk_walker1]&lt;br /&gt;
path_walk = wolf_walk&lt;br /&gt;
path_look = wolf_look&lt;br /&gt;
meet = meet@wolf&lt;br /&gt;
on_actor_dist_le = 23| {+tutorial_wounded_start -esc_kill_bandits_quest_kill} remark@esc_lager_volk1 &lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&lt;br /&gt;
[remark@esc_lager_volk1]&lt;br /&gt;
anim = hello_wpn&lt;br /&gt;
snd = esc_wolf_say_thanks&lt;br /&gt;
target = actor&lt;br /&gt;
on_signal = sound_end| walker@esc_lager_volk_walker2&lt;br /&gt;
on_actor_dist_le_nvis = 5| walker@esc_lager_volk_walker2&lt;br /&gt;
danger = danger_condition@shustryi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь сошлемся на наш трад-в секцию &amp;quot;[logic@esc_lager_volk]&amp;quot; добавим строки:&lt;br /&gt;
&amp;lt;code&amp;gt;trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&amp;lt;/code&amp;gt;&lt;br /&gt;
То есть должно получится следующее:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
;-- ESCAPE LAGER&lt;br /&gt;
;-------------------------------------------------------------------------------------------------&lt;br /&gt;
; Волк&lt;br /&gt;
[logic@esc_lager_volk]&lt;br /&gt;
active = walker@esc_lager_volk_walker1&lt;br /&gt;
on_death = death@wolf&lt;br /&gt;
trade = misc\trade_wolf.ltx&lt;br /&gt;
inv_max_weight = 10000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Традом мы ссылаемся на наш &amp;quot;торговый файл&amp;quot;, а вот следующей строкой увеличиваем переносимый вес, поскольку он и у неписей ограничен. Осталось только дать нашему &amp;quot;новорождённому&amp;quot; торговцу-Волку побольше денег. Делаем это точно также как описано, но различие в том, что мы редактируем секцию Волка в &amp;quot;character_desc_escape.xml&amp;quot;. Я еще и удалил строку &amp;quot;#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&amp;quot; с ограничением по весу, но правда на всякий случай, поскольку не проверял, работает ли с ним.&lt;br /&gt;
&lt;br /&gt;
На этом все, заходим в игру и наслаждаемся собственным творением.&lt;br /&gt;
&lt;br /&gt;
P.S.-Упс, работает, но как-то неправильно, у торговца оказывается нет поддержки перемещения. Поэтому ГСЦ всех торгошей и биндят не сталкером, а монстром Заработало только когда я в бинде сталкера прописал:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function actor_binder:reinit()&lt;br /&gt;
	object_binder.reinit(self)&lt;br /&gt;
	&lt;br /&gt;
	local npc_id = self.object:id()&lt;br /&gt;
&lt;br /&gt;
	db.storage[npc_id] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[npc_id]&lt;br /&gt;
	self.st.pstor = nil&lt;br /&gt;
&lt;br /&gt;
	self.next_restrictors_update_time = -10000&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
;вот мои строки&lt;br /&gt;
	if self.object:clsid() ~= clsid.script_trader then&lt;br /&gt;
		self.object:set_patrol_extrapolate_callback(bind_monster.generic_object_binder.extrapolate_callback, self)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	db.storage[self.object:id()] = { }&lt;br /&gt;
&lt;br /&gt;
	self.st = db.storage[self.object:id()]&lt;br /&gt;
&lt;br /&gt;
	self.object:set_callback(callback.patrol_path_in_point, self.waypoint_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.hit,					self.hit_callback,		self)&lt;br /&gt;
	self.object:set_callback(callback.death,				self.death_callback,	self)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;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;
Статья [[Участник:Орион|Орион]].&amp;lt;br&amp;gt;&lt;br /&gt;
При помощи (косвенной) [[Участник:Arhet|Arhet]].&amp;lt;br&amp;gt;&lt;br /&gt;
Дополнение [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:DCT:%D0%9E%D1%81%D0%B2%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%BE_%D0%B2%D1%8C%D1%8E%D0%BF%D0%BE%D1%80%D1%82%D0%B5</id>
		<title>Обсуждение:DCT:Освещение во вьюпорте</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:DCT:%D0%9E%D1%81%D0%B2%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%BE_%D0%B2%D1%8C%D1%8E%D0%BF%D0%BE%D1%80%D1%82%D0%B5"/>
				<updated>2009-09-09T22:54:06Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--HikeR 22:54, 9 сентября 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
где картинка, которая упомянута в статье?&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F</id>
		<title>SoC. Энциклопедия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%AD%D0%BD%D1%86%D0%B8%D0%BA%D0%BB%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F"/>
				<updated>2009-09-09T22:52:41Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: перенесено в [Неоформленные_статьи]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Как получить всю инфу в энциклопедию в начале новой игры====&lt;br /&gt;
Разбирать добавление статьи в энциклопедию я не буду,а просто раскажу как выдать всю инфу в начале игры:)Открываем файл &amp;quot;gamedata\scripts\bind_stalker.script&amp;quot; и  ищем строки:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;storyline_actor_start&amp;quot;)&lt;br /&gt;
			_G.g_start_avi = true&lt;br /&gt;
			printf(&amp;quot;*AVI* RUN START AVI&amp;quot;)			&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
--		if not has_alife_info(&amp;quot;encyclopedy&amp;quot;) then		-раскомпилитим &lt;br /&gt;
&lt;br /&gt;
--			self.object:give_info_portion(&amp;quot;encyclopedy&amp;quot;)	-		эти&lt;br /&gt;
&lt;br /&gt;
--		end						-			строки&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;global_dialogs&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;global_dialogs&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if not has_alife_info(&amp;quot;level_changer_icons&amp;quot;) then&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;level_changer_icons&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		level_tasks.add_lchanger_location()&lt;br /&gt;
&lt;br /&gt;
		self.bCheckStart = false&lt;br /&gt;
		&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Теперь,когда вы начнете игру,у вас добавятся все стандартные статьи из игры...Просто,да?:)Мы не ограничемся только ими,добавим статьи про оружие,машины и т.п.,а так же ваши,добавленные=-)&lt;br /&gt;
Инфопоршну &amp;quot;энциклопедия&amp;quot; игра берет из файла &amp;quot;gamedata\config\gamplay\info_known_objects.xml&amp;quot;.Открываем и смотрим структуру:&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Ну и так далее...Чтоб добавить инфу,например о ПМм,просто пишем между любыми артиклами(например):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;info_portion id=&amp;quot;encyclopedy&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-medusa&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-cristall-flower&amp;lt;/article&amp;gt;&lt;br /&gt;
  &amp;lt;article&amp;gt;weapons1_wpn-pm&amp;lt;/article&amp;gt;			-теперь нам будут выдавать инфу о ПМм&lt;br /&gt;
  &amp;lt;article&amp;gt;zone_artifact_af-night-star&amp;lt;/article&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
Объясню где брал инфопоршну ПМм-в &amp;quot;config\gameplay\encyclopedia_weapons.xml&amp;quot;.В той же папке есть и файлы с инфопоршнами предметов(еды и т.п.),машин и т.п.&lt;br /&gt;
Добавляем их все...Долго,но что поделать,раз решились сделать:)Если все добавите-игра вылетит.Исправить это легко---просто в &amp;quot;config\system.ltx&amp;quot; добавим наши &amp;quot;недостающие&amp;quot; файлы(типа машин и т.п.).&lt;br /&gt;
Открываем и ищем секцию энциклопедии:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Через запятую добавляем наши недостающие файлы:&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[encyclopedia]&lt;br /&gt;
files = encyclopedia_infos, storyline_info_to_diary, encyclopedia_weapons, encyclopedia_mutants, encyclopedia_zone, encyclopedia_social, encyclopedia_equipment, encyclopedia_tutorial,encyclopedia_vehicles,&lt;br /&gt;
encyclopedia_new&lt;br /&gt;
&lt;br /&gt;
....&lt;br /&gt;
Вроде все(могу ошибатся:))...Кстати,я советовал бы вам добавлять свои статьи таким же способом-создаем отдельный файл,подключаем его в системе,и работаем дальше с ним...И все равно к какой теме&lt;br /&gt;
относится ваша статья,игра считывает ее из любых файлов секции &amp;quot;encyclopedia&amp;quot;.Теперь у нас в ПДА отображаются все возможные статьи=-)&lt;br /&gt;
&lt;br /&gt;
P.S.-сам обсолютно все статьи все никак не собирусь добавить,так что не знаю,есть ли там какие-либо ошибки...:)Если вылетела или зависла==&amp;gt;открываем блокнот и жмем &amp;quot;Ctrl+V&amp;quot;(вставить) и смотрим лог &lt;br /&gt;
ошибки...&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Неоформленные_статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Spawn_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5</id>
		<title>Spawn через скрипт-дополнение</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Spawn_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5"/>
				<updated>2009-09-09T22:52:04Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: перенесено в [Неоформленные_статьи]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пишу статью специально для тех,кто только начинает увлекатся модмейкерством и не использует специальные проги для спавна(могу посоветовать ACDC-весчь улетная,спасиба разрабам:-)&lt;br /&gt;
Если вы хотите заспавнить в игру любой обьект-будь то непись,машина или аномалия без активации через диалог,тогда читайте и запоминайте:)&lt;br /&gt;
Изучая скрипты,я обнаружил,что можно запустить выдачу инфопоршны через обновление у актера...Не поняли?Объясняю-пишем в &amp;quot;scripts\bind_stalker.script&amp;quot; в секции обновления проверку на наличие&lt;br /&gt;
&amp;quot;info_portion&amp;quot;:&lt;br /&gt;
...&lt;br /&gt;
function actor_binder:update(delta)&lt;br /&gt;
	object_binder.update(self, delta)&lt;br /&gt;
&lt;br /&gt;
	-- DEBUG slowdown&lt;br /&gt;
--	slowdown.update()&lt;br /&gt;
&lt;br /&gt;
	local time = time_global()&lt;br /&gt;
	&lt;br /&gt;
	game_stats.update (delta, self.object)&lt;br /&gt;
&lt;br /&gt;
	-- апдейт погоды&lt;br /&gt;
	self.weather_manager:update()&lt;br /&gt;
	&lt;br /&gt;
	-- апдейт схемы детектора&lt;br /&gt;
	self.actor_detector:update()&lt;br /&gt;
&lt;br /&gt;
	-- апдейт звуковой схемы актера&lt;br /&gt;
	xr_sound.update_actor()&lt;br /&gt;
&lt;br /&gt;
	if not has_alife_info(&amp;quot;spawn&amp;quot;) then				-вот&lt;br /&gt;
&lt;br /&gt;
			self.object:give_info_portion(&amp;quot;spawn&amp;quot;)		-	наше&lt;br /&gt;
&lt;br /&gt;
		end						-		обновление&lt;br /&gt;
....&lt;br /&gt;
такой функцией мы проверяем наличие инфопоршны &amp;quot;spawn&amp;quot;,и если её нет,выдаем игроку...&lt;br /&gt;
Осталось только добавить эти инфопоршну-для этого в &amp;quot;config\gamelay\&amp;quot; cоздаем файл с ней,например &amp;quot;spawn.xml&amp;quot; с текстом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version='1.0' encoding=&amp;quot;windows-1251&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
    &amp;lt;info_portion id=&amp;quot;spawn&amp;quot;&amp;gt;						-вот название нашей инфопоршны&lt;br /&gt;
 &amp;lt;! -- action&amp;gt;название_скрипта.название_функции_в_нем&amp;lt;/action -- &amp;gt;&lt;br /&gt;
 &amp;lt;action&amp;gt;escape_dialog.give_weapon_to_actor&amp;lt;/action&amp;gt;			-для примера выдадим стартовую снарягу(ПМм и патроны,что выдает волк)&lt;br /&gt;
    &amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Между &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;info_portion id=&amp;quot;spawn&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/info_portion&amp;gt;&lt;br /&gt;
&lt;br /&gt;
можете писать сколько угодно активаций скриптов(в пределах разумного,если не хотите загрузить процессор двумя сотнями операций:)&lt;br /&gt;
Подключим наш файл в секцию инфопоршен в &amp;quot;system.ltx&amp;quot;:&lt;br /&gt;
...&lt;br /&gt;
[info_portions]&lt;br /&gt;
;список xml файлов, содержащих info_portions&lt;br /&gt;
files = spawn, info_portions, info_portions_light, info_portions_test, info_lchanger_ico...&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
На этом все...Теперь когда вы зайдете в игру у вас в данном случае появится стартовая снаряга,ну а если вы пропишите активацию на спавн(ну или любое другое действие,например на:сон,телепорт и др.)&lt;br /&gt;
,у вас заспавнятся ваши предметы...Я еще бы не советовал часто пользоваться такой функцией,дабы могут возникнуть лаги при большом их кол-ве=-(.Думаю одной-двух вам вполне хватит...&lt;br /&gt;
ссори за жидкую инфу,дабы в моддинге всего три месяца...)&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Неоформленные_статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D1%86%D0%B8%D0%B8_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F</id>
		<title>Опции управления</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D1%86%D0%B8%D0%B8_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F"/>
				<updated>2009-09-09T22:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление отсутсвует, перемещено в [Неоформленные_статьи]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;При написании мода зачастую привязываешь какую либо команду через консоль или при редактировании &amp;quot;user.ltx&amp;quot;.Чтобы ваша команда появилась в опциях управления и можно было быстро и удобно&lt;br /&gt;
назначить\сменить клавишу вызова нам необходимо два файла:&lt;br /&gt;
-gamedata\config\ui\ui_keybinding.xml&lt;br /&gt;
-gamedata\config\text\rus\ui_st_keybinding.xml&lt;br /&gt;
Открываем первый файл,структура свойств кнопок такова:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;keybingidg&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;group name=&amp;quot;kb_grp_direction&amp;quot;&amp;gt;	&lt;br /&gt;
							-название групп(в данном случае &amp;quot;направление&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_left&amp;quot;						exe=&amp;quot;left&amp;quot;/&amp;gt;&lt;br /&gt;
	-команда кнопки типа описание\действие&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_right&amp;quot;						exe=&amp;quot;right&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_up&amp;quot;							exe=&amp;quot;up&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_down&amp;quot;						exe=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;group name=&amp;quot;kb_grp_movement&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_forward&amp;quot;					exe=&amp;quot;forward&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_backward&amp;quot;					exe=&amp;quot;back&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_left_strafe&amp;quot;				exe=&amp;quot;lstrafe&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_right_strafe&amp;quot;				exe=&amp;quot;rstrafe&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_jump&amp;quot;						exe=&amp;quot;jump&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_crouch&amp;quot;						exe=&amp;quot;crouch&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_crouch_toggle&amp;quot;				exe=&amp;quot;crouch_toggle&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
......&lt;br /&gt;
Добавим для примера возможность назначения клавиш для различных видов камер(вид от первого лица,вид от третьего...).Для этого добавим в любую группу(разумней будет в направление,а почему,&lt;br /&gt;
думаю понятно) строки:&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;group name=&amp;quot;kb_grp_direction&amp;quot;&amp;gt;	&lt;br /&gt;
							&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_left&amp;quot;						exe=&amp;quot;left&amp;quot;/&amp;gt;	&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_right&amp;quot;						exe=&amp;quot;right&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_up&amp;quot;							exe=&amp;quot;up&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_down&amp;quot;						exe=&amp;quot;down&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_1&amp;quot;						exe=&amp;quot;cam_1&amp;quot;&amp;gt;&lt;br /&gt;
	-вот &lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_2&amp;quot;						exe=&amp;quot;cam_2&amp;quot;&amp;gt;&lt;br /&gt;
	-      наши&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_3&amp;quot;						exe=&amp;quot;cam_3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	-                строки&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;command id=&amp;quot;kb_cam_4&amp;quot;						exe=&amp;quot;cam_4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	-                            с видами&lt;br /&gt;
&lt;br /&gt;
Разберу что обозначает каждая секция.Секция &amp;quot;command id=&amp;quot;kb_cam_4&amp;quot;&amp;quot;-это ссылка на описание,вернее на название функции в &amp;quot;gamedata\config\text\rus\ui_st_keybinding.xml&amp;quot;,а секция &amp;quot;exe=&amp;quot;cam_4&amp;quot;&amp;quot;&lt;br /&gt;
это сам вызов функции(подразумевается,что  запись &amp;quot;bind&amp;quot; упускается,то есть получается краткая запись:))....Итак,заходим в игру,в опции управления и видим наши функции,но одно НО,они отображаются&lt;br /&gt;
тем же текстом,что и ссылка.Чтоб это исправить необходимо добавить их описание в &amp;quot;gamedata\config\text\rus\ui_st_keybinding.xml&amp;quot;:&lt;br /&gt;
&lt;br /&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;kb_active_jobs&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;kb_always_run&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;kb_artefact&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;kb_cam_1&amp;quot;&amp;gt;					-вот название ссылки&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 1&amp;lt;/text&amp;gt;				-сам русско-язычный текст&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_cam_2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 2&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_cam_3&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 3&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
	&amp;lt;string id=&amp;quot;kb_cam_4&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;text&amp;gt;Камера 4&amp;lt;/text&amp;gt;&lt;br /&gt;
	&amp;lt;/string&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Теперь все будет работать как надо.Используйте это в своих модах. &lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Неоформленные_статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9D%D0%B5%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8</id>
		<title>Категория:Неоформленные статьи</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9D%D0%B5%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8"/>
				<updated>2009-09-09T22:50:47Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: новая категория&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В данной категории находятся статьи, которые неоформлены, имеют орфографические или грамматические ошибки или просто нечитаемы.&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=MediaWiki:Monobook.css</id>
		<title>MediaWiki:Monobook.css</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=MediaWiki:Monobook.css"/>
				<updated>2009-02-08T14:38:37Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному MediaWiki default&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* edit this file to customize the monobook skin for the entire site */&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=MediaWiki:Monobook.css</id>
		<title>MediaWiki:Monobook.css</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=MediaWiki:Monobook.css"/>
				<updated>2009-02-08T14:38:03Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: тест нет заголовкам&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* edit this file to customize the monobook skin for the entire site */&lt;br /&gt;
body.page-Заглавная_страница #t-cite,&lt;br /&gt;
body.page-Заглавная_страница #lastmod, &lt;br /&gt;
body.page-Заглавная_страница #siteSub, &lt;br /&gt;
body.page-Заглавная_страница #contentSub, &lt;br /&gt;
body.page-Заглавная_страница h1.firstHeading {&lt;br /&gt;
display: none !important&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_system.ltx</id>
		<title>Файлы: system.ltx</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_system.ltx"/>
				<updated>2009-02-08T13:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Параметры slot_persistent_* */ орфография&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Параметры slot_persistent_* === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slot_persistent_1  = true		;knife&lt;br /&gt;
slot_persistent_2  = false		;pistol&lt;br /&gt;
slot_persistent_3  = false		;automatic&lt;br /&gt;
slot_persistent_4  = true		;grenades&lt;br /&gt;
slot_persistent_5  = true		;binocular&lt;br /&gt;
slot_persistent_6  = true		;bolt&lt;br /&gt;
slot_persistent_7  = false		;outfit&lt;br /&gt;
slot_persistent_8  = true		;pda&lt;br /&gt;
slot_persistent_9  = true		;detector&lt;br /&gt;
slot_persistent_10  = true		;torch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Эти параметры проверяются когда игрок обшаривает контейнер или начинает торговаться с кем-то.  &lt;br /&gt;
&lt;br /&gt;
Если стоит '''false''' то вещь находящаяся в слоте при обшаривании или торговле будет автоматически выложена из слота в рюкзак.&lt;br /&gt;
Если стоит '''true''' то при обшаривании/торговле вещь останется в слоте.&lt;br /&gt;
&lt;br /&gt;
При завершении торговли или обшаривании контейнера, слоты автоматом забирают в себя соответствующие вещи из рюкзака. (если конечно эти вещи остались в рюкзаке - не были проданы или выложены в контейнер)&lt;br /&gt;
&lt;br /&gt;
Если для параметров:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slot_persistent_1  = true		;knife&lt;br /&gt;
slot_persistent_5  = true		;binocular&lt;br /&gt;
slot_persistent_6  = true		;bolt&lt;br /&gt;
slot_persistent_8  = true		;pda&lt;br /&gt;
slot_persistent_9  = true		;detector&lt;br /&gt;
slot_persistent_10  = true		;torch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
вместо true выставить false при обшаривании или торговле в рюкзаке можно увидеть ПДА, фонарик, детектор, нож, болты, которые в обычном режиме в инвентаре не отображаются.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_system.ltx</id>
		<title>Файлы: system.ltx</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_system.ltx"/>
				<updated>2009-02-08T13:42:58Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному 194.186.242.6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Параметры slot_persistent_* === &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slot_persistent_1  = true		;knife&lt;br /&gt;
slot_persistent_2  = false		;pistol&lt;br /&gt;
slot_persistent_3  = false		;automatic&lt;br /&gt;
slot_persistent_4  = true		;grenades&lt;br /&gt;
slot_persistent_5  = true		;binocular&lt;br /&gt;
slot_persistent_6  = true		;bolt&lt;br /&gt;
slot_persistent_7  = false		;outfit&lt;br /&gt;
slot_persistent_8  = true		;pda&lt;br /&gt;
slot_persistent_9  = true		;detector&lt;br /&gt;
slot_persistent_10  = true		;torch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Эти параметры проверяются когда игрок обшаривает контейнер или начинает торговаться с кем-то.  &lt;br /&gt;
&lt;br /&gt;
Если стоит '''false''' то вещь находящаяся в слоте при обшаривании или торговле будет автоматически выложена из слота в рюкзак.&lt;br /&gt;
Если стоит '''true''' то при обшаривании/торговле вещь останется в слоте.&lt;br /&gt;
&lt;br /&gt;
При завершении торговли или обшаривании контейнера, слоты автоматом забирают в себя соответствующие вещи из рюкзака. (если конечно эти вещи остались в рюкзаке - не были проданы или выложены в контейнер)&lt;br /&gt;
&lt;br /&gt;
Если для параметров:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slot_persistent_1  = true		;knife&lt;br /&gt;
slot_persistent_5  = true		;binocular&lt;br /&gt;
slot_persistent_6  = true		;bolt&lt;br /&gt;
slot_persistent_8  = true		;pda&lt;br /&gt;
slot_persistent_9  = true		;detector&lt;br /&gt;
slot_persistent_10  = true		;torch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
вместо true выставить false при обшаривании или торговле в рюкзаке можно увидеть ПДА, фонарик, детектор, ножь, болты, которые в обычном режиме в инвентаре не отображаются.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B8%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8</id>
		<title>Внутриигровые настройки</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%92%D0%BD%D1%83%D1%82%D1%80%D0%B8%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8"/>
				<updated>2009-01-16T17:39:21Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному Loxotron&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;250&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;background:#5e5e5e;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot; | Содержание&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
{{Шаблон:Содержание руководства по настройке}}&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
&lt;br /&gt;
В этом разделе я предоставляю вам полное описание, сравнительные скриншоты и рекомендации для внутриигровых настроек Сталкера, позволяя персонально вам определить баланс между качеством картинки и производительностью.&lt;br /&gt;
Пока я пытаюсь выявить влияние настроек друг на друга, невозможно определить наиболее удачные параметры (при которых, например, +10% прирост в фпс), потому что это всё также зависит от специфики железа, и других ваших игровых и системных настроек в сочетании между собой. Каждый комп уникален по своим компонетам и параметрам, которыми он обладает, так что два человека с одинаковой видюхой, но разными процессорами, могут иметь совершенно различное количество кадров в секунду в конкретной сцене. &lt;br /&gt;
&lt;br /&gt;
Чтобы добраться до внутриигровых настроек, запустите Сталкер и в главном меню нажмите кнопку Опции.  Описание доступных настроек мы можете прочитать ниже:&lt;br /&gt;
&lt;br /&gt;
== Виды освещения ==&lt;br /&gt;
{|&lt;br /&gt;
 |[[Изображение:Twg Static.jpg|thumb|center|Статическое освещение]]&lt;br /&gt;
 |[[Изображение:Twg Dynamic obj.jpg|thumb|center|Динамическое освещение объектов]]&lt;br /&gt;
 |[[Изображение:Twg Dynamic full.jpg|thumb|center|Полное Динамическое Освещение]]&lt;br /&gt;
 |}&lt;br /&gt;
&amp;lt;b&amp;gt;Тип рендера&amp;lt;/b&amp;gt; - Эта настройка определяет используемый на данный момент рендер для генерации внутриигровой графики и следовательно, обладает приоритетным влиянием на общее визуальное качество картинки и производительность в игре. Эта опция позволяет выбирать между статическим освещением, Динамическим освещением объектов и Полным динамическим освещением. Каждая опция объяснена ниже:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Статическое освещение&amp;lt;/b&amp;gt; - Хотя Сталкер требует полной поддержки DirectX9 вашей видеокартой для запуска, выбор этой опции переключающет Сталкер в режим рендеринга DX8. В режиме DX8 Динамическое Освещение полностью отключено как и специфические эффекты, такие как [http://ru.wikipedia.org/wiki/High_dynamic_range_imaging HDR](от англ. High dynamic range imaging — изображение с высоким динамическим диапазоном)). Динамическое Освещение - это реалистичное взаимодействие движущихся источников света с объектами, например отображение правильных теней. В DX8 используется обычное Статическое освещение, которое требует менее мощную видеокарту и обеспечивает большую производительность. Этот режим рекомендован всем, кто не может заставить Сталкер работать плавно независимо от настроек, которые вами выставлены.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Динамическое Oсвещение объектов&amp;lt;/b&amp;gt; – в этом режиме используются полный DirectX9, хотя динамическое освещение на миниуме, ограничение только в том, как фонарик реагирует на объекты. Большинство объектов в игровом мире не будут отбрасывать тени. Некоторые фиксированные объекты, такие как деревья или здания, будут продолжать отбрасывать тени, но эти тени не будут динамически взаимодействовать с источниками света – они привязаны к световым картам. Например,  взглянем на дерево, когда поднимается солнце, в этом режиме тени сохраняют тот же размер и форму. При полном динамическом освещении тени от деревьев будут более детализированными и смогут двигаться вокруг объекта и менять свою форму при движении солнца. Знайте, что [http://ru.wikipedia.org/wiki/High_dynamic_range_imaging HDR] освещение также будет автоматически включено и не может быть выключено. Этот режим - хороший баланс между производительностью и качеством картинки и позволяет насладиться возможностями DirectX9 в некоторой мере.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Полное Динамическое Освещение&amp;lt;/b&amp;gt; – В этом режиме используется полный DirectX9 рендеринг, включая полное использование динамического освещения. Это может значительно снизить производительность на машинах класса low-end, ввиду того что используются множественные источники света такие как солнце, костры, фонарики и т.д. и они все будут взаимодействовать с природой и отбрасывать комплексные тени, которые постоянно изменяются, как, например, движущиеся источники света. Хотя это очень реалистично на локациях, с большим количеством комплексных объектов или нпс, это может привести к серьезному снижению фпс. Данный режим рекомендуется включать только на машинах с хай-энд видеокартами. Заметьте снова, что в этом режиме [http://ru.wikipedia.org/wiki/High_dynamic_range_imaging HDR] освещение включено по умолчанию и не может быть отключено.&lt;br /&gt;
&lt;br /&gt;
Важно, что хотя эти режимы настройки освещения могут повлиять на производительность довольно сильно, фпс также зависит от других составляющих настроек, которые у вас включены. Например, когда вы включили или выключили 1 или более, связанную с тенями настройку (тени от солнца, тени от травы, качество теней), это может оказать приоритетное влияние на производительность динамического освещения. Если предположим, вы включили настройку Свет фонариков НПС, тогда ночью или на подземных локациях, если там будет ошиваться множество НПС с фонариками, это заметно снизит ФПС. Настройка Дальности освещения также влияет на ваш ФПС, когда динамическое освещение работает на больших открытых локациях.&lt;br /&gt;
&lt;br /&gt;
Кроме того, существует большой спектр продвинутых параметров, которые могут помочь вам настроить проявления освещения в игре. Например, вы можете использовать команду &amp;lt;tt&amp;gt;r2_gi&amp;lt;/tt&amp;gt; чтобы включить более реалистичное (но серьезно снижающий ФПС) Метод Глобального Освещения, также вы можете настроить проявления [[http://ru.wikipedia.org/wiki/High_dynamic_range_imaging HDR]], используя команду &amp;lt;tt&amp;gt;r2_tonemap_middlegray&amp;lt;/tt&amp;gt;; вы можете настроить отображение глянцевых поверхностей при свете используя переменную &amp;lt;tt&amp;gt;r2_gloss_factor&amp;lt;/tt&amp;gt;; также вы можете добавить &amp;lt;tt&amp;gt;motion blur&amp;lt;/tt&amp;gt; используя команду &amp;lt;tt&amp;gt;r2_mblur&amp;lt;/tt&amp;gt; вместе с параметром командной строки &amp;lt;tt&amp;gt;–mblur&amp;lt;/tt&amp;gt;. Смотрите раздел Продвинутый Твикинг для более подробной информации обо всем этом.&lt;br /&gt;
&lt;br /&gt;
== Настройки качества ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Настройки качества&amp;lt;/b&amp;gt;: вы можете выбирать 1 из 5 встроенных настроек качества в Опциях: (Миниум, Низкие, Средние, Высокие, Максимальные), которые автоматически выставят Расщиренные графические настройки (представленные выше) за вас соответственно. Я нерекомендую использовать эти пресеты, так как вы получите намного лучшие результаты, настраивая продвинутые настройки индивидуально, которые наиболее точно будут соответствовать вашим предпочтениям. Смотрите раздел Продвинутые настройки для более детальной информации.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
|- class=&amp;quot;shadow&amp;quot;&lt;br /&gt;
|'''дополнение от --HikeR 04:19, 1 июня 2007 (MSD)'''&lt;br /&gt;
Помимо изменения настроек, доступных через игровое меню, настройки качества также затрагивают параметры, изменяемые только вручную в файле &amp;lt;tt&amp;gt;User.ltx&amp;lt;/tt&amp;gt;, либо в консоли в процессе игры. Но не все эти параметры могут быть применены без перезагрузки игры.&lt;br /&gt;
&lt;br /&gt;
Я бы рекомендовал отталкиваться именно от этих преднастроек перед глобальным изменением всех параметров.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Остальные настройки ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Разрешение&amp;lt;/b&amp;gt;: Эта настройка позволяет вам выбрать разрешение для игры, количество пикселей в длину и в ширину. Эта опция ограниченна в зависимости от вашей комбинации монитора и видеокарты. Чем более высокие разрешения будут выбраны, тем более будет детализированнее картинка, но хуже производительность в игре. Если вы запускаете игру на широкоэкранном мониторе, то для того чтобы поле зрения игрока было необрезанным (FOV, от англ. Field Of View, поле зрения), вам необходимо установить патч версии 1.0003.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Гамма, Контраст, Яркость&amp;lt;/b&amp;gt;:&lt;br /&gt;
Эти слайдеры позволяют настроить яркость и определить контрастность картинки на экране. Они не оказывают влияние на производительность, так что можете выставлять их в соответствии со своим вкусом.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Полноэкранный режим&amp;lt;/b&amp;gt;: Если включен, игра запускается в полноэкранном режиме который рекомендован для максимальной стабильности. Если он невыбран, игра будет запускаться в оконном режиме, который может повысить производительность, если будет выбрано низкое разрешение. Снова, оконный режим сильно нерекомендованн, потому что он может вызвать проблемы с распределением ресурсов в системе. Запомните, что если вы захотите  центрировать игру в оконном режиме, вы можете использовать параметр &amp;lt;tt&amp;gt;-center_screen&amp;lt;/tt&amp;gt; (смотрите страницу о продвинутом твикинге).&lt;br /&gt;
&lt;br /&gt;
== Продвинутые настройки ==&lt;br /&gt;
&lt;br /&gt;
Данные параметры будут доступны, когда вы нажмете кнопку Продвинутые Настройки внизу экрана. Сильно рекомендую вам регулировать их индивидуально, вместо использования стандартных пресетов Настроек Качества, представленных выше.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Дальность Видимости&amp;lt;/b&amp;gt;: Этот слайдер определяет максимальную дистанцию прорисовки игрового мира.  Если уменьшить дальность прорисовки, ФПС возрастет, ввиду того, что движку придется рендерить меньше игрового мира. На сравнительных скриншотах выше показана реальная разница между 100% и 50% настроек параметра,  в результате мы видим что данный слайдер не особо значимый. На фактах, даже только на 25% едва заметна серьезная разница  в дальности прорисовки. Наибольшее влияние заметно между 25% и 0% по настройкам слайдера, на 0% же мы можем наблюдать достаточно серьезное падение в дальности видимости. Если после небольшого прироста в ФПС не было заметно серьезного ухудшения настроек качества картинки, установка слайдера в пределах 25% и 50% вам рекомендуется. Заметьте, что в любых заниженных местах, которые вы встретите во время игры, радиус видимости при использования бинокля вам нерасширят.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Детализация объектов&amp;lt;/b&amp;gt;: Данный слайдер изменяет уровень Детализации Объектов (LOD, от англ. Level Of Detail, уровень детализации) во всем игровом мире. Если сдвинуть слайдер влево, будет использоваться намного меньше полигонов для конструирования данных объектов, что может повысить производительность. Как правило, единственная серьезная разница при использовании слайдера – это ухудшение уровня детализации деревьев. Деревья издалека будут казаться странно выглядящими каплями и потеряют свои детализированные красивые ветки. Это может помочь увеличить ФПС особенно на больших просторных уровнях, но как правило, наиболее приемлемое в данном случае определение в данном случае - падение в реализме. Заметьте, что вы можете изменять уровень LOD используя команды r2_ssa_lod_a и r2_ssa_lod_b – смотрите раздел по Продвинутому Твикингу.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Плотность Травы&amp;lt;/b&amp;gt;: Этот слайдер определяет как густо будет представлена трава на открытых пространствах. Трава может приводить к серьезному падению ФПС во время путешествий по открытым локациям, поскольку она расположена на многих из них. Изменение положения слайдера с правой позиции до отметки 50% уменьшит количество травы, но все же оставит сравнительно реалистичное ее количество, все это даст неплохой прирост в ФПС. Дальнейшее уменьшение параметров слайдера не принесет ожидаемого уменьшения покрытия поверхности травой, так и не даст особо большого прироста в ФПС.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Качество текстур&amp;lt;/b&amp;gt;: Данный слайдер контролирует качество текстур используемых в игре. Текстуры это изображения, которые покрывают поверхность каждого объекта в игровом мире. Чем более слайдер сдвинут вправо, тем более детальные будут данные текстуры. По анимированным скриншотам можно сравнить,  как будут выглядеть данные детализированные текстуры, пройдя по данной ссылке. Смотря в сторону детализации вертолета, обратите пристальное внимание на качество отображения текстур рук игрока и землю перед ним. Главный результат использования более детализированных текстур не окажет слишком большого влияния на уровень ФПС, но может уменьшить время загрузок уровней и тормозов/загрузочных пауз во время игры. Это особенно справедливо для тех видеокарт, у которых меньше 256 мегов видеопамяти. Важно, если вы измените данную настройку, чтобы увидеть правильный ее результат, вам придется выйти и перегрузить Сталкер, в противном случае внешних изменений не будет&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
|- class=&amp;quot;shadow&amp;quot;&lt;br /&gt;
|'''дополнение от --HikeR 04:19, 1 июня 2007 (MSD)'''&lt;br /&gt;
&amp;lt;small&amp;gt;Абсолютно не согласен. При всех максимальных настройках и крайнем правом положении бегунка качества текстур использование видеопамяти держится в районе 500 мб, у меня 256 набортной плюс 240 свопится в оперативку. Оперативная же память забита на 1гб собственно оперативной памяти плюс 1.3 гб файл подкачки Оперативная память в свою очередь свопится на винчестер. Лаги жуткие.&lt;br /&gt;
При крайнем левом положении видеопамять - 140 плюс 34мб, оперативная - 710 плюс 780мб. Средний фпс тот же, но лагов нет совсем.&lt;br /&gt;
При среднем положении видеопамять - 200 плюс те же 34мб, оперативная - 810 плюс 850мб. Лагов нет, подкачка не используется (почти), вот в таком режиме и играю.&lt;br /&gt;
:Итог - на фпс качество текстур влияет очень и очень сильно, ибо минимальный фпс падает иногда до нуля. Чтобы этого не было - нужно 2гб оперативной памяти и видеокарту с 512мб. Это для максимальных настроек.&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;b&amp;gt;Фильтрация текстур&amp;lt;/b&amp;gt; (Анизотропная Фильтрация): Анизотропная фильтрация (АФ) представляет собой метод создания четких прямых боковых линий на текстурах любых объектов для нормального отображения их на дистанции. Данный слайдер контролирует степень используемого АФ, до анизотропки  уровня 16x. Большинство современных видеокарт позволяют включить разумный уровень фильтрации АФ, такой как 2x или 4x, что даст вам хорошее качество картинки без реального падения ФПС. Как правило, слайдер АФ не имеет особого влияния на уровне качества картинки в игре, даже если он выставлен далеко вправо. Похоже, что данная фича сломана в Сталкере. Вы можете использовать также переменные r1_tf_mipbias или r2_tf_mipbias (в зависимости от используемого вами рендера) для увеличения ясности текстур – смотрите раздел Продвинутого Твикинга.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Сглаживание&amp;lt;/b&amp;gt; (Антиалиаслиг): Сглаживание (АА) это метод уменьшения зубчатости линий в 3D графике. Как правило, в Сталкере движок использует метод рендеринга Дефферед Шейдинг. Это достаточно ясно объясняет, что он не может поддерживать соответствующий уровень Антиалиаслинга, который мог бы убрать все зубчатые линии в игровом мире, независимо от типа используемой вами видеокарты. Данные слайдер сглаживания не оказывает существенного влияния на производительность и качество картинки и также не может быть форсирован использованием настроек контрольной панели видюхи в винде. Мы можете использовать вместо данной настройки команду r2_aa, и связанные с ней команды, чтобы включить и настроить поддельную форму заблюренного АА – смотрите раздел Продвинутого Твикинга.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%90%D0%98-%D0%A1%D0%B5%D1%82%D0%BA%D0%B8</id>
		<title>Обсуждение:Сборка АИ-Сетки</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_%D0%90%D0%98-%D0%A1%D0%B5%D1%82%D0%BA%D0%B8"/>
				<updated>2009-01-03T18:10:56Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: к удалению?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;предлагаю или закончить статью, или удалить её вовсе.&lt;br /&gt;
--HikeR 21:10, 3 января 2009 (MSK)&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2</id>
		<title>Форматы файлов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2"/>
				<updated>2008-08-13T12:43:43Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* .dds */ ссылки на GIMP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Основные форматы==&lt;br /&gt;
Игра использует различные форматы файлов для своих ресурсов. Разберем их редактирование.&lt;br /&gt;
&lt;br /&gt;
====.ltx====&lt;br /&gt;
[[Конфиг|Конфигурационный файл]].&lt;br /&gt;
&lt;br /&gt;
Открывается '''Блокнотом''', прост в редактировании.&lt;br /&gt;
&lt;br /&gt;
====.xml====&lt;br /&gt;
Обычно используется для хранения текстовых массивов.&lt;br /&gt;
&lt;br /&gt;
Открывается '''Блокнотом''', но для удобного редактирования с подсветкой разметки лучше использовать '''Notepad++''' ([http://notepad-plus.sourceforge.net/ru/site.htm скачать]).&lt;br /&gt;
&lt;br /&gt;
====.script====&lt;br /&gt;
[[Скрипт|Скриптовый файл]].&lt;br /&gt;
&lt;br /&gt;
Открывается '''Блокнотом''', но для удобного редактирования с подсветкой разметки лучше использовать '''Notepad++''' ([http://notepad-plus.sourceforge.net/ru/site.htm скачать]).&lt;br /&gt;
&lt;br /&gt;
====.dds====&lt;br /&gt;
Файл, содержащий текстуру.&lt;br /&gt;
&lt;br /&gt;
Редактируется в '''Photoshop''' с установленным '''dds-плагином''' от '''Nvidia''' ([http://developer.nvidia.com/object/photoshop_dds_plugins.html скачать]),&lt;br /&gt;
&lt;br /&gt;
либо в свободном и бесплатном [http://gimp.org/ GIMP-е] с плагином [http://nifelheim.dyndns.org/~cocidius/dds/ GIMP DDS Plugin]&lt;br /&gt;
&lt;br /&gt;
====.ogg====&lt;br /&gt;
Файл, содержащий звук.&lt;br /&gt;
&lt;br /&gt;
Редактируется через любой звуковой редактор при установленном '''ogg-плагине'''.&lt;br /&gt;
&lt;br /&gt;
====.ogf====&lt;br /&gt;
Файл, содержащий игровую модель.&lt;br /&gt;
&lt;br /&gt;
Открывается с помощью '''OGF Viewer''' ([http://www.g3ddev.com/ сайт], [http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=getit&amp;amp;lid=28 скачать]).&lt;br /&gt;
&lt;br /&gt;
====.spawn====&lt;br /&gt;
Файл, хранящий данные о [[Спавн|спавне]].&lt;br /&gt;
&lt;br /&gt;
Редактируется через программу xrSpawner ([http://sdk.stalker-game.com/ru/images/5/5b/XrSpawner_0.13.1_Beta.zip скачать]).&lt;br /&gt;
&lt;br /&gt;
==Дополнительно==&lt;br /&gt;
&lt;br /&gt;
Также, советую ознакомится со [[Теория модостроения|статьей]] Empro.&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана:&lt;br /&gt;
[[Участник:BAC9-FLCL|BAC9-FLCL]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D1%8F</id>
		<title>Теория модостроения</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D1%8F"/>
				<updated>2008-08-13T12:34:31Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Текстуры */  ссылка на GIMP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==О модифицировании игры==&lt;br /&gt;
&lt;br /&gt;
Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры.&lt;br /&gt;
&lt;br /&gt;
На фоне вырезанного контента и огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. К счастью, разработчики оставили возможность простого модифицирования игры. Благодаря [[Распаковщик архивов|распаковщику игровых архивов]] мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata.&lt;br /&gt;
&lt;br /&gt;
Итак, что же мы имеем?&lt;br /&gt;
&lt;br /&gt;
==Звуки==&lt;br /&gt;
&lt;br /&gt;
Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука.&lt;br /&gt;
&lt;br /&gt;
Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров.&lt;br /&gt;
&lt;br /&gt;
Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack ([http://cccp-project.net/ сайт проекта]).&lt;br /&gt;
&lt;br /&gt;
==Текстуры==&lt;br /&gt;
&lt;br /&gt;
Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins (скачать его можно [http://developer.nvidia.com/object/photoshop_dds_plugins.html здесь]).&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = left|&lt;br /&gt;
backgroundcolor	= #f9f9f9|&lt;br /&gt;
image	=Lamp.gif|&lt;br /&gt;
heading	= by HikeR|&lt;br /&gt;
message = для тех, у кого нет несколько сот долларов на покупку Adobe Photoshop, рекомендую свободный и бесплатный [http://gimp.org/ GIMP] и [http://nifelheim.dyndns.org/~cocidius/dds/ GIMP DDS Plugin]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
При этом учтите следующее:&lt;br /&gt;
&lt;br /&gt;
* Вы можете использовать сторонние конвертеры. К таким относится Lister Total Commander, который умеет сохранять и просматривать DDS текстуры в других форматах. Это расширенная сборка Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести его можно [http://www.ghisler.com/ здесь].&lt;br /&gt;
&lt;br /&gt;
* Также, Вы можете воспользоваться специальными DDS конвертером. Но при конвертации может исчезнуть альфа-канал текстуры, он очень важен для игры. Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами.&lt;br /&gt;
&lt;br /&gt;
Внимание! После работы в Photoshop над тестурами, при сохранении не забудьте отметить пункт &amp;quot;Alpha Channels&amp;quot; и в открывшемся окне (после нажатия на кнопку &amp;quot;Сохранить&amp;quot;), выберите режим &amp;quot;DXT5 ARGB 8 bpp | interpolated alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Также, в папке с игрой есть дополнительные текстуры с приписанным в конце имени файла словом &amp;quot;bump&amp;quot;. Это бамп-карты текстур, используемые для придания модели некоторой объемности, которую ещё называют &amp;quot;псевдорельефностью&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Бамп-карты текстур используются только при игре на втором рендере (динамическое освещение, то есть DirectX9-рендер.&lt;br /&gt;
&lt;br /&gt;
==Модели==&lt;br /&gt;
&lt;br /&gt;
Следующий немаловажный компонент игры - OGF модели.&lt;br /&gt;
&lt;br /&gt;
Модели расположены в папке meshes. &lt;br /&gt;
&lt;br /&gt;
Они содержат в себе информацию о материале, анимации и саму модель предмета.&lt;br /&gt;
Изменить текстуру модели реально при помощи WinHEX - путь к текстуре находится в первых строчках файла.&lt;br /&gt;
 &lt;br /&gt;
Для просмотра моделей незаменимой утилитой является OGF Viewer ([http://www.g3ddev.com/ сайт]) от batya.&lt;br /&gt;
На данный момент возможен только просмотр и конвертирование моделей в формат obj.&lt;br /&gt;
&lt;br /&gt;
При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой.&lt;br /&gt;
&lt;br /&gt;
==Уровни==&lt;br /&gt;
&lt;br /&gt;
Следующим компонентом игры являются игровые уровни. Уровни можно разделить на мультиплеерные и сингловые.&lt;br /&gt;
&lt;br /&gt;
MP-уровни отличаются от уровней одиночной игры отсутствием некоторых компонентов и несколько иной структурой/набором файлов. Например, на мультиплеерных уровнях отсутствует координатная сетка для A-Life.&lt;br /&gt;
&lt;br /&gt;
Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов.&lt;br /&gt;
&lt;br /&gt;
Во-первых, при помощи MP-SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни.&lt;br /&gt;
Дело в том, что MP-SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: &amp;quot;Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!&amp;quot;. MP-SDK - всего лишь маппер для мультиплеера. Возможно, будет маппер и для сингловой версии игры, но исходников уровней от GSC Game World даже и ждать не стоит.&lt;br /&gt;
&lt;br /&gt;
Однако, не стоит забывать, что в сеть была выложена лишь бета-версия этого пакета. Возможно, к появлению релиза добавятся новые функции и инструменты.&lt;br /&gt;
&lt;br /&gt;
Уровни из сингловой версии игры можно портировать под мультиплеер. Алгоритм действий:&lt;br /&gt;
&lt;br /&gt;
* Скопировать содержание папки уровня в новую папку с именем типа mp_yantar.&lt;br /&gt;
* Удалить файлы level.game, level.ai, level.som. Скопировать level.game из любой мультиплеерной карты и вставить в переделываемую карту.&lt;br /&gt;
* Открыть конфигурационный файл config\mp\maplist.ltx и добавить карту в список.&lt;br /&gt;
&lt;br /&gt;
==Скрипты==&lt;br /&gt;
&lt;br /&gt;
В игре широко используются скрипты. Некоторые из них - тестовые и являют собой оставленный разработчиками мусор, но никогда нельзя точно знать, где используется скрипт.&lt;br /&gt;
&lt;br /&gt;
В скриптах используется язык Lua. Язык не очень сложный, с помощью него можно многое делать, в том числе и спаунить (от англ. &amp;quot;spawn&amp;quot; - размещать на карте) объекты.&lt;br /&gt;
&lt;br /&gt;
К тому же, скрипты можно вызывать в spawn-файле, о нём подробнее будет рассказано ниже.&lt;br /&gt;
&lt;br /&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;
О некоторых из них подробнее.&lt;br /&gt;
Конфигурации существ - одним из самых важных конфигурационных файлов является actor.ltx. В нём заданы параметры актора - т.е. главного героя игры.&lt;br /&gt;
&lt;br /&gt;
На его примере рассмотрим структуру конфигурационного файла.&lt;br /&gt;
&lt;br /&gt;
[actor] - пример entity. Конфигурацию актора вызывают при помощи названия entity. В данном случае - actor.&lt;br /&gt;
В других конфигурационных файлах мы можем найти пример ссылки на entity. Например: [burer_arena]:m_burer_e.&lt;br /&gt;
&lt;br /&gt;
В данном случае существо &amp;quot;burer_arena&amp;quot; ссылается на существо &amp;quot;m_burer_e&amp;quot; и является его прототипом.&lt;br /&gt;
Также могут быть и ссылки на entity, обозначающей набор параметров. Например: damage = m_burer_damage.&lt;br /&gt;
&lt;br /&gt;
Комментарии в ltx файлах начинаются с символа &amp;quot;;&amp;quot;. Все, что расположено за этим знаком, игрой не учитывается.&lt;br /&gt;
&lt;br /&gt;
Также очень интересна система так называемых инклудов (включений).&lt;br /&gt;
&lt;br /&gt;
Инклуд обозначается строкой &amp;quot;#include &amp;quot;имя_файла.ltx&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Инклуды означают, что в файл, в котором написана вышеуказанная строка, вставляется содержание файла, указанного как аргумент к функции #include.&lt;br /&gt;
&lt;br /&gt;
Получается так, что конфигурационные файлы монстров (к примеру) объединяются в файле monsters.ltx, файлы сталкеров - в stalkers.ltx. А файлы monsters.ltx, stalkers.ltx и все остальные файлы объединяются в файле system.ltx, в котором прописано около 20 инклудов. Таким образом, всё содержание ltx-файлов объединено в system.ltx.&lt;br /&gt;
&lt;br /&gt;
Помните - когда создаёте новый конфигурационный файл - не забудьте вставить его методом инклуда в общий конфигурационный список в system.ltx.&lt;br /&gt;
&lt;br /&gt;
==Спавн-файл==&lt;br /&gt;
&lt;br /&gt;
Последнее, о чём пойдёт речь - папка spawns. &lt;br /&gt;
&lt;br /&gt;
В ней расположен файл all.spawn. В этом файле обозначены почти все динамические объекты, которые содержатся в игровой Зоне. Это как монстры и сталкеры, так и приёмник &amp;quot;Горизонт&amp;quot; на столе у торговца, и даже ящик рядом с блокпостом.&lt;br /&gt;
&lt;br /&gt;
Формат спаун-файла долго разбирался специалистами и благодаря товарищу Zeed'у разобран. &amp;lt;small&amp;gt;(by HikeR: ссылка на источник???)&amp;lt;/small&amp;gt; И им же была написана специальная программа [[xrSpawner]] для спауна динамических объектов.&lt;br /&gt;
&lt;br /&gt;
==Дополнительно==&lt;br /&gt;
&lt;br /&gt;
Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr.&lt;br /&gt;
&lt;br /&gt;
В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов.&lt;br /&gt;
В режиме HEX файл более или менее читаем.&lt;br /&gt;
&lt;br /&gt;
И последнее.&lt;br /&gt;
Не пробуйте искать где указаны классы типа AI_CROW. &lt;br /&gt;
Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены.&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана: [[Участник:Empro|Empro]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D1%8F</id>
		<title>Теория модостроения</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BC%D0%BE%D0%B4%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%B8%D1%8F"/>
				<updated>2008-08-13T12:23:20Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Спавн-файл */ где ссылка на источник???&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==О модифицировании игры==&lt;br /&gt;
&lt;br /&gt;
Выход долгожданной игры ознаменовался скандалами и возмущением общественности большим количеством убранного из игры.&lt;br /&gt;
&lt;br /&gt;
На фоне вырезанного контента и огромного количества несоответствий игры обещаниям разработчиков стали формироваться моддерские команды. К счастью, разработчики оставили возможность простого модифицирования игры. Благодаря [[Распаковщик архивов|распаковщику игровых архивов]] мы получили полный доступ к ресурсам игры. Сверх того, разработчики оставили в финальном билде 2947 (и билдах после него) высший приоритет распакованной папки gamedata.&lt;br /&gt;
&lt;br /&gt;
Итак, что же мы имеем?&lt;br /&gt;
&lt;br /&gt;
==Звуки==&lt;br /&gt;
&lt;br /&gt;
Звуки в игре записаны в формате ogg. Хочу заметить, что OGG Vorbis является признанным игровым форматом звука.&lt;br /&gt;
&lt;br /&gt;
Проблем со звуком вообщем-то не возникает. Если Вы пользуетесь редактором звука, который не поддерживает OGG Vorbis, для Вас существует множество платных и бесплатных конвертеров.&lt;br /&gt;
&lt;br /&gt;
Видео в игре также в формат Vorbis, расширения видео файлов - OGM. Для просмотра видео рекомендую Media Player Classic и CCCP Codec Pack ([http://cccp-project.net/ сайт проекта]).&lt;br /&gt;
&lt;br /&gt;
==Текстуры==&lt;br /&gt;
&lt;br /&gt;
Текстуры в игре имеют формат DDS (Direct Draw Surface). Для их редактирования рекомендую Adobe Photoshop CS 8.0 и NVidia Developer's Photoshop DDS Plugins (скачать его можно [http://developer.nvidia.com/object/photoshop_dds_plugins.html здесь]).&lt;br /&gt;
&lt;br /&gt;
При этом учтите следующее:&lt;br /&gt;
&lt;br /&gt;
* Вы можете использовать сторонние конвертеры. К таким относится Lister Total Commander, который умеет сохранять и просматривать DDS текстуры в других форматах. Это расширенная сборка Total Commander'a (платный файловый менеджер Кристиана Гислера) версии 6.55. Приобрести его можно [http://www.ghisler.com/ здесь].&lt;br /&gt;
&lt;br /&gt;
* Также, Вы можете воспользоваться специальными DDS конвертером. Но при конвертации может исчезнуть альфа-канал текстуры, он очень важен для игры. Поэтому настоятельно рекомендую использовать Photoshop CS 8.0 с плагинами.&lt;br /&gt;
&lt;br /&gt;
Внимание! После работы в Photoshop над тестурами, при сохранении не забудьте отметить пункт &amp;quot;Alpha Channels&amp;quot; и в открывшемся окне (после нажатия на кнопку &amp;quot;Сохранить&amp;quot;), выберите режим &amp;quot;DXT5 ARGB 8 bpp | interpolated alpha&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Также, в папке с игрой есть дополнительные текстуры с приписанным в конце имени файла словом &amp;quot;bump&amp;quot;. Это бамп-карты текстур, используемые для придания модели некоторой объемности, которую ещё называют &amp;quot;псевдорельефностью&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Бамп-карты текстур используются только при игре на втором рендере (динамическое освещение, то есть DirectX9-рендер.&lt;br /&gt;
&lt;br /&gt;
==Модели==&lt;br /&gt;
&lt;br /&gt;
Следующий немаловажный компонент игры - OGF модели.&lt;br /&gt;
&lt;br /&gt;
Модели расположены в папке meshes. &lt;br /&gt;
&lt;br /&gt;
Они содержат в себе информацию о материале, анимации и саму модель предмета.&lt;br /&gt;
Изменить текстуру модели реально при помощи WinHEX - путь к текстуре находится в первых строчках файла.&lt;br /&gt;
 &lt;br /&gt;
Для просмотра моделей незаменимой утилитой является OGF Viewer ([http://www.g3ddev.com/ сайт]) от batya.&lt;br /&gt;
На данный момент возможен только просмотр и конвертирование моделей в формат obj.&lt;br /&gt;
&lt;br /&gt;
При использовании OGF Viewer необходимо задать путь к текстурам в конфигурационном файле, который лежит в папке с программой.&lt;br /&gt;
&lt;br /&gt;
==Уровни==&lt;br /&gt;
&lt;br /&gt;
Следующим компонентом игры являются игровые уровни. Уровни можно разделить на мультиплеерные и сингловые.&lt;br /&gt;
&lt;br /&gt;
MP-уровни отличаются от уровней одиночной игры отсутствием некоторых компонентов и несколько иной структурой/набором файлов. Например, на мультиплеерных уровнях отсутствует координатная сетка для A-Life.&lt;br /&gt;
&lt;br /&gt;
Перед релизом бета-версии SDK (Software Development Kit от GSC Game World) я несколько недель тестировал его и сделал несколько печальных выводов.&lt;br /&gt;
&lt;br /&gt;
Во-первых, при помощи MP-SDK невозможно не только редактировать, но и даже просматривать уже откомпилированные уровни.&lt;br /&gt;
Дело в том, что MP-SDK требует исходников уровней. К тому же, пора прекращать мечтать о SDK и выкрикивать: &amp;quot;Дайте мне СДК я вам новое оружие сделаю и движок поменяю!!!&amp;quot;. MP-SDK - всего лишь маппер для мультиплеера. Возможно, будет маппер и для сингловой версии игры, но исходников уровней от GSC Game World даже и ждать не стоит.&lt;br /&gt;
&lt;br /&gt;
Однако, не стоит забывать, что в сеть была выложена лишь бета-версия этого пакета. Возможно, к появлению релиза добавятся новые функции и инструменты.&lt;br /&gt;
&lt;br /&gt;
Уровни из сингловой версии игры можно портировать под мультиплеер. Алгоритм действий:&lt;br /&gt;
&lt;br /&gt;
* Скопировать содержание папки уровня в новую папку с именем типа mp_yantar.&lt;br /&gt;
* Удалить файлы level.game, level.ai, level.som. Скопировать level.game из любой мультиплеерной карты и вставить в переделываемую карту.&lt;br /&gt;
* Открыть конфигурационный файл config\mp\maplist.ltx и добавить карту в список.&lt;br /&gt;
&lt;br /&gt;
==Скрипты==&lt;br /&gt;
&lt;br /&gt;
В игре широко используются скрипты. Некоторые из них - тестовые и являют собой оставленный разработчиками мусор, но никогда нельзя точно знать, где используется скрипт.&lt;br /&gt;
&lt;br /&gt;
В скриптах используется язык Lua. Язык не очень сложный, с помощью него можно многое делать, в том числе и спаунить (от англ. &amp;quot;spawn&amp;quot; - размещать на карте) объекты.&lt;br /&gt;
&lt;br /&gt;
К тому же, скрипты можно вызывать в spawn-файле, о нём подробнее будет рассказано ниже.&lt;br /&gt;
&lt;br /&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;
О некоторых из них подробнее.&lt;br /&gt;
Конфигурации существ - одним из самых важных конфигурационных файлов является actor.ltx. В нём заданы параметры актора - т.е. главного героя игры.&lt;br /&gt;
&lt;br /&gt;
На его примере рассмотрим структуру конфигурационного файла.&lt;br /&gt;
&lt;br /&gt;
[actor] - пример entity. Конфигурацию актора вызывают при помощи названия entity. В данном случае - actor.&lt;br /&gt;
В других конфигурационных файлах мы можем найти пример ссылки на entity. Например: [burer_arena]:m_burer_e.&lt;br /&gt;
&lt;br /&gt;
В данном случае существо &amp;quot;burer_arena&amp;quot; ссылается на существо &amp;quot;m_burer_e&amp;quot; и является его прототипом.&lt;br /&gt;
Также могут быть и ссылки на entity, обозначающей набор параметров. Например: damage = m_burer_damage.&lt;br /&gt;
&lt;br /&gt;
Комментарии в ltx файлах начинаются с символа &amp;quot;;&amp;quot;. Все, что расположено за этим знаком, игрой не учитывается.&lt;br /&gt;
&lt;br /&gt;
Также очень интересна система так называемых инклудов (включений).&lt;br /&gt;
&lt;br /&gt;
Инклуд обозначается строкой &amp;quot;#include &amp;quot;имя_файла.ltx&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Инклуды означают, что в файл, в котором написана вышеуказанная строка, вставляется содержание файла, указанного как аргумент к функции #include.&lt;br /&gt;
&lt;br /&gt;
Получается так, что конфигурационные файлы монстров (к примеру) объединяются в файле monsters.ltx, файлы сталкеров - в stalkers.ltx. А файлы monsters.ltx, stalkers.ltx и все остальные файлы объединяются в файле system.ltx, в котором прописано около 20 инклудов. Таким образом, всё содержание ltx-файлов объединено в system.ltx.&lt;br /&gt;
&lt;br /&gt;
Помните - когда создаёте новый конфигурационный файл - не забудьте вставить его методом инклуда в общий конфигурационный список в system.ltx.&lt;br /&gt;
&lt;br /&gt;
==Спавн-файл==&lt;br /&gt;
&lt;br /&gt;
Последнее, о чём пойдёт речь - папка spawns. &lt;br /&gt;
&lt;br /&gt;
В ней расположен файл all.spawn. В этом файле обозначены почти все динамические объекты, которые содержатся в игровой Зоне. Это как монстры и сталкеры, так и приёмник &amp;quot;Горизонт&amp;quot; на столе у торговца, и даже ящик рядом с блокпостом.&lt;br /&gt;
&lt;br /&gt;
Формат спаун-файла долго разбирался специалистами и благодаря товарищу Zeed'у разобран. &amp;lt;small&amp;gt;(by HikeR: ссылка на источник???)&amp;lt;/small&amp;gt; И им же была написана специальная программа [[xrSpawner]] для спауна динамических объектов.&lt;br /&gt;
&lt;br /&gt;
==Дополнительно==&lt;br /&gt;
&lt;br /&gt;
Кроме файлов спауна в директории gamedata также присутствует папка с шейдерами, папка с анимациями камеры, папка с некоторыми файлами A-life и несколько файлов в формате xr.&lt;br /&gt;
&lt;br /&gt;
В файле gamemtl.xr лежат настройки материалов, текстур и hit_fx эффектов.&lt;br /&gt;
В режиме HEX файл более или менее читаем.&lt;br /&gt;
&lt;br /&gt;
И последнее.&lt;br /&gt;
Не пробуйте искать где указаны классы типа AI_CROW. &lt;br /&gt;
Все классы существ находятся в xrGame.dll и попытки извлечь их или изменить бессмыслены.&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана: [[Участник:Empro|Empro]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8:%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8</id>
		<title>Обсуждение категории:Команды консоли</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8:%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8"/>
				<updated>2008-06-11T17:41:25Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: к удалению&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--HikeR 21:41, 11 июня 2008 (MSD)&lt;br /&gt;
&lt;br /&gt;
может убрать эту страницу? все что в ней - есть тут: [[Расширенные_настройки(ч._2)]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8(%D1%87._2)</id>
		<title>Расширенные настройки(ч. 2)</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8(%D1%87._2)"/>
				<updated>2008-06-06T18:12:28Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Сетевые */ дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;260&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;background:#5e5e5e;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot; | Содержание&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
{{Шаблон:Содержание руководства по настройке}}&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Консольные комманды ==&lt;br /&gt;
&lt;br /&gt;
Консоль в Сталкере может быть открыта и закрыта  нажатием клавиши тильда ('~'), которая под кнопкой '''ESC'''. Данная консоль представляет собой поле, которое позволяет вам вводить определенный диапазон консольных комманд в целях регулирования и настройки параметров игрового движка. Большинство консольных комманд также используются в фаиле '''User.ltx''', как говорилось на предыдущей странице. Так что лучший метод для использования продвинутых фич – это, во-первых протестировать комманду в консоли, потом, точно определить значение которые вы хотите использовать для этой комманды, и затем, если вы захотите использовать ее всегда, можете отредактировать соответственно ваш фаил User.ltx , если настройка еще не сохранена там.&lt;br /&gt;
&lt;br /&gt;
Процедура использования консольной комманды достаточно проста – введите соответствующую команду, затем сделайте пропуск кнопкой space, и введите подходящее значение. Например ввод соответствующей команды в консоли:&lt;br /&gt;
 r2_tf_mipbias 2.5&lt;br /&gt;
Мы говорим игровому движку присвоить значение (параметр) '''2.5''' к переменной '''r2_tf_mipbias'''. Последствия этого изменения должны немедленно отобразиться на экране. Если вы только хотите знать какие значения есть у конкретной переменной, введите ее имя без добавления каких-либо параметров (к примеру, введите только '''r2_tf_mipbias''', чтобы увидеть ее возможные значения).&lt;br /&gt;
&lt;br /&gt;
:Важно: Ввод новых параметров для переменных в консоли может автоматически записать эти изменения в ваш фаил '''User.ltx''', это означает что при следующем запуске Сталкера именно они будут использоваться, а не которые были до этого. Так что убедитесь сначала, что у вас есть бэкап '''User.ltx''', прежде чем возиться в консоли, и лучше всего для начала проверить конкретное значение переменной и записать ее, прежде чем тестировать новые параметры, в случае если вы хотите быстро вернуться к оригинальным настройкам.&lt;br /&gt;
&lt;br /&gt;
Полный список консольных комманд для Сталкера представлен ниже в алфавитном порядке, с описаниями, где это возможно (известно их назначение). Вы должны усвоить некоторые вещи, прежде чем приступать:&lt;br /&gt;
&lt;br /&gt;
*Вы можете использовать кнопки '''Page Up''' и '''Page Down''' для скроллинга текста в консоли.&lt;br /&gt;
*Кнопка '''Tab''' работает как автозавершение команды. Если в консоли ничего не набрано, то каждое нажатие на '''Tab''' будет вызывать следующую команду по алфавиту.&lt;br /&gt;
*Клавиши с цифрового блока не работают, поэтому ввод цифр производите с основной части клавиатуры.&lt;br /&gt;
&lt;br /&gt;
Подробные описания наиболее полезных консольных комманд уже представлены на предыдущей странице, так как переменные '''User.ltx''' и консольных комманд называются одинаково и действуют практически по тому же принципу.&lt;br /&gt;
&lt;br /&gt;
Изменения переменные в консоли вы можете сделать их постоянными, так как большинство их пишется в ваш фаил '''User.ltx'''. Убедитесь обязательно, что вы вернули прежнее значение комманды назад, к ее дефолтному или желаемому параметру, или восстановите ваш сохраненный фаил User.ltx после этого, если вы только хотите поэкспериментировать и не применять изменения.&lt;br /&gt;
&lt;br /&gt;
== Список консольных команд ==&lt;br /&gt;
&lt;br /&gt;
=== Основные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|preset||Minimum, Low, Default, High, Extreme||Тоже, что и общая опция Настроек Качества графики в игре.&lt;br /&gt;
|-&lt;br /&gt;
|ai_use_torch_dynamic_lights||on, off||Тоже, что и менюшная опция Фонарики от НПС.&lt;br /&gt;
|-&lt;br /&gt;
|bind||action,key||Назначить действие на первичную конкретную выбранную клавишу.&lt;br /&gt;
|-&lt;br /&gt;
|bind_console|| ||&lt;br /&gt;
|-&lt;br /&gt;
|bind_list|| ||Список всех текущих назначенных клавиш.&lt;br /&gt;
|-&lt;br /&gt;
|bind_sec||action,key||Назначить действие на вторичную клавишу. &lt;br /&gt;
|-&lt;br /&gt;
|cam_inert||0.000,1.000||Управление инертностью камеры.&lt;br /&gt;
|-&lt;br /&gt;
|cam_slide_inert||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|cdkey|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cfg_load||filename.ltx||Загружает конфигурационный фаил определенного названия из той же папки, что и User.ltx&lt;br /&gt;
|-&lt;br /&gt;
|cfg_save||filename.ltx||Сохраняет текущий конфигурационные настройки в новый .ltx фаил с указанным вами именем в ту же папку что и User.ltx.&lt;br /&gt;
|-&lt;br /&gt;
|check_for_updates|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_cod_pickup_mode||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|cl_dynamiccrosshair||on,off||Тоже, что и менюшная опция Динамический Прицел.&lt;br /&gt;
|-&lt;br /&gt;
|cl_voteno|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_votestart|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_voteyes||&lt;br /&gt;
|-&lt;br /&gt;
|demo_play||demoname||Проиграть записанную вами демку сохраненной игры.&lt;br /&gt;
|-&lt;br /&gt;
|disconnect|| ||Отсоединяет вас от текущей игры и выбрасывает в главное меню.&lt;br /&gt;
|-&lt;br /&gt;
|flush|| ||Создать лог в папке \Documents and Settings\All Users\Documents\STALKER-SHOC\logs&lt;br /&gt;
|-&lt;br /&gt;
|g_always_run||on,off||Включить постоянный бег/ходьбу.&lt;br /&gt;
|-&lt;br /&gt;
|g_autopickup||on,off||Автоподбор предметов, вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|g_backrun||on,off||Возможность передвижения спиной бегом, вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|g_corpsenum||0,100||&lt;br /&gt;
|-&lt;br /&gt;
|g_eventdelay||0,1000||&lt;br /&gt;
|-&lt;br /&gt;
|g_game_difficulty||gd_novice, gd_stalker, gd_veteran, gd_master||Тоже, что и опция Уровень сложности в игровом меню.&lt;br /&gt;
|-&lt;br /&gt;
|help|| ||Список всех консольных команд.&lt;br /&gt;
|-&lt;br /&gt;
|hud_crosshair||on,off||– Тоже, что и менюшная опция Показывать Прицел.&lt;br /&gt;
|-&lt;br /&gt;
|hud_crosshair_dist||on,off||– Тоже, что и опция в меню Дистанция до цели.&lt;br /&gt;
|-&lt;br /&gt;
|list_actions|| ||Список всех действий, которые можно прибиндить на кнопки.&lt;br /&gt;
|-&lt;br /&gt;
|load||savename||Загружает сохраненную игру с указанным вами названием.&lt;br /&gt;
|-&lt;br /&gt;
|main_menu|| ||Главное меню, каждый вызов вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|mouse_invert||on,off||Тоже, что и опция в меню Инвертировать Мышь.&lt;br /&gt;
|-&lt;br /&gt;
|mouse_sens||0.050,0.6000||Тоже, что и менюшная опция Чувствительность Мыши.&lt;br /&gt;
|-&lt;br /&gt;
|ph_frequency|| ||&lt;br /&gt;
|-&lt;br /&gt;
|ph_iterations||5,50||&lt;br /&gt;
|-&lt;br /&gt;
|quit|| ||Выйти из игры в Винду.&lt;br /&gt;
|-&lt;br /&gt;
|save||savename||Сохранить текущую игру под конкретным именем(дефолт – быстрое сохранение).&lt;br /&gt;
|-&lt;br /&gt;
|screenshot|| ||Сохранить скриншот в папку \Documents and Settings\All Users\Documents\STALKER-SHOC\screenshots&lt;br /&gt;
|-&lt;br /&gt;
|start|| ||&lt;br /&gt;
|-&lt;br /&gt;
|stat_memory|| ||Показывает статистику использования оперативной памяти игровым движком.&lt;br /&gt;
|-&lt;br /&gt;
|stat_models|| ||Показывает список всех загруженных на данный момент моделей.&lt;br /&gt;
|-&lt;br /&gt;
|unbind||action||Разбиндить любую первичную клавишу с назначенного действия.&lt;br /&gt;
|-&lt;br /&gt;
|unbind_console|| ||&lt;br /&gt;
|-&lt;br /&gt;
|unbind_sec||action||Разбиндить любую вторичную клавишу с назначенного действия.&lt;br /&gt;
|-&lt;br /&gt;
|unbindall|| ||Разбиндить все назначенные на действия клавиши.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Графические ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|r1_dlights||on,off||Включить\выключить динамические источники света, влияет только на фонарики.&lt;br /&gt;
|-&lt;br /&gt;
|r1_dlights_clip||10.000,150.000||Устанавливает радиус отображения(дальность видимости) динамических источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r1_glows_per_frame||2,32||Контролирует максимальное число источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r1_lmodel_lerp||0.000,0.333||Управляет Линейной Интерполяцией освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r1_pps_u||-1.000,1.000||Контролирует Per Pixel Shader значение.&lt;br /&gt;
|-&lt;br /&gt;
|r1_pps_v||-1.000,1.000||Контролирует Per Pixel Shader значение.&lt;br /&gt;
|-&lt;br /&gt;
|r1_ssa_lod_a||16.000,96.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r1_ssa_lod_b||16.000,64.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r1_tf_mipbias||-3.000,3.000||Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa||on,off||Включает фейковый эффект Сглаживания.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_break|| ||Контролирует степень фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_kernel||0.300,0.700||Контролирует общую заблюренность фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_weight|| ||Более точно контролирует заблюренность фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_allow_r1_light||on,off||Позволяет DX8 освещению работать под моделью освещения DX9 (Вкл/выкл дублирующих динамических источников света).&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi||on,off||Включает Глобальное Освещение (на свой страх и риск, опция экспериментальная).&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_clip||0.000,0.100||Контролирует дальность видимости(clip distance) Глобального освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_depth||1,5||Контролирует глубину теней Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_photons||8,256||Контролирует  эффект Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_refl||0.001,0.990||– Контролирует  reflectivity(коэффициент отражения) Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gloss_factor||0.000,10.000||Устанавливает уровень Отражений/глянца на объектах.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_fast||on,off||Включает расширенный эффект Блума.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_b||0.010,1.000||– Определяет уровень затененности(дымки) от эффектов HDR и Блума.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_g||1.000,7.000||Четкость бликов&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_scale||0.500,2.000||Общая сила HDR&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_speed||0.000,100.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_threshold||0.000,1.000||Контролирует общий уровень используемых световых эффектов (Блум).&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_depth_bias||-0.500,0.500||Контролирует дальность освещения источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_depth_scale||0.500,1.500||Контролирует влияние освещения на тени.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_dsm_kernel||0.100,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_psm_kernel||0.100,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_squality||0.500,1.000||Тоже, что и опция в меню Качество Теней.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_ssm_kernel||0.500,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_mblur||0.000,1.000||Работает только если при запуске к .exe приписан параметр –mblur.&lt;br /&gt;
|-&lt;br /&gt;
|r2_parallax_h||0.000,0.500||Контролирует Параллакс Маппинг, который влияет на глубину поверхности текстур.&lt;br /&gt;
|-&lt;br /&gt;
|r2_slight_fade||0.020,2.000||Дальность освещения(есть в меню)&lt;br /&gt;
|-&lt;br /&gt;
|r2_ssa_lod_a||16.000,96.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ssa_lod_b||32.000,64.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun||on,off||– Опция из меню - Тень от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_far_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_far_scale||0.500,1.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_near_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_near_scale||0.500,1.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_details||on,off||Тоже, что опция в меню Тени от Травы.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_focus||on,off||Фокус солнечных теней&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale||-1.000,3.000||Яркость света от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale_amb||0.000,3.000||Яркость ambient освещения (равномерное освещение) от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale_hemi||0.000,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_near||1.000,50.000||Местоположение солнца от земли&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_near_border||0.500,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm||on,off||Четкость солнечных теней&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm_proj||0.001,0.800||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tf_mipbias||-3.000,3.000||Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap||on,off||– Включает эффект Tone Mapping(разметка уровня цвета) для HDR освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_adaptation||0.010,10.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_amount||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_lowlum||0.000,1.000||– Контролирует эффект tone mapping на темных локациях.&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_middlegray||0.000,2.000||Контролирует общий вид эффекта HDR.&lt;br /&gt;
|-&lt;br /&gt;
|r2_wait_sleep||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|r2_zfill||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|r2_zfill_depth||0.001,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2em||0.000,4.000||&lt;br /&gt;
|-&lt;br /&gt;
|r__detail_density||0.200,0.600||– Опция, по типу в меню - Плотность Травы.&lt;br /&gt;
|-&lt;br /&gt;
|r__geometry_lod||0.100,1.200||– Тоже, что и опция из меню Детализация объектов(геометрии).&lt;br /&gt;
|-&lt;br /&gt;
|r__supersample||1,4||Тоже, что и опция в меню – Сглаживание.&lt;br /&gt;
|-&lt;br /&gt;
|r__tf_aniso||1,16||–Опция из меню, анизотропная фильтрация(Фильтрация текстур).&lt;br /&gt;
|-&lt;br /&gt;
|renderer||renderer_r1, renderer_r2a, renderer_r2||Тоже, что и опция в меню Тип рендера.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_brightness||0.500,1.500||– Опция из меню – Яркость.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_contrast||0.500,1.500||Опция по типу в меню, Контраст.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_gamma||0.500,1.500||Тоже, что и менюшная опция Гамма.&lt;br /&gt;
|-&lt;br /&gt;
|rs_fullscreen||on,off||Тоже, что и опция в главном меню Полноэкранный режим.&lt;br /&gt;
|-&lt;br /&gt;
|rs_refresh_60hz||on,off||– Тоже, что и опция в меню Частота 60Гц.&lt;br /&gt;
|-&lt;br /&gt;
|rs_stats||on,off||Включает статистику движка на экране, включая FPS.&lt;br /&gt;
|-&lt;br /&gt;
|rs_v_sync||on,off||Тоже, что и менюшная опция Вертикальная Синхронизация.&lt;br /&gt;
|-&lt;br /&gt;
|rs_vis_distance||0.400,1.500||Тоже, что и опция в меню Дальность Видимости.&lt;br /&gt;
|-&lt;br /&gt;
|texture_lod||0,4||Тоже, что и менюшная опция Качество текстур. Значения инвертны(0 - высокое качество)&lt;br /&gt;
|-&lt;br /&gt;
|vid_mode||WxH||Тоже, что и опция в меню Разрешение.&lt;br /&gt;
|-&lt;br /&gt;
|vid_restart|| ||Перезапускает графический движок; может быть использовано после изменения каких-либо графических настроек таких как texture_lod и vid_mode.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Звуковые ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|-&lt;br /&gt;
|snd_acceleration||on,off||Включает аппаратную акселерацию звука.&lt;br /&gt;
|-&lt;br /&gt;
|snd_cache_size||4,32||Установить размер кэша для звука.&lt;br /&gt;
|-&lt;br /&gt;
|snd_efx||on,off||Включает\выключает Звуковые Эффекты.&lt;br /&gt;
|-&lt;br /&gt;
|snd_restart|| ||Перезапускает звуковой движок; может быть использовано после изменений каких-либо переменных snd_.&lt;br /&gt;
|-&lt;br /&gt;
|snd_targets||4,32||Устанавливает количество используемых каналов для аудио.&lt;br /&gt;
|-&lt;br /&gt;
|snd_volume_eff||0.000,1.000||Тоже, что и опция в меню Громкость(звука).&lt;br /&gt;
|-&lt;br /&gt;
|snd_volume_music||0.000,1.000||Тоже, что и опция в меню Громкость Музыки.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Сетевые ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|g_kill|| ||Мгновенная смерть игрока&lt;br /&gt;
|-&lt;br /&gt;
|g_restart|| ||&lt;br /&gt;
|-&lt;br /&gt;
|g_restart_fast|| ||&lt;br /&gt;
|-&lt;br /&gt;
|g_swapteams|| ||Смена команд местами в сетевой игре артефактхант (Охота за Артефактом).&lt;br /&gt;
|-&lt;br /&gt;
|get_server_address|| ||Список IP-адресов игровых серверов.&lt;br /&gt;
|-&lt;br /&gt;
|mm_mm_net_srv_dedicated||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_publicserver||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_spectator||1,32||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_spectator_on||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_player_name||String||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_gamemode||st_deathmatch, st_team_deathmatch, st_artefacthunt||тип сетевой игры&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_maxplayers||2,32||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_name||String||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_reinforcement_type||0,2||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_weather_rateofchange||0.000,100.000||Коэффиицент изменения погоды&lt;br /&gt;
|-&lt;br /&gt;
|name||String||Устанавливает ваш ник в сетевой игре.&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_clearstats|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_icurvesize||0,2000||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_icurvetype||0,2||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_interpolation||-1.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_log_data||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_pending_lim||0,10||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_resync|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|net_dedicated_sleep||0,64||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_clearstats|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_log_data||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_pending_lim||0,10||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_addmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_anomalies_enabled||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_anomalies_length||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefect_respawn_delta||0,600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefact_stay_time||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefacts_count||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_auto_team_balance||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_auto_team_swap||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_banplayer||name time||забанить игрока ''name'' на ''time'' секунд. ''name'' может быть цифрой из списка игроков (sv_listplayers)&lt;br /&gt;
|-&lt;br /&gt;
|sv_bearercantsprint||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changegametype|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changelevel|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changelevelgametype|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_client_reconnect_time||0,60||&lt;br /&gt;
|-&lt;br /&gt;
|sv_console_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_dmgblockindicator||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_dmgblocktime||0,600||Время, которое ГГ после респавна не уязвим в секундах&lt;br /&gt;
|-&lt;br /&gt;
|sv_forcerespawn||0,3600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_fraglimit||0,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendly_indicators||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendly_names||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendlyfire||0.000,2.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_hail_to_winner_time||0,60000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_kick|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_listplayers|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_nextanomalyset|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_nextmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_pda_hunt||0,1||Давать бонус (100р) за подобранный хабар с мертвого сталкера&lt;br /&gt;
|-&lt;br /&gt;
|sv_pending_wait_time||0,60000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_prevmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_reinforcement_time||-1,3600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_remove_corpse||-1,1||удалять тело после смерти игрока&lt;br /&gt;
|-&lt;br /&gt;
|sv_remove_weapon||-1,1||удалять оружие после смерти игрока&lt;br /&gt;
|-&lt;br /&gt;
|sv_return_to_base|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_returnplayers||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_setenvtime|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_setweather|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_shieldedbases||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_firsteye||0,1||Разрешаете/запрещает Спектатор от первого лица&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_freefly||0,1||Разрешаете/запрещает Спектатор в свободном полете&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_freelook||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_lookat||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_teamcamera||0,1||Разрешаете/запрещает Спектатор только своей команды. От первого лица или от третьего, на выбор&lt;br /&gt;
|-&lt;br /&gt;
|sv_satistic_collect||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_statistic_save|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_statistic_save_auto||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_timelimit||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_enabled||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_participants||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_quota||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_time||0.500,10.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_votestop|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_warm_up||0,3600||Время на разминку в мультиплеере&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Продолжение ==&lt;br /&gt;
&lt;br /&gt;
Большая часть всех полезных и наиболее важных консольных команд описана выше, более детальную информацию вы найдете на предыдущей странице. Как правило если описание важной команды отсутствует, вы можете дополнить его с чистой совестью. :)&lt;br /&gt;
В общем я оставил без описания только самые очевидные и менее используемые консольные команды, и конечно есть некоторые из них, точное назначение которых  я к сожалению не знаю.&lt;br /&gt;
&lt;br /&gt;
Следующая страница завершает данное руководство по Твикингу параметрами для запуска экзэшника.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8(%D1%87._2)</id>
		<title>Расширенные настройки(ч. 2)</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8(%D1%87._2)"/>
				<updated>2008-06-06T18:03:51Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Сетевые */ дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;260&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;background:#5e5e5e;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot; | Содержание&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
{{Шаблон:Содержание руководства по настройке}}&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Консольные комманды ==&lt;br /&gt;
&lt;br /&gt;
Консоль в Сталкере может быть открыта и закрыта  нажатием клавиши тильда ('~'), которая под кнопкой '''ESC'''. Данная консоль представляет собой поле, которое позволяет вам вводить определенный диапазон консольных комманд в целях регулирования и настройки параметров игрового движка. Большинство консольных комманд также используются в фаиле '''User.ltx''', как говорилось на предыдущей странице. Так что лучший метод для использования продвинутых фич – это, во-первых протестировать комманду в консоли, потом, точно определить значение которые вы хотите использовать для этой комманды, и затем, если вы захотите использовать ее всегда, можете отредактировать соответственно ваш фаил User.ltx , если настройка еще не сохранена там.&lt;br /&gt;
&lt;br /&gt;
Процедура использования консольной комманды достаточно проста – введите соответствующую команду, затем сделайте пропуск кнопкой space, и введите подходящее значение. Например ввод соответствующей команды в консоли:&lt;br /&gt;
 r2_tf_mipbias 2.5&lt;br /&gt;
Мы говорим игровому движку присвоить значение (параметр) '''2.5''' к переменной '''r2_tf_mipbias'''. Последствия этого изменения должны немедленно отобразиться на экране. Если вы только хотите знать какие значения есть у конкретной переменной, введите ее имя без добавления каких-либо параметров (к примеру, введите только '''r2_tf_mipbias''', чтобы увидеть ее возможные значения).&lt;br /&gt;
&lt;br /&gt;
:Важно: Ввод новых параметров для переменных в консоли может автоматически записать эти изменения в ваш фаил '''User.ltx''', это означает что при следующем запуске Сталкера именно они будут использоваться, а не которые были до этого. Так что убедитесь сначала, что у вас есть бэкап '''User.ltx''', прежде чем возиться в консоли, и лучше всего для начала проверить конкретное значение переменной и записать ее, прежде чем тестировать новые параметры, в случае если вы хотите быстро вернуться к оригинальным настройкам.&lt;br /&gt;
&lt;br /&gt;
Полный список консольных комманд для Сталкера представлен ниже в алфавитном порядке, с описаниями, где это возможно (известно их назначение). Вы должны усвоить некоторые вещи, прежде чем приступать:&lt;br /&gt;
&lt;br /&gt;
*Вы можете использовать кнопки '''Page Up''' и '''Page Down''' для скроллинга текста в консоли.&lt;br /&gt;
*Кнопка '''Tab''' работает как автозавершение команды. Если в консоли ничего не набрано, то каждое нажатие на '''Tab''' будет вызывать следующую команду по алфавиту.&lt;br /&gt;
*Клавиши с цифрового блока не работают, поэтому ввод цифр производите с основной части клавиатуры.&lt;br /&gt;
&lt;br /&gt;
Подробные описания наиболее полезных консольных комманд уже представлены на предыдущей странице, так как переменные '''User.ltx''' и консольных комманд называются одинаково и действуют практически по тому же принципу.&lt;br /&gt;
&lt;br /&gt;
Изменения переменные в консоли вы можете сделать их постоянными, так как большинство их пишется в ваш фаил '''User.ltx'''. Убедитесь обязательно, что вы вернули прежнее значение комманды назад, к ее дефолтному или желаемому параметру, или восстановите ваш сохраненный фаил User.ltx после этого, если вы только хотите поэкспериментировать и не применять изменения.&lt;br /&gt;
&lt;br /&gt;
== Список консольных команд ==&lt;br /&gt;
&lt;br /&gt;
=== Основные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|preset||Minimum, Low, Default, High, Extreme||Тоже, что и общая опция Настроек Качества графики в игре.&lt;br /&gt;
|-&lt;br /&gt;
|ai_use_torch_dynamic_lights||on, off||Тоже, что и менюшная опция Фонарики от НПС.&lt;br /&gt;
|-&lt;br /&gt;
|bind||action,key||Назначить действие на первичную конкретную выбранную клавишу.&lt;br /&gt;
|-&lt;br /&gt;
|bind_console|| ||&lt;br /&gt;
|-&lt;br /&gt;
|bind_list|| ||Список всех текущих назначенных клавиш.&lt;br /&gt;
|-&lt;br /&gt;
|bind_sec||action,key||Назначить действие на вторичную клавишу. &lt;br /&gt;
|-&lt;br /&gt;
|cam_inert||0.000,1.000||Управление инертностью камеры.&lt;br /&gt;
|-&lt;br /&gt;
|cam_slide_inert||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|cdkey|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cfg_load||filename.ltx||Загружает конфигурационный фаил определенного названия из той же папки, что и User.ltx&lt;br /&gt;
|-&lt;br /&gt;
|cfg_save||filename.ltx||Сохраняет текущий конфигурационные настройки в новый .ltx фаил с указанным вами именем в ту же папку что и User.ltx.&lt;br /&gt;
|-&lt;br /&gt;
|check_for_updates|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_cod_pickup_mode||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|cl_dynamiccrosshair||on,off||Тоже, что и менюшная опция Динамический Прицел.&lt;br /&gt;
|-&lt;br /&gt;
|cl_voteno|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_votestart|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_voteyes||&lt;br /&gt;
|-&lt;br /&gt;
|demo_play||demoname||Проиграть записанную вами демку сохраненной игры.&lt;br /&gt;
|-&lt;br /&gt;
|disconnect|| ||Отсоединяет вас от текущей игры и выбрасывает в главное меню.&lt;br /&gt;
|-&lt;br /&gt;
|flush|| ||Создать лог в папке \Documents and Settings\All Users\Documents\STALKER-SHOC\logs&lt;br /&gt;
|-&lt;br /&gt;
|g_always_run||on,off||Включить постоянный бег/ходьбу.&lt;br /&gt;
|-&lt;br /&gt;
|g_autopickup||on,off||Автоподбор предметов, вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|g_backrun||on,off||Возможность передвижения спиной бегом, вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|g_corpsenum||0,100||&lt;br /&gt;
|-&lt;br /&gt;
|g_eventdelay||0,1000||&lt;br /&gt;
|-&lt;br /&gt;
|g_game_difficulty||gd_novice, gd_stalker, gd_veteran, gd_master||Тоже, что и опция Уровень сложности в игровом меню.&lt;br /&gt;
|-&lt;br /&gt;
|help|| ||Список всех консольных команд.&lt;br /&gt;
|-&lt;br /&gt;
|hud_crosshair||on,off||– Тоже, что и менюшная опция Показывать Прицел.&lt;br /&gt;
|-&lt;br /&gt;
|hud_crosshair_dist||on,off||– Тоже, что и опция в меню Дистанция до цели.&lt;br /&gt;
|-&lt;br /&gt;
|list_actions|| ||Список всех действий, которые можно прибиндить на кнопки.&lt;br /&gt;
|-&lt;br /&gt;
|load||savename||Загружает сохраненную игру с указанным вами названием.&lt;br /&gt;
|-&lt;br /&gt;
|main_menu|| ||Главное меню, каждый вызов вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|mouse_invert||on,off||Тоже, что и опция в меню Инвертировать Мышь.&lt;br /&gt;
|-&lt;br /&gt;
|mouse_sens||0.050,0.6000||Тоже, что и менюшная опция Чувствительность Мыши.&lt;br /&gt;
|-&lt;br /&gt;
|ph_frequency|| ||&lt;br /&gt;
|-&lt;br /&gt;
|ph_iterations||5,50||&lt;br /&gt;
|-&lt;br /&gt;
|quit|| ||Выйти из игры в Винду.&lt;br /&gt;
|-&lt;br /&gt;
|save||savename||Сохранить текущую игру под конкретным именем(дефолт – быстрое сохранение).&lt;br /&gt;
|-&lt;br /&gt;
|screenshot|| ||Сохранить скриншот в папку \Documents and Settings\All Users\Documents\STALKER-SHOC\screenshots&lt;br /&gt;
|-&lt;br /&gt;
|start|| ||&lt;br /&gt;
|-&lt;br /&gt;
|stat_memory|| ||Показывает статистику использования оперативной памяти игровым движком.&lt;br /&gt;
|-&lt;br /&gt;
|stat_models|| ||Показывает список всех загруженных на данный момент моделей.&lt;br /&gt;
|-&lt;br /&gt;
|unbind||action||Разбиндить любую первичную клавишу с назначенного действия.&lt;br /&gt;
|-&lt;br /&gt;
|unbind_console|| ||&lt;br /&gt;
|-&lt;br /&gt;
|unbind_sec||action||Разбиндить любую вторичную клавишу с назначенного действия.&lt;br /&gt;
|-&lt;br /&gt;
|unbindall|| ||Разбиндить все назначенные на действия клавиши.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Графические ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|r1_dlights||on,off||Включить\выключить динамические источники света, влияет только на фонарики.&lt;br /&gt;
|-&lt;br /&gt;
|r1_dlights_clip||10.000,150.000||Устанавливает радиус отображения(дальность видимости) динамических источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r1_glows_per_frame||2,32||Контролирует максимальное число источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r1_lmodel_lerp||0.000,0.333||Управляет Линейной Интерполяцией освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r1_pps_u||-1.000,1.000||Контролирует Per Pixel Shader значение.&lt;br /&gt;
|-&lt;br /&gt;
|r1_pps_v||-1.000,1.000||Контролирует Per Pixel Shader значение.&lt;br /&gt;
|-&lt;br /&gt;
|r1_ssa_lod_a||16.000,96.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r1_ssa_lod_b||16.000,64.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r1_tf_mipbias||-3.000,3.000||Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa||on,off||Включает фейковый эффект Сглаживания.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_break|| ||Контролирует степень фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_kernel||0.300,0.700||Контролирует общую заблюренность фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_weight|| ||Более точно контролирует заблюренность фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_allow_r1_light||on,off||Позволяет DX8 освещению работать под моделью освещения DX9 (Вкл/выкл дублирующих динамических источников света).&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi||on,off||Включает Глобальное Освещение (на свой страх и риск, опция экспериментальная).&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_clip||0.000,0.100||Контролирует дальность видимости(clip distance) Глобального освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_depth||1,5||Контролирует глубину теней Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_photons||8,256||Контролирует  эффект Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_refl||0.001,0.990||– Контролирует  reflectivity(коэффициент отражения) Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gloss_factor||0.000,10.000||Устанавливает уровень Отражений/глянца на объектах.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_fast||on,off||Включает расширенный эффект Блума.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_b||0.010,1.000||– Определяет уровень затененности(дымки) от эффектов HDR и Блума.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_g||1.000,7.000||Четкость бликов&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_scale||0.500,2.000||Общая сила HDR&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_speed||0.000,100.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_threshold||0.000,1.000||Контролирует общий уровень используемых световых эффектов (Блум).&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_depth_bias||-0.500,0.500||Контролирует дальность освещения источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_depth_scale||0.500,1.500||Контролирует влияние освещения на тени.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_dsm_kernel||0.100,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_psm_kernel||0.100,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_squality||0.500,1.000||Тоже, что и опция в меню Качество Теней.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_ssm_kernel||0.500,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_mblur||0.000,1.000||Работает только если при запуске к .exe приписан параметр –mblur.&lt;br /&gt;
|-&lt;br /&gt;
|r2_parallax_h||0.000,0.500||Контролирует Параллакс Маппинг, который влияет на глубину поверхности текстур.&lt;br /&gt;
|-&lt;br /&gt;
|r2_slight_fade||0.020,2.000||Дальность освещения(есть в меню)&lt;br /&gt;
|-&lt;br /&gt;
|r2_ssa_lod_a||16.000,96.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ssa_lod_b||32.000,64.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun||on,off||– Опция из меню - Тень от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_far_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_far_scale||0.500,1.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_near_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_near_scale||0.500,1.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_details||on,off||Тоже, что опция в меню Тени от Травы.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_focus||on,off||Фокус солнечных теней&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale||-1.000,3.000||Яркость света от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale_amb||0.000,3.000||Яркость ambient освещения (равномерное освещение) от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale_hemi||0.000,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_near||1.000,50.000||Местоположение солнца от земли&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_near_border||0.500,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm||on,off||Четкость солнечных теней&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm_proj||0.001,0.800||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tf_mipbias||-3.000,3.000||Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap||on,off||– Включает эффект Tone Mapping(разметка уровня цвета) для HDR освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_adaptation||0.010,10.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_amount||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_lowlum||0.000,1.000||– Контролирует эффект tone mapping на темных локациях.&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_middlegray||0.000,2.000||Контролирует общий вид эффекта HDR.&lt;br /&gt;
|-&lt;br /&gt;
|r2_wait_sleep||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|r2_zfill||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|r2_zfill_depth||0.001,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2em||0.000,4.000||&lt;br /&gt;
|-&lt;br /&gt;
|r__detail_density||0.200,0.600||– Опция, по типу в меню - Плотность Травы.&lt;br /&gt;
|-&lt;br /&gt;
|r__geometry_lod||0.100,1.200||– Тоже, что и опция из меню Детализация объектов(геометрии).&lt;br /&gt;
|-&lt;br /&gt;
|r__supersample||1,4||Тоже, что и опция в меню – Сглаживание.&lt;br /&gt;
|-&lt;br /&gt;
|r__tf_aniso||1,16||–Опция из меню, анизотропная фильтрация(Фильтрация текстур).&lt;br /&gt;
|-&lt;br /&gt;
|renderer||renderer_r1, renderer_r2a, renderer_r2||Тоже, что и опция в меню Тип рендера.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_brightness||0.500,1.500||– Опция из меню – Яркость.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_contrast||0.500,1.500||Опция по типу в меню, Контраст.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_gamma||0.500,1.500||Тоже, что и менюшная опция Гамма.&lt;br /&gt;
|-&lt;br /&gt;
|rs_fullscreen||on,off||Тоже, что и опция в главном меню Полноэкранный режим.&lt;br /&gt;
|-&lt;br /&gt;
|rs_refresh_60hz||on,off||– Тоже, что и опция в меню Частота 60Гц.&lt;br /&gt;
|-&lt;br /&gt;
|rs_stats||on,off||Включает статистику движка на экране, включая FPS.&lt;br /&gt;
|-&lt;br /&gt;
|rs_v_sync||on,off||Тоже, что и менюшная опция Вертикальная Синхронизация.&lt;br /&gt;
|-&lt;br /&gt;
|rs_vis_distance||0.400,1.500||Тоже, что и опция в меню Дальность Видимости.&lt;br /&gt;
|-&lt;br /&gt;
|texture_lod||0,4||Тоже, что и менюшная опция Качество текстур. Значения инвертны(0 - высокое качество)&lt;br /&gt;
|-&lt;br /&gt;
|vid_mode||WxH||Тоже, что и опция в меню Разрешение.&lt;br /&gt;
|-&lt;br /&gt;
|vid_restart|| ||Перезапускает графический движок; может быть использовано после изменения каких-либо графических настроек таких как texture_lod и vid_mode.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Звуковые ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|-&lt;br /&gt;
|snd_acceleration||on,off||Включает аппаратную акселерацию звука.&lt;br /&gt;
|-&lt;br /&gt;
|snd_cache_size||4,32||Установить размер кэша для звука.&lt;br /&gt;
|-&lt;br /&gt;
|snd_efx||on,off||Включает\выключает Звуковые Эффекты.&lt;br /&gt;
|-&lt;br /&gt;
|snd_restart|| ||Перезапускает звуковой движок; может быть использовано после изменений каких-либо переменных snd_.&lt;br /&gt;
|-&lt;br /&gt;
|snd_targets||4,32||Устанавливает количество используемых каналов для аудио.&lt;br /&gt;
|-&lt;br /&gt;
|snd_volume_eff||0.000,1.000||Тоже, что и опция в меню Громкость(звука).&lt;br /&gt;
|-&lt;br /&gt;
|snd_volume_music||0.000,1.000||Тоже, что и опция в меню Громкость Музыки.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Сетевые ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|g_kill|| ||Мгновенная смерть игрока&lt;br /&gt;
|-&lt;br /&gt;
|g_restart|| ||&lt;br /&gt;
|-&lt;br /&gt;
|g_restart_fast|| ||&lt;br /&gt;
|-&lt;br /&gt;
|g_swapteams|| ||Смена команд местами в сетевой игре артефактхант (Охота за Артефактом).&lt;br /&gt;
|-&lt;br /&gt;
|get_server_address|| ||Список IP-адресов игровых серверов.&lt;br /&gt;
|-&lt;br /&gt;
|mm_mm_net_srv_dedicated||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_publicserver||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_spectator||1,32||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_spectator_on||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_player_name||String||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_gamemode||st_deathmatch, st_team_deathmatch, st_artefacthunt||тип сетевой игры&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_maxplayers||2,32||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_name||String||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_reinforcement_type||0,2||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_weather_rateofchange||0.000,100.000||Коэффиицент изменения погоды&lt;br /&gt;
|-&lt;br /&gt;
|name||String||Устанавливает ваш ник в сетевой игре.&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_clearstats|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_icurvesize||0,2000||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_icurvetype||0,2||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_interpolation||-1.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_log_data||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_pending_lim||0,10||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_resync|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|net_dedicated_sleep||0,64||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_clearstats|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_log_data||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_pending_lim||0,10||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_addmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_anomalies_enabled||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_anomalies_length||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefect_respawn_delta||0,600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefact_stay_time||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefacts_count||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_auto_team_balance||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_auto_team_swap||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_banplayer|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_bearercantsprint||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changegametype|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changelevel|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changelevelgametype|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_client_reconnect_time||0,60||&lt;br /&gt;
|-&lt;br /&gt;
|sv_console_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_dmgblockindicator||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_dmgblocktime||0,600||Время, которое ГГ после респавна не уязвим в секундах&lt;br /&gt;
|-&lt;br /&gt;
|sv_forcerespawn||0,3600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_fraglimit||0,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendly_indicators||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendly_names||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendlyfire||0.000,2.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_hail_to_winner_time||0,60000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_kick|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_listplayers|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_nextanomalyset|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_nextmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_pda_hunt||0,1||Давать бонус (100р) за подобранный хабар с мертвого сталкера&lt;br /&gt;
|-&lt;br /&gt;
|sv_pending_wait_time||0,60000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_prevmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_reinforcement_time||-1,3600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_remove_corpse||-1,1||удалять тело после смерти игрока&lt;br /&gt;
|-&lt;br /&gt;
|sv_remove_weapon||-1,1||удалять оружие после смерти игрока&lt;br /&gt;
|-&lt;br /&gt;
|sv_return_to_base|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_returnplayers||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_setenvtime|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_setweather|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_shieldedbases||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_firsteye||0,1||Разрешаете/запрещает Спектатор от первого лица&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_freefly||0,1||Разрешаете/запрещает Спектатор в свободном полете&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_freelook||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_lookat||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_teamcamera||0,1||Разрешаете/запрещает Спектатор только своей команды. От первого лица или от третьего, на выбор&lt;br /&gt;
|-&lt;br /&gt;
|sv_satistic_collect||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_statistic_save|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_statistic_save_auto||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_timelimit||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_enabled||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_participants||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_quota||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_time||0.500,10.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_votestop|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_warm_up||0,3600||Время на разминку в мультиплеере&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Продолжение ==&lt;br /&gt;
&lt;br /&gt;
Большая часть всех полезных и наиболее важных консольных команд описана выше, более детальную информацию вы найдете на предыдущей странице. Как правило если описание важной команды отсутствует, вы можете дополнить его с чистой совестью. :)&lt;br /&gt;
В общем я оставил без описания только самые очевидные и менее используемые консольные команды, и конечно есть некоторые из них, точное назначение которых  я к сожалению не знаю.&lt;br /&gt;
&lt;br /&gt;
Следующая страница завершает данное руководство по Твикингу параметрами для запуска экзэшника.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8(%D1%87._2)</id>
		<title>Расширенные настройки(ч. 2)</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8(%D1%87._2)"/>
				<updated>2008-06-06T18:02:11Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Сетевые */ дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;260&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;background:#5e5e5e;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot; | Содержание&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
{{Шаблон:Содержание руководства по настройке}}&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Консольные комманды ==&lt;br /&gt;
&lt;br /&gt;
Консоль в Сталкере может быть открыта и закрыта  нажатием клавиши тильда ('~'), которая под кнопкой '''ESC'''. Данная консоль представляет собой поле, которое позволяет вам вводить определенный диапазон консольных комманд в целях регулирования и настройки параметров игрового движка. Большинство консольных комманд также используются в фаиле '''User.ltx''', как говорилось на предыдущей странице. Так что лучший метод для использования продвинутых фич – это, во-первых протестировать комманду в консоли, потом, точно определить значение которые вы хотите использовать для этой комманды, и затем, если вы захотите использовать ее всегда, можете отредактировать соответственно ваш фаил User.ltx , если настройка еще не сохранена там.&lt;br /&gt;
&lt;br /&gt;
Процедура использования консольной комманды достаточно проста – введите соответствующую команду, затем сделайте пропуск кнопкой space, и введите подходящее значение. Например ввод соответствующей команды в консоли:&lt;br /&gt;
 r2_tf_mipbias 2.5&lt;br /&gt;
Мы говорим игровому движку присвоить значение (параметр) '''2.5''' к переменной '''r2_tf_mipbias'''. Последствия этого изменения должны немедленно отобразиться на экране. Если вы только хотите знать какие значения есть у конкретной переменной, введите ее имя без добавления каких-либо параметров (к примеру, введите только '''r2_tf_mipbias''', чтобы увидеть ее возможные значения).&lt;br /&gt;
&lt;br /&gt;
:Важно: Ввод новых параметров для переменных в консоли может автоматически записать эти изменения в ваш фаил '''User.ltx''', это означает что при следующем запуске Сталкера именно они будут использоваться, а не которые были до этого. Так что убедитесь сначала, что у вас есть бэкап '''User.ltx''', прежде чем возиться в консоли, и лучше всего для начала проверить конкретное значение переменной и записать ее, прежде чем тестировать новые параметры, в случае если вы хотите быстро вернуться к оригинальным настройкам.&lt;br /&gt;
&lt;br /&gt;
Полный список консольных комманд для Сталкера представлен ниже в алфавитном порядке, с описаниями, где это возможно (известно их назначение). Вы должны усвоить некоторые вещи, прежде чем приступать:&lt;br /&gt;
&lt;br /&gt;
*Вы можете использовать кнопки '''Page Up''' и '''Page Down''' для скроллинга текста в консоли.&lt;br /&gt;
*Кнопка '''Tab''' работает как автозавершение команды. Если в консоли ничего не набрано, то каждое нажатие на '''Tab''' будет вызывать следующую команду по алфавиту.&lt;br /&gt;
*Клавиши с цифрового блока не работают, поэтому ввод цифр производите с основной части клавиатуры.&lt;br /&gt;
&lt;br /&gt;
Подробные описания наиболее полезных консольных комманд уже представлены на предыдущей странице, так как переменные '''User.ltx''' и консольных комманд называются одинаково и действуют практически по тому же принципу.&lt;br /&gt;
&lt;br /&gt;
Изменения переменные в консоли вы можете сделать их постоянными, так как большинство их пишется в ваш фаил '''User.ltx'''. Убедитесь обязательно, что вы вернули прежнее значение комманды назад, к ее дефолтному или желаемому параметру, или восстановите ваш сохраненный фаил User.ltx после этого, если вы только хотите поэкспериментировать и не применять изменения.&lt;br /&gt;
&lt;br /&gt;
== Список консольных команд ==&lt;br /&gt;
&lt;br /&gt;
=== Основные ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|preset||Minimum, Low, Default, High, Extreme||Тоже, что и общая опция Настроек Качества графики в игре.&lt;br /&gt;
|-&lt;br /&gt;
|ai_use_torch_dynamic_lights||on, off||Тоже, что и менюшная опция Фонарики от НПС.&lt;br /&gt;
|-&lt;br /&gt;
|bind||action,key||Назначить действие на первичную конкретную выбранную клавишу.&lt;br /&gt;
|-&lt;br /&gt;
|bind_console|| ||&lt;br /&gt;
|-&lt;br /&gt;
|bind_list|| ||Список всех текущих назначенных клавиш.&lt;br /&gt;
|-&lt;br /&gt;
|bind_sec||action,key||Назначить действие на вторичную клавишу. &lt;br /&gt;
|-&lt;br /&gt;
|cam_inert||0.000,1.000||Управление инертностью камеры.&lt;br /&gt;
|-&lt;br /&gt;
|cam_slide_inert||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|cdkey|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cfg_load||filename.ltx||Загружает конфигурационный фаил определенного названия из той же папки, что и User.ltx&lt;br /&gt;
|-&lt;br /&gt;
|cfg_save||filename.ltx||Сохраняет текущий конфигурационные настройки в новый .ltx фаил с указанным вами именем в ту же папку что и User.ltx.&lt;br /&gt;
|-&lt;br /&gt;
|check_for_updates|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_cod_pickup_mode||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|cl_dynamiccrosshair||on,off||Тоже, что и менюшная опция Динамический Прицел.&lt;br /&gt;
|-&lt;br /&gt;
|cl_voteno|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_votestart|| ||&lt;br /&gt;
|-&lt;br /&gt;
|cl_voteyes||&lt;br /&gt;
|-&lt;br /&gt;
|demo_play||demoname||Проиграть записанную вами демку сохраненной игры.&lt;br /&gt;
|-&lt;br /&gt;
|disconnect|| ||Отсоединяет вас от текущей игры и выбрасывает в главное меню.&lt;br /&gt;
|-&lt;br /&gt;
|flush|| ||Создать лог в папке \Documents and Settings\All Users\Documents\STALKER-SHOC\logs&lt;br /&gt;
|-&lt;br /&gt;
|g_always_run||on,off||Включить постоянный бег/ходьбу.&lt;br /&gt;
|-&lt;br /&gt;
|g_autopickup||on,off||Автоподбор предметов, вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|g_backrun||on,off||Возможность передвижения спиной бегом, вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|g_corpsenum||0,100||&lt;br /&gt;
|-&lt;br /&gt;
|g_eventdelay||0,1000||&lt;br /&gt;
|-&lt;br /&gt;
|g_game_difficulty||gd_novice, gd_stalker, gd_veteran, gd_master||Тоже, что и опция Уровень сложности в игровом меню.&lt;br /&gt;
|-&lt;br /&gt;
|help|| ||Список всех консольных команд.&lt;br /&gt;
|-&lt;br /&gt;
|hud_crosshair||on,off||– Тоже, что и менюшная опция Показывать Прицел.&lt;br /&gt;
|-&lt;br /&gt;
|hud_crosshair_dist||on,off||– Тоже, что и опция в меню Дистанция до цели.&lt;br /&gt;
|-&lt;br /&gt;
|list_actions|| ||Список всех действий, которые можно прибиндить на кнопки.&lt;br /&gt;
|-&lt;br /&gt;
|load||savename||Загружает сохраненную игру с указанным вами названием.&lt;br /&gt;
|-&lt;br /&gt;
|main_menu|| ||Главное меню, каждый вызов вкл/выкл&lt;br /&gt;
|-&lt;br /&gt;
|mouse_invert||on,off||Тоже, что и опция в меню Инвертировать Мышь.&lt;br /&gt;
|-&lt;br /&gt;
|mouse_sens||0.050,0.6000||Тоже, что и менюшная опция Чувствительность Мыши.&lt;br /&gt;
|-&lt;br /&gt;
|ph_frequency|| ||&lt;br /&gt;
|-&lt;br /&gt;
|ph_iterations||5,50||&lt;br /&gt;
|-&lt;br /&gt;
|quit|| ||Выйти из игры в Винду.&lt;br /&gt;
|-&lt;br /&gt;
|save||savename||Сохранить текущую игру под конкретным именем(дефолт – быстрое сохранение).&lt;br /&gt;
|-&lt;br /&gt;
|screenshot|| ||Сохранить скриншот в папку \Documents and Settings\All Users\Documents\STALKER-SHOC\screenshots&lt;br /&gt;
|-&lt;br /&gt;
|start|| ||&lt;br /&gt;
|-&lt;br /&gt;
|stat_memory|| ||Показывает статистику использования оперативной памяти игровым движком.&lt;br /&gt;
|-&lt;br /&gt;
|stat_models|| ||Показывает список всех загруженных на данный момент моделей.&lt;br /&gt;
|-&lt;br /&gt;
|unbind||action||Разбиндить любую первичную клавишу с назначенного действия.&lt;br /&gt;
|-&lt;br /&gt;
|unbind_console|| ||&lt;br /&gt;
|-&lt;br /&gt;
|unbind_sec||action||Разбиндить любую вторичную клавишу с назначенного действия.&lt;br /&gt;
|-&lt;br /&gt;
|unbindall|| ||Разбиндить все назначенные на действия клавиши.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Графические ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|r1_dlights||on,off||Включить\выключить динамические источники света, влияет только на фонарики.&lt;br /&gt;
|-&lt;br /&gt;
|r1_dlights_clip||10.000,150.000||Устанавливает радиус отображения(дальность видимости) динамических источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r1_glows_per_frame||2,32||Контролирует максимальное число источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r1_lmodel_lerp||0.000,0.333||Управляет Линейной Интерполяцией освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r1_pps_u||-1.000,1.000||Контролирует Per Pixel Shader значение.&lt;br /&gt;
|-&lt;br /&gt;
|r1_pps_v||-1.000,1.000||Контролирует Per Pixel Shader значение.&lt;br /&gt;
|-&lt;br /&gt;
|r1_ssa_lod_a||16.000,96.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r1_ssa_lod_b||16.000,64.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r1_tf_mipbias||-3.000,3.000||Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa||on,off||Включает фейковый эффект Сглаживания.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_break|| ||Контролирует степень фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_kernel||0.300,0.700||Контролирует общую заблюренность фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_aa_weight|| ||Более точно контролирует заблюренность фейкового АА.&lt;br /&gt;
|-&lt;br /&gt;
|r2_allow_r1_light||on,off||Позволяет DX8 освещению работать под моделью освещения DX9 (Вкл/выкл дублирующих динамических источников света).&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi||on,off||Включает Глобальное Освещение (на свой страх и риск, опция экспериментальная).&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_clip||0.000,0.100||Контролирует дальность видимости(clip distance) Глобального освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_depth||1,5||Контролирует глубину теней Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_photons||8,256||Контролирует  эффект Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gi_refl||0.001,0.990||– Контролирует  reflectivity(коэффициент отражения) Глобального Освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_gloss_factor||0.000,10.000||Устанавливает уровень Отражений/глянца на объектах.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_fast||on,off||Включает расширенный эффект Блума.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_b||0.010,1.000||– Определяет уровень затененности(дымки) от эффектов HDR и Блума.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_g||1.000,7.000||Четкость бликов&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_kernel_scale||0.500,2.000||Общая сила HDR&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_speed||0.000,100.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_bloom_threshold||0.000,1.000||Контролирует общий уровень используемых световых эффектов (Блум).&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_depth_bias||-0.500,0.500||Контролирует дальность освещения источников света.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_depth_scale||0.500,1.500||Контролирует влияние освещения на тени.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_dsm_kernel||0.100,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_psm_kernel||0.100,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_squality||0.500,1.000||Тоже, что и опция в меню Качество Теней.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ls_ssm_kernel||0.500,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_mblur||0.000,1.000||Работает только если при запуске к .exe приписан параметр –mblur.&lt;br /&gt;
|-&lt;br /&gt;
|r2_parallax_h||0.000,0.500||Контролирует Параллакс Маппинг, который влияет на глубину поверхности текстур.&lt;br /&gt;
|-&lt;br /&gt;
|r2_slight_fade||0.020,2.000||Дальность освещения(есть в меню)&lt;br /&gt;
|-&lt;br /&gt;
|r2_ssa_lod_a||16.000,96.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r2_ssa_lod_b||32.000,64.000||Контролирует уровень детализации(LOD) в игровом мире.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun||on,off||– Опция из меню - Тень от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_far_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_far_scale||0.500,1.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_near_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_depth_near_scale||0.500,1.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_details||on,off||Тоже, что опция в меню Тени от Травы.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_focus||on,off||Фокус солнечных теней&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale||-1.000,3.000||Яркость света от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale_amb||0.000,3.000||Яркость ambient освещения (равномерное освещение) от Солнца.&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_lumscale_hemi||0.000,3.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_near||1.000,50.000||Местоположение солнца от земли&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_near_border||0.500,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm||on,off||Четкость солнечных теней&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm_bias||-0.500,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2_sun_tsm_proj||0.001,0.800||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tf_mipbias||-3.000,3.000||Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap||on,off||– Включает эффект Tone Mapping(разметка уровня цвета) для HDR освещения.&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_adaptation||0.010,10.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_amount||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_lowlum||0.000,1.000||– Контролирует эффект tone mapping на темных локациях.&lt;br /&gt;
|-&lt;br /&gt;
|r2_tonemap_middlegray||0.000,2.000||Контролирует общий вид эффекта HDR.&lt;br /&gt;
|-&lt;br /&gt;
|r2_wait_sleep||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|r2_zfill||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|r2_zfill_depth||0.001,0.500||&lt;br /&gt;
|-&lt;br /&gt;
|r2em||0.000,4.000||&lt;br /&gt;
|-&lt;br /&gt;
|r__detail_density||0.200,0.600||– Опция, по типу в меню - Плотность Травы.&lt;br /&gt;
|-&lt;br /&gt;
|r__geometry_lod||0.100,1.200||– Тоже, что и опция из меню Детализация объектов(геометрии).&lt;br /&gt;
|-&lt;br /&gt;
|r__supersample||1,4||Тоже, что и опция в меню – Сглаживание.&lt;br /&gt;
|-&lt;br /&gt;
|r__tf_aniso||1,16||–Опция из меню, анизотропная фильтрация(Фильтрация текстур).&lt;br /&gt;
|-&lt;br /&gt;
|renderer||renderer_r1, renderer_r2a, renderer_r2||Тоже, что и опция в меню Тип рендера.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_brightness||0.500,1.500||– Опция из меню – Яркость.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_contrast||0.500,1.500||Опция по типу в меню, Контраст.&lt;br /&gt;
|-&lt;br /&gt;
|rs_c_gamma||0.500,1.500||Тоже, что и менюшная опция Гамма.&lt;br /&gt;
|-&lt;br /&gt;
|rs_fullscreen||on,off||Тоже, что и опция в главном меню Полноэкранный режим.&lt;br /&gt;
|-&lt;br /&gt;
|rs_refresh_60hz||on,off||– Тоже, что и опция в меню Частота 60Гц.&lt;br /&gt;
|-&lt;br /&gt;
|rs_stats||on,off||Включает статистику движка на экране, включая FPS.&lt;br /&gt;
|-&lt;br /&gt;
|rs_v_sync||on,off||Тоже, что и менюшная опция Вертикальная Синхронизация.&lt;br /&gt;
|-&lt;br /&gt;
|rs_vis_distance||0.400,1.500||Тоже, что и опция в меню Дальность Видимости.&lt;br /&gt;
|-&lt;br /&gt;
|texture_lod||0,4||Тоже, что и менюшная опция Качество текстур. Значения инвертны(0 - высокое качество)&lt;br /&gt;
|-&lt;br /&gt;
|vid_mode||WxH||Тоже, что и опция в меню Разрешение.&lt;br /&gt;
|-&lt;br /&gt;
|vid_restart|| ||Перезапускает графический движок; может быть использовано после изменения каких-либо графических настроек таких как texture_lod и vid_mode.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Звуковые ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|-&lt;br /&gt;
|snd_acceleration||on,off||Включает аппаратную акселерацию звука.&lt;br /&gt;
|-&lt;br /&gt;
|snd_cache_size||4,32||Установить размер кэша для звука.&lt;br /&gt;
|-&lt;br /&gt;
|snd_efx||on,off||Включает\выключает Звуковые Эффекты.&lt;br /&gt;
|-&lt;br /&gt;
|snd_restart|| ||Перезапускает звуковой движок; может быть использовано после изменений каких-либо переменных snd_.&lt;br /&gt;
|-&lt;br /&gt;
|snd_targets||4,32||Устанавливает количество используемых каналов для аудио.&lt;br /&gt;
|-&lt;br /&gt;
|snd_volume_eff||0.000,1.000||Тоже, что и опция в меню Громкость(звука).&lt;br /&gt;
|-&lt;br /&gt;
|snd_volume_music||0.000,1.000||Тоже, что и опция в меню Громкость Музыки.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Сетевые ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;standart&amp;quot;&lt;br /&gt;
! width=25% | Команда&lt;br /&gt;
! width=25% | Параметры&lt;br /&gt;
! width=50% | Описание&lt;br /&gt;
|- &lt;br /&gt;
|g_kill|| ||Мгновенная смерть игрока&lt;br /&gt;
|-&lt;br /&gt;
|g_restart|| ||&lt;br /&gt;
|-&lt;br /&gt;
|g_restart_fast|| ||&lt;br /&gt;
|-&lt;br /&gt;
|g_swapteams|| ||Смена команд местами в сетевой игре артефактхант (Охота за Артефактом).&lt;br /&gt;
|-&lt;br /&gt;
|get_server_address|| ||Список IP-адресов игровых серверов.&lt;br /&gt;
|-&lt;br /&gt;
|mm_mm_net_srv_dedicated||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_publicserver||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_spectator||1,32||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_con_spectator_on||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_player_name||String||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_gamemode||st_deathmatch, st_team_deathmatch, st_artefacthunt||тип сетевой игры&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_maxplayers||2,32||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_name||String||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_srv_reinforcement_type||0,2||&lt;br /&gt;
|-&lt;br /&gt;
|mm_net_weather_rateofchange||0.000,100.000||Коэффиицент изменения погоды&lt;br /&gt;
|-&lt;br /&gt;
|name||String||Устанавливает ваш ник в сетевой игре.&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_clearstats|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_icurvesize||0,2000||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_icurvetype||0,2||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_interpolation||-1.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_log_data||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_pending_lim||0,10||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_resync|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_cl_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|net_dedicated_sleep||0,64||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_clearstats|| ||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_log_data||on,off||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_pending_lim||0,10||&lt;br /&gt;
|-&lt;br /&gt;
|net_sv_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_addmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_anomalies_enabled||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_anomalies_length||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefect_respawn_delta||0,600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefact_stay_time||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_artefacts_count||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_auto_team_balance||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_auto_team_swap||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_banplayer|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_bearercantsprint||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changegametype|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changelevel|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_changelevelgametype|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_client_reconnect_time||0,60||&lt;br /&gt;
|-&lt;br /&gt;
|sv_console_update_rate||1,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_dmgblockindicator||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_dmgblocktime||0,600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_forcerespawn||0,3600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_fraglimit||0,100||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendly_indicators||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendly_names||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_friendlyfire||0.000,2.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_hail_to_winner_time||0,60000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_kick|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_listplayers|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_nextanomalyset|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_nextmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_pda_hunt||0,1||Давать бонус (100р) за подобранный хабар с мертвого сталкера&lt;br /&gt;
|-&lt;br /&gt;
|sv_pending_wait_time||0,60000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_prevmap|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_reinforcement_time||-1,3600||&lt;br /&gt;
|-&lt;br /&gt;
|sv_remove_corpse||-1,1||удалять тело после смерти игрока&lt;br /&gt;
|-&lt;br /&gt;
|sv_remove_weapon||-1,1||удалять оружие после смерти игрока&lt;br /&gt;
|-&lt;br /&gt;
|sv_return_to_base|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_returnplayers||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_setenvtime|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_setweather|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_shieldedbases||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_firsteye||0,1||Разрешаете/запрещает Спектатор от первого лица&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_freefly||0,1||Разрешаете/запрещает Спектатор в свободном полете&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_freelook||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_lookat||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_spectr_teamcamera||0,1||Разрешаете/запрещает Спектатор только своей команды. От первого лица или от третьего, на выбор&lt;br /&gt;
|-&lt;br /&gt;
|sv_satistic_collect||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_statistic_save|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_statistic_save_auto||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_timelimit||0,180||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_enabled||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_participants||0,1||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_quota||0.000,1.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_vote_time||0.500,10.000||&lt;br /&gt;
|-&lt;br /&gt;
|sv_votestop|| ||&lt;br /&gt;
|-&lt;br /&gt;
|sv_warm_up||0,3600||Время на разминку в мультиплеере&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Продолжение ==&lt;br /&gt;
&lt;br /&gt;
Большая часть всех полезных и наиболее важных консольных команд описана выше, более детальную информацию вы найдете на предыдущей странице. Как правило если описание важной команды отсутствует, вы можете дополнить его с чистой совестью. :)&lt;br /&gt;
В общем я оставил без описания только самые очевидные и менее используемые консольные команды, и конечно есть некоторые из них, точное назначение которых  я к сожалению не знаю.&lt;br /&gt;
&lt;br /&gt;
Следующая страница завершает данное руководство по Твикингу параметрами для запуска экзэшника.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8</id>
		<title>SoC. Спавн точек перехода между уровнями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8"/>
				<updated>2008-06-02T17:55:56Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: добаволена категория. я блин неделю сам ковырялся над этой темой так как не увидел этой статьи ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В этой статье я попытаюсь передать практический опыт скриптового создания точек перехода между уровнями. Файл ''all.spawn'' меняться не будет, поэтому такой механизм более удобен для совмещения модов и не требует начала новой игры.&lt;br /&gt;
&lt;br /&gt;
В качестве примера попробуем реализовать режим ''freeplay'' - продолжение игры после уничтожения О-Сознания. Для этого нужно создать как минимум две точки — возврат на ЧАЭС-1 со внутреннего дворика (после уничтожения О-Сознания) и переход из ЧАЭС-1 в Припять. К слову сказать, если вернуться на ЧАЭС-1, то там будет продолжать действовать таймер &amp;quot;выброса&amp;quot;, который в конце-концов включит &amp;quot;deadzone&amp;quot;. Отключить счетчик мне пока не удалось, но зато можно легко отключить сам &amp;quot;выброс&amp;quot; и всласть побегать по уровню.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Часть 1. Генерация работающего LEVEL_CHANGER ==&lt;br /&gt;
&lt;br /&gt;
Стандартной функции alife():create(…) недостаточно для создания полноценного level_changer. Собственно методика создания сложных объектов описана в статье [[Один из методов спавна]]. Сложность заключалась лишь в порядке полей и свойствах Shape. Неоценимую помощь в этом вопросе оказала утилита ACDC (created by bardak).&lt;br /&gt;
&lt;br /&gt;
Ниже я привожу код функции, которая создает и инициализирует level_changer:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function create_level_changer(&lt;br /&gt;
	p_story_id,	-- STORY_ID нового level_changer (понадобится нам позже)&lt;br /&gt;
	p_position,	-- вектор, координаты точки, в которой будет располагаться центр нового level_changer&lt;br /&gt;
	p_lvertex_id,	-- level_vertext_id  - идентифицируют уровень, на котором будет создан level_changer&lt;br /&gt;
	p_gvertex_id,	-- game_vertext_id   	&lt;br /&gt;
&lt;br /&gt;
	p_gest_lv,	-- level_vertex_id   - идентифицируют уровень, на который level_changer будет перебрасывать игрока &lt;br /&gt;
	p_dest_gv,	-- game_vertex_id&lt;br /&gt;
	p_dest_pos,	-- координаты точки, в которой на новом уровне окажется игрок&lt;br /&gt;
	p_dest_dir,	-- направрение взгляда игрока&lt;br /&gt;
	p_dest_level,	-- название уровня, например &amp;quot;L11_Pripyat&amp;quot;&lt;br /&gt;
	p_silent	-- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход)&lt;br /&gt;
)&lt;br /&gt;
	local obj = alife():create(&amp;quot;level_changer&amp;quot;, p_position, p_lvertex_id, p_gvertex_id)&lt;br /&gt;
&lt;br /&gt;
	level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	local packet = net_packet()&lt;br /&gt;
	obj:STATE_Write(packet)&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_object&lt;br /&gt;
	local game_vertex_id 			= packet:r_u16()&lt;br /&gt;
	local cse_alife_object__unk1_f32 	= packet:r_float()&lt;br /&gt;
	local cse_alife_object__unk2_u32 	= packet:r_u32()&lt;br /&gt;
	local level_vertex_id 			= packet:r_u32()&lt;br /&gt;
	local object_flags 			= packet:r_u32()&lt;br /&gt;
	local custom_data 			= packet:r_stringZ()&lt;br /&gt;
	local story_id 				= packet:r_u32()&lt;br /&gt;
	local spawn_story_id			= packet:r_u32()&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_shape&lt;br /&gt;
	local shape_count 			= packet:r_u8()&lt;br /&gt;
	for i=1,shape_count do&lt;br /&gt;
		local shape_type 		= packet:r_u8()&lt;br /&gt;
		if shape_type == 0 then&lt;br /&gt;
			-- sphere&lt;br /&gt;
			local center 		= packet:r_vec3()&lt;br /&gt;
			local radius 		= packet:r_float()&lt;br /&gt;
		else&lt;br /&gt;
			-- box&lt;br /&gt;
			local axis_x_x = packet:r_float()&lt;br /&gt;
			local axis_x_y = packet:r_float()&lt;br /&gt;
			local axis_x_z = packet:r_float()&lt;br /&gt;
			local axis_y_x = packet:r_float()&lt;br /&gt;
			local axis_y_y = packet:r_float()&lt;br /&gt;
			local axis_y_z = packet:r_float()&lt;br /&gt;
			local axis_z_x = packet:r_float()&lt;br /&gt;
			local axis_z_y = packet:r_float()&lt;br /&gt;
			local axis_z_z = packet:r_float()&lt;br /&gt;
			local offset_x = packet:r_float()&lt;br /&gt;
			local offset_y = packet:r_float()&lt;br /&gt;
			local offset_z = packet:r_float()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_alife_space_restrictor&lt;br /&gt;
	local restrictor_type 			= packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
	-- свойства cse_level_changer&lt;br /&gt;
	local dest_game_vertex_id		= packet:r_u16()  &lt;br /&gt;
	local dest_level_vertex_id 		= packet:r_u32()  &lt;br /&gt;
	local dest_position 			= packet:r_vec3()&lt;br /&gt;
	local dest_direction 			= packet:r_vec3()&lt;br /&gt;
	local dest_level_name 			= packet:r_stringZ()&lt;br /&gt;
	local dest_graph_point 			= packet:r_stringZ()&lt;br /&gt;
	local silent_mode 			= packet:r_u8()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	packet:w_begin(game_vertex_id)			-- game_vertex_id&lt;br /&gt;
	packet:w_float(cse_alife_object__unk1_f32)&lt;br /&gt;
	packet:w_u32(cse_alife_object__unk2_u32) &lt;br /&gt;
	packet:w_u32(level_vertex_id)			-- level_vertex_id&lt;br /&gt;
	packet:w_u32( bit_not(193) )			-- object_flags = -193 = 0xFFFFFF3E&lt;br /&gt;
	packet:w_stringZ(custom_data)&lt;br /&gt;
	packet:w_u32(p_story_id)			-- story_id&lt;br /&gt;
	packet:w_u32(spawn_story_id)&lt;br /&gt;
&lt;br /&gt;
	packet:w_u8(1)			-- количество фигур&lt;br /&gt;
--		packet:w_u8(0)			-- тип фигуры: сфера&lt;br /&gt;
--		packet:w_vec3(vector():set(0, 0, 0))  -- sphere_center&lt;br /&gt;
--		packet:w_float(3.0)&lt;br /&gt;
	packet:w_u8(1)			-- тип фигуры: box&lt;br /&gt;
	packet:w_float(2)	   -- axis_x_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_x_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_x&lt;br /&gt;
	packet:w_float(4)	   -- axis_y_y&lt;br /&gt;
	packet:w_float(0)	   -- axis_y_z&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_x&lt;br /&gt;
	packet:w_float(0)	   -- axis_z_y&lt;br /&gt;
	packet:w_float(4)	   -- axis_z_z&lt;br /&gt;
	packet:w_float(0)	   -- offset_x&lt;br /&gt;
	packet:w_float(0)	   -- offset_y&lt;br /&gt;
	packet:w_float(0)          -- offset_z&lt;br /&gt;
&lt;br /&gt;
	packet:w_u8(3)	 	   -- restrictor_type&lt;br /&gt;
&lt;br /&gt;
	packet:w_u16(p_gest_gv)			-- destination game_vertex_id&lt;br /&gt;
	packet:w_u32(p_dest_lv)			-- destination level_vertex_id&lt;br /&gt;
	packet:w_vec3(p_dest_pos)		-- destination position&lt;br /&gt;
	packet:w_vec3(p_dest_dir)		-- destination direction (направление взгляда)&lt;br /&gt;
	packet:w_stringZ(p_dest_level)		-- destination level name&lt;br /&gt;
	packet:w_stringZ(&amp;quot;start_actor_99&amp;quot;)	-- some string, always const&lt;br /&gt;
	packet:w_u8(p_silent)			-- 1 for silent level changing&lt;br /&gt;
&lt;br /&gt;
	packet:r_seek(0)&lt;br /&gt;
	obj:STATE_Read(packet, packet:w_tell())&lt;br /&gt;
&lt;br /&gt;
--	news_manager.send_tip(db.actor, &amp;quot;LC creation finished&amp;quot;, nil, nil, 30000)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''Для shape типа &amp;quot;box&amp;quot; загрузка координат методом packet:r_matrix() окончилась неудачей. Я подозреваю, что не был прочитан вектор &amp;quot;offset&amp;quot;, но точной уверенности нет, поэтому пока остановился на покомпонентной выборке и сохранении координат.''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Часть 2. '''Создание точек перехода''' ==&lt;br /&gt;
&lt;br /&gt;
Теперь следует написать функции создания нужных точек перехода и подключить их к игре. Сами функции просты:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
function exit_monolit()&lt;br /&gt;
	if (not has_alife_info(&amp;quot;freeplay_activated1&amp;quot;)) then&lt;br /&gt;
		create_level_changer(11410, vector():set(-13.26, 47.71, 46.57), 200, 2417,&lt;br /&gt;
			2384,&lt;br /&gt;
			162109,&lt;br /&gt;
			vector():set( 375.615, 0.224, 27.737 ),&lt;br /&gt;
			vector():set(     0.0, 0.0  ,  0.0 ),&lt;br /&gt;
			&amp;quot;L12_Stancia&amp;quot;,&lt;br /&gt;
			1)&lt;br /&gt;
	&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;freeplay_activated1&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	create_chaes2pripyat_exit()&lt;br /&gt;
&lt;br /&gt;
	-- актер перебрасывается в level_changer, возвращающий его на ЧАЭС, ко входу в бункер&lt;br /&gt;
	db.actor:set_actor_position( vector():set(-13.26, 47.71, 46.57) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function refuze_o_sozn()&lt;br /&gt;
	if (not has_alife_info(&amp;quot;freeplay_activated2&amp;quot;)) then&lt;br /&gt;
		create_level_changer(21410, vector():set(946.872, 6.0, 167.66), 240852, 2637,&lt;br /&gt;
			2280,&lt;br /&gt;
			472710,&lt;br /&gt;
			vector():set( 1062.15, -0.0982, -3.512 ),&lt;br /&gt;
			vector():set(    0.0 ,  0.0   , -1.0 ),&lt;br /&gt;
			&amp;quot;L12_Stancia&amp;quot;,&lt;br /&gt;
			1)&lt;br /&gt;
	&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;freeplay_activated2&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	create_chaes2pripyat_exit()&lt;br /&gt;
&lt;br /&gt;
	-- актер перебрасывается в level_changer, возвращающий его к правым воротам ЧАЭС&lt;br /&gt;
	db.actor:set_actor_position( vector():set(946.872, 6.0, 167.66) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function create_chaes2pripyat_exit()&lt;br /&gt;
	-- создается переход из ЧАЭС в Припять&lt;br /&gt;
	if (not has_alife_info(	&amp;quot;exit_chaes2pripyat_created&amp;quot; )) then&lt;br /&gt;
		create_level_changer(31410, vector():set( 917.35, 0.419, -316.35 ), 403866, 2401,&lt;br /&gt;
			2117,&lt;br /&gt;
			73868,&lt;br /&gt;
			vector():set( 31.3, 3.0, 240.0 ),&lt;br /&gt;
			vector():set(  0.0, 0.0,  -1.0 ),&lt;br /&gt;
			&amp;quot;L11_Pripyat&amp;quot;,&lt;br /&gt;
			0)&lt;br /&gt;
&lt;br /&gt;
		db.actor:give_info_portion(&amp;quot;exit_chaes2pripyat_created&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''Функцию '''exit_monolit''' я создал исключительно для тестирования, но решил оставить и тут. Вдруг кто-то захочет реализовать более сложный возврат: Меченого грузят в &amp;quot;грузовик смерти&amp;quot; и он снова приходит в себя на кордоне...''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функция '''exit_monolit''' создает «тихий» переход на уровень ЧАЭС-1 и обычный - в начале уровня ЧАЭС-1 для возврата в Припять, после чего перебрасывает актера прямо внутрь созданного перехода. Функция '''refuze_o_sozn''' делает тоже самое, только игрок появляется перед воротами в правом верхем углу карты (мне кажется, что так более логично). Все телепорты защищаются уникальными info_portions, дабы избежать их повторного создания, ведь игрок может захотеть «закончить» игру несколько раз.&lt;br /&gt;
&lt;br /&gt;
Теперь подключение.&lt;br /&gt;
Во-первых надо добавить новые info-portions. Я решил не изменять оригинальные файлы игры, а сделал для них (ну и для других тоже) отдельный файл&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		config\gameplay\_info_sa.xml&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
следующего вида:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;windows-1251&amp;quot; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;game_information_portions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;freeplay_activated1&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;freeplay_activated2&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&amp;lt;info_portion id=&amp;quot;exit_chaes2pripyat_created&amp;quot;&amp;gt;&amp;lt;/info_portion&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;/game_information_portions&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в этот файл можно будет добавлять новые info_portion, которые вы будете использовать в своих сюжетах.&lt;br /&gt;
Подключается этот файл в system.ltx в секции «info_portions»:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[info_portions]&lt;br /&gt;
;список xml файлов, содержащих info_portions&lt;br /&gt;
files = _info_sa, info_portions, ....................&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Кстати, именно так я рекомендую добавлять новые диалоги и новых персонажей. Это упростит процессы совмещения модов и аддонов.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Следующий шаг - подключение наших скриптов к игре. Для этого откройте файл &lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		config\ui\ui_movies.xml&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
найдите элементы «''mov_desire_''» (их пять, по количеству ложных концовок игры - все варианты общения с Монолитом). Внутри каждого элемента есть дочерние элементы «''function_on_stop''», которые задают функцию, запускающуюся сразу после ролика. Стандартное содержимое:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Функция '''xr_effects.game_credits''' запускает финальные титры. Именно ее и нужно заменить на вызов нашей функции _freeplay_sa.exit_monolit. Вот что должно получиться:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		&amp;lt;function_on_stop&amp;gt;_freeplay_sa.exit_monolit&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;!-- original:	&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;  --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
''Старый элемент я советую не удалять, а закомментировать.''&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чуть ниже «''mov_desire_5''» находится тэг ролика для концовки «Присоединение к О-Сознанию». Его мы трогать не будем - Меченый станет медузой. А вот после него - тэг для ролика «Отказ от О-Сознания»: «''mov_refuse_osoznanie''». Функцию завершения в нем заменим следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		&amp;lt;function_on_stop&amp;gt;_freeplay_sa.refuze_o_sozn&amp;lt;/function_on_stop&amp;gt;&lt;br /&gt;
&amp;lt;!-- original:	&amp;lt;function_on_stop&amp;gt;xr_effects.game_credits&amp;lt;/function_on_stop&amp;gt;  --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно запускать и, если есть сохранения перед монолитом и/или о-сознанием, тестировать. Первые переходы срабатывают «тихо» - запрос на смену уровня не выдается (в параметре p_silent задана 1). До перехода в Припять можно успеть добежать, пока не сработал выброс... Но это как-то неправильно, выброс надо остановить (он же произошел, пока мы были внутри станции). «По-честному» (скриптом, без модификации ''all.spawn'') таймер выброса отключить не получится, но зато выброс можно подавить небольшим «хаком». Найдите файл xr_logic.script, а в нем - функцию '''switch_to_section'''. Ее нужно модифицировать следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-- Выполняет переключение на указанную секцию, если задана.&lt;br /&gt;
-- Если section == nil, остается работать старая секция.&lt;br /&gt;
function switch_to_section(npc, st, section)&lt;br /&gt;
  if section == nil or section == &amp;quot;&amp;quot; then&lt;br /&gt;
    return false&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- 15.03.2008 by SA:&lt;br /&gt;
  -- отключает &amp;quot;смертельные зоны&amp;quot; на ЧАЭС после запуска режима FREEPLAY&lt;br /&gt;
  -- 	таймер не отключается, но сам &amp;quot;выброс&amp;quot; не происходит&lt;br /&gt;
  if (section == &amp;quot;sr_aes_deadzone&amp;quot;) then&lt;br /&gt;
	if (has_alife_info(&amp;quot;freeplay_activated1&amp;quot;) or has_alife_info(&amp;quot;freeplay_activated2&amp;quot;)) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  ... далее без изменений ...&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Данный способ оставляет висящий на нулях таймер и все эффекты начала выброса, но сам «''выброс''» отключается.&lt;br /&gt;
&lt;br /&gt;
И последнее: переход ЧАЭС1-Припять необходимо отметить на карте. Для этого существует вполне «легальный» механизм. Находим файл '''level_tasks.script''' и в конце функции '''add_lchanger_location''' дописываем следующее:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
		-- aes (++16.03.2008 by SA):&lt;br /&gt;
		obj = sim:story_object(31410)&lt;br /&gt;
		if obj then&lt;br /&gt;
			level.map_add_object_spot(obj.id, &amp;quot;level_changer&amp;quot;, &amp;quot;To Pripyat&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь 31410 - story_id нашего level_changer, который создается нашей функцией '''create_chaes2pripyat_exit'''.&lt;br /&gt;
&lt;br /&gt;
На этом пока все (мелкие огрехи типа направления взгляда игрока после смены уровня исправлю позже).&lt;br /&gt;
Прошу тестировать и дополнять.&lt;br /&gt;
&lt;br /&gt;
С уважением, sarthur.&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>HikeR</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%B8_%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2_%D0%B2_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D0%BE%D0%B9_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82</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%B8_%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2_%D0%B2_%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D0%BE%D0%B9_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82"/>
				<updated>2008-05-30T15:26:31Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Создание Видеофайлов для игры S.T.A.L.K.E.R.'''&lt;br /&gt;
&lt;br /&gt;
Для начала на компьютере должен быть установлен  видео-кодек ''FFdshow''. Взять его можно на [http://sourceforge.net/projects/ffdshow/ Официальном сайте] или скачать в комплекте с [http://www.codecguide.com/index.html K-Lite Codec Pack] &lt;br /&gt;
Затем нам потребуется программа ''VirtualDub''. Версия может быть любая (у меня 1.4.7)&amp;lt;br /&amp;gt;&lt;br /&gt;
http://i.piccy.kiev.ua/i2/9d/ad/21b93a5802db5c09deb96ca9c9b8.jpeg&lt;br /&gt;
&lt;br /&gt;
Ну и на конец, нам нужно видео которое мы хотим засунуть в игру (в формате AVI или MPEG)&lt;br /&gt;
&lt;br /&gt;
Приступим.&lt;br /&gt;
&lt;br /&gt;
'''1.'''	Выбираем видео '''(File – Open video file…)'''. Видео загрузится в программу и на рабочей области будут видны кадры из него.&lt;br /&gt;
&lt;br /&gt;
'''2.'''	Файл не должен содержать звуковой дорожки, по этому убираем её '''(Audio – No audio)'''&lt;br /&gt;
 &lt;br /&gt;
'''3.'''	Теперь самое интересное. Выбираем видео кодек '''(Video - Compression…)'''. Из списка возможных Выбираем '''FFdshow Video Codec''' и нажимаем кнопку '''Configure'''&amp;lt;br /&amp;gt;&lt;br /&gt;
http://i.piccy.kiev.ua/i2/6e/4d/44db1ae7a875e7b28fdc696c856e.jpeg&lt;br /&gt;
&lt;br /&gt;
'''4.'''	Выбираем вкладку ''Encoder''. В выпадающем списке '''Encoder''' должен быть указан кодек '''Theora'''. '''FOURCC – THEO'''. От величины '''Bitrate''' зависит размер и качество видео, на мой взгляд лучше всего выставить значение в 2000 (размер будет нормальный). Что бы не нагружать Игру при воспроизведении видео значение '''one pass – average bitrate''' лучше не трогать. Задайте значение '''Maximum I frame interval''' равным ''100'' (во избежание появления артефактов) и поставьте галочку в '''High quality'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
http://i.piccy.kiev.ua/i2/aa/ae/c6355ce8b6c28e764dde76cbcd34.jpeg&lt;br /&gt;
&lt;br /&gt;
'''5.'''	Слева щелкаем по ''Output''. ''Снимаем'' галочку в '''Store frames to AVI''' и ''ставим'' её в '''Store frames to external file'''. В выпадающем списке напротив выбираем '''OGG (works with Theora only)'''. Нажимаем кнопочку '''«…»''' и указываем папку в которой будет создан файл (не забудьте приписать после точки расширение .ogm). Настройка завершена нажимаем '''«OK»'''&amp;lt;br /&amp;gt;&lt;br /&gt;
http://i.piccy.kiev.ua/i2/bb/29/502505684e259dd5185f70976425.jpeg&lt;br /&gt;
&lt;br /&gt;
'''6.'''	В меню '''Select video compression''' нажимаем '''OK'''. Затем начинаем  обработку '''(File – Save as AVI),''' выбираем папку в которую будет ''создан файл-пустышка'' и нажимаем «'''Сохранить'''». Все. Через некоторое время в заданной папке мы получим OGM-файл который признает S.T.A.L.K.E.R.&amp;lt;br /&amp;gt;&lt;br /&gt;
http://i.piccy.kiev.ua/i2/82/a8/9a1efc33fdf931723e9077fec3f6.jpeg&lt;br /&gt;
&lt;br /&gt;
'''P.S.:'''  Как засунуть в игр? – подредактировать файл '''ui_movies.xml'''. Он лежит в папке gamedata\config\ui\.&lt;br /&gt;
&lt;br /&gt;
'''P.P.S.:''' А что со звуком? – в том же файле, в строке &amp;lt;sound&amp;gt;путь_до_файла_от_папки_sound_без_расштрения&amp;lt;sound&amp;gt; указывем нужный файл (''прим.:'' &amp;lt;sound&amp;gt;characters_voice\scenario\video\thq_logo_audio&amp;lt;/sound&amp;gt;). В папке должно лежать два файла в формате OGG. Они должны быть названы одинаково, но в конце перед расширением надо поставить либо «_L», либо «_R» (Левый и Правый канал соответственно) [''прим.:'' thq_logo_audio_l и thq_logo_audio_r]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4</id>
		<title>Настройка логики. Часть 4</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4"/>
				<updated>2008-05-30T11:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Часть 4» переименована в «Настройка логики. Часть 4»: все.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Шаблон:Настройка логики}}&lt;br /&gt;
&lt;br /&gt;
==3.10.3. Схема работы прожектора:==&lt;br /&gt;
&lt;br /&gt;
В точках look пути, в которые смотрит прожекторщик, нужно прописать&lt;br /&gt;
sl=имя_прожектора&lt;br /&gt;
&lt;br /&gt;
Например&lt;br /&gt;
wp00|sl=esc_sl1&lt;br /&gt;
&lt;br /&gt;
Тогда при повороте в эту точку персонаж повернет в нее и прожектор.&lt;br /&gt;
&lt;br /&gt;
==3.10.4. Кодовые замки:==&lt;br /&gt;
&lt;br /&gt;
При введении указанного кода выдает инфопоршн&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = ph_code@lock&lt;br /&gt;
&lt;br /&gt;
[ph_code@lock]&lt;br /&gt;
code = 1243&lt;br /&gt;
on_code = %+infoportion%&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\ph_code.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.10.5. Ph_gate:==&lt;br /&gt;
&lt;br /&gt;
	То же самое, что и ph_door, но для ворот, состоящих из двух дверей:&lt;br /&gt;
Вместо параметров closed и locked сейчас используются параметры:&lt;br /&gt;
state: состояние, в котором дверь находится при инициализации (по умолчанию none)&lt;br /&gt;
    	open - в открытом&lt;br /&gt;
closed - в закрытом&lt;br /&gt;
  	none - в текущем (дефолтном или оставшемся от предыдущей схемы)&lt;br /&gt;
&lt;br /&gt;
locking: блокировка дверей (по умолчанию none)&lt;br /&gt;
stick - прилипание дверей к крайним состояниям (пока в процессе настройки)&lt;br /&gt;
&lt;br /&gt;
soft - дверь заблокирована с помощью силы, т.е. можно ее открыть/пробить машиной&lt;br /&gt;
Состояния в этом положении:&lt;br /&gt;
   		open - блокировать в открытом состоянии&lt;br /&gt;
            	closed - в закрытом&lt;br /&gt;
none - не используется (мягкая блокировка возможна только в крайних положениях) &lt;br /&gt;
&lt;br /&gt;
hard - блокировка двери с помощью границ. Ворота можно только сломать&lt;br /&gt;
Состояния в этом положении:&lt;br /&gt;
            	open - блокировать в открытом состоянии&lt;br /&gt;
            	closed - в закрытом&lt;br /&gt;
            none - в текущем&lt;br /&gt;
    	&lt;br /&gt;
none - дверь не заблокирована&lt;br /&gt;
&lt;br /&gt;
Общие параметры:&lt;br /&gt;
left_limit, right_limit - задают угол [0-180] открытия каждой из створок ворот. По умолчанию - 100 градусов. &lt;br /&gt;
breakable - (true/false) определяет можно ли сломать ворота. По умолчанию true.&lt;br /&gt;
&lt;br /&gt;
Звуковые параметры аналогичны ph_door&lt;br /&gt;
    &lt;br /&gt;
Примеры:&lt;br /&gt;
[ph_gate@locked] ;блокировка в открытом состоянии, неразбиваемые.&lt;br /&gt;
state = opened&lt;br /&gt;
locking = soft&lt;br /&gt;
left_limit = 130&lt;br /&gt;
rigt_limit = 60&lt;br /&gt;
breakable = false&lt;br /&gt;
&lt;br /&gt;
[ph_gate@opened]&lt;br /&gt;
state = opened&lt;br /&gt;
locking = stick&lt;br /&gt;
&lt;br /&gt;
[ph_gate@closed]&lt;br /&gt;
state = closeded&lt;br /&gt;
&lt;br /&gt;
	Файл: \gamedata\scripts\ph_gate.script&lt;br /&gt;
&lt;br /&gt;
==3.10.6. Ph_sound==&lt;br /&gt;
&lt;br /&gt;
Прописывается у физического объекта какие звуки он выдает (изначально планировался как матюгальник).&lt;br /&gt;
&lt;br /&gt;
[ph_sound]&lt;br /&gt;
snd = имя темы из файла sound_theme.script из таблицы ph_snd_themes&lt;br /&gt;
*looped = true/false зацикленое воспроизведение звука (default - false)&lt;br /&gt;
*min_idle = минимальное время простоя перед включением звука (мс)&lt;br /&gt;
*max_idle = максимальное время простоя перед включением звука (мс)&lt;br /&gt;
*random = true/false (def - false). Если = true, то из темы будет выбран рандомный звук и таким образом звуки будут играться до посинения&lt;br /&gt;
&lt;br /&gt;
NB! Если мы задаем random = true и looped = true, то версия сыпется&lt;br /&gt;
&lt;br /&gt;
Также поддерждивается кондлист.&lt;br /&gt;
Данная схема работает через задницу, поэтому зацикленный звук будет продолжать отыгрываться, даже если объект уходит в nil. В связи с этим надо создавать новую секцию, которая бы отыгрывала одиночный короткий звук, после которого (поскольку он будет точно также играться раз за разом) ставим on_signal = sound_end| nil&lt;br /&gt;
&lt;br /&gt;
Пример подобной извращенной логики:&lt;br /&gt;
[logic]&lt;br /&gt;
active = ph_sound&lt;br /&gt;
&lt;br /&gt;
[ph_sound]&lt;br /&gt;
snd = gar_seryi_shooting&lt;br /&gt;
looped = true&lt;br /&gt;
max_idle = 5000&lt;br /&gt;
on_actor_in_zone = gar_seryi_factory| ph_sound@end&lt;br /&gt;
&lt;br /&gt;
[ph_sound@end]&lt;br /&gt;
snd = gar_seryi_shooting_2&lt;br /&gt;
looped = false&lt;br /&gt;
on_signal = sound_end| nil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	Кроме того специфическим образом создается звуковая схема.&lt;br /&gt;
В sound_theme.script  в начале файла есть секция ph_themes в которой и описываются темы для физ объектов. &lt;br /&gt;
Например:&lt;br /&gt;
ph_snd_themes[&amp;quot;gar_seryi_shooting&amp;quot;]	= {[[characters_voice\human_01\scenario\garbage\distance_shooting]]}&lt;br /&gt;
&lt;br /&gt;
Кроме того (незадекларированная фича) ph_sound можно вешать на рестрикторы. Но за правильность работы в таком случае никто ответственности не несет.&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\ph_sound.script&lt;br /&gt;
&lt;br /&gt;
==3.10.7. Ph_force==&lt;br /&gt;
&lt;br /&gt;
	Схема позволяет пнуть предмет в указанную сторону. Прописывается в кастом дате предмета.&lt;br /&gt;
&lt;br /&gt;
	force = сила, которая прикладывается к объекту. Измеряется в убитых енотах&lt;br /&gt;
	time = время прикладывания силы к предмету (в секундах)&lt;br /&gt;
	*delay = задержка (в секундах) перед применением силы&lt;br /&gt;
	point =  имя патрульного пути, точки которого будут использованы как цели (куда направлять предмет)&lt;br /&gt;
	point_index = индекс точки патрульного пути, в стону которого полетит предмет.&lt;br /&gt;
&lt;br /&gt;
==3.10.8. Ph_on_death==&lt;br /&gt;
&lt;br /&gt;
Схема для отслеживания разрушения физического объекта и выдавания по такому случаю различных эффектов&lt;br /&gt;
  Пример:&lt;br /&gt;
&lt;br /&gt;
  [logic]&lt;br /&gt;
  active = ph_on_death&lt;br /&gt;
&lt;br /&gt;
  [ph_on_death]&lt;br /&gt;
  on_info = %эффекты%&lt;br /&gt;
&lt;br /&gt;
  Юзать исключительно с разрушаемыми физ. Объектами&lt;br /&gt;
&lt;br /&gt;
==3.10.9. Ph_car==&lt;br /&gt;
&lt;br /&gt;
Настройка возможности игроку управлять машиной.&lt;br /&gt;
  секция: [ph_car]&lt;br /&gt;
  поле:   usable = &amp;lt;condlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  usable - кондлист возвращающий true (по умолчанию) или false.&lt;br /&gt;
&lt;br /&gt;
  Пример:&lt;br /&gt;
  [logic]&lt;br /&gt;
  active = ph_car&lt;br /&gt;
&lt;br /&gt;
  [ph_car]&lt;br /&gt;
  usable = {+val_actor_has_car_key}&lt;br /&gt;
&lt;br /&gt;
На основе этой схемы можно сделать машину, которая зведется только если у актера есть ключ именно от нее. &lt;br /&gt;
&lt;br /&gt;
==3.10.10. Ph_heavy==&lt;br /&gt;
Прописывается в физ объектах, которые запрещены для швыряния бюрерам и полтергейстам. Например, если они должны лежать на конкретном месте (типа документов сюжетных) или слишком громоздки по габаритам, чтобы их можно было красиво кидать.&lt;br /&gt;
В кастом дате пишем:&lt;br /&gt;
&lt;br /&gt;
[ph_heavy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.10.11. Ph_oscillate==&lt;br /&gt;
Схема предназначена для плавного раскачивания физики (лампы, висящие зомби и т.д.)&lt;br /&gt;
  Пример логики&lt;br /&gt;
&lt;br /&gt;
  [ph_oscillate]&lt;br /&gt;
  joint = provod   - имя кости к которой будет применена сила&lt;br /&gt;
  force = 5         - собственно сила (в ньютонах)&lt;br /&gt;
  period = 1000    - время прикладывания силы.&lt;br /&gt;
&lt;br /&gt;
  Сила прикладывается к кости объекта с линейным наростанием. То есть в течении заданого периода времени сила вырастет с 0 до заявленого значения. После этого настает пауза (сила не применяется) на время period/2. После окончания паузы сила применяется так же, как и в начале, но в обратном направлении.&lt;br /&gt;
&lt;br /&gt;
==3.11. Смарттерейны и гулаги.==&lt;br /&gt;
==3.11.1. Смарттеррейн.==&lt;br /&gt;
Под смарттеррейном мы понимаем зону, зайдя в которую, сталкер на некоторое время попадает под гулаг и начинает выполнять работу, предусмотренную этим гулагом. После некоторого времени он выходит из-под гулага и ходит свободно.&lt;br /&gt;
&lt;br /&gt;
Как поставить smart terrain?&lt;br /&gt;
Для всех smart terrain нужно:&lt;br /&gt;
1)	Поставить smart terrain с необходимым shape. Большой shape не рекомендуется (размер влияет на производительность).&lt;br /&gt;
2)	В его custom data прописать настройки.&lt;br /&gt;
3)	Расставить пути для соответствующих схем поведения. &lt;br /&gt;
&lt;br /&gt;
Параметры custom data:&lt;br /&gt;
 [gulag1] &lt;br /&gt;
type = тип гулага&lt;br /&gt;
capacity = макс. вместимость в людях&lt;br /&gt;
*offline = может ли гулаг образоваться в offline (true(по дефолту)/false)&lt;br /&gt;
*squad = squad, который будет проставлен всем сталкерам под гулагом (№ уровня)&lt;br /&gt;
*groups = набор group через запятые&lt;br /&gt;
*stay = min, max время пребывания npc под smart_terrain (по умлочанию – навсегда)&lt;br /&gt;
*idle = min, max время бездействия smart_terrain после ухода последнего npc&lt;br /&gt;
*cond = список условий, которые необходимы для создания гулага {+info –info =func !func} – если условие не выполняется, то гулаг распускается, а все его подопечные начинают управляться прописанной в custom_data логикой.&lt;br /&gt;
&lt;br /&gt;
Указывать тип гулага нужно без кавычек.&lt;br /&gt;
Если не задан squad или groups, то соответствующие свойства сталкеров не будут изменяться.&lt;br /&gt;
Все времена задаются в часах игрового времени и могут быть дробными.&lt;br /&gt;
&lt;br /&gt;
Пути:&lt;br /&gt;
Имена путей для схем поведения всегда должны начинаться с имени данного smart terrain. Например, esc_smart_ambush_vagon_sleep.&lt;br /&gt;
&lt;br /&gt;
Если пути для smart terrain на нескольких человек (campers, walkers), то их имена должны заканчиваться всегда на цифру (esc_smart_ambush_vagon_walk1, esc_smart_ambush_vagon_walk2) &lt;br /&gt;
&lt;br /&gt;
Гулагов под одним smart terrain может быть несколько. Их можно настраивать в секциях [gulag2], [gulag3] и т.д. При входе сталкера под smart terrain будет случайно выбран один из доступных на данный момент гулагов.&lt;br /&gt;
&lt;br /&gt;
==3.11.1.1. Стандартные типы смарттеррейнов.==&lt;br /&gt;
&lt;br /&gt;
Если нужно, чтоб сталкер не захватывался, допишите ему в custom data следующую строку:&lt;br /&gt;
	[smart_terrains]&lt;br /&gt;
none = true&lt;br /&gt;
&lt;br /&gt;
Если сталкер уже под каким-то smart terrain, то остальные smart terrain он будет игнорировать.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
campers&lt;br /&gt;
Кемперы. custom data:&lt;br /&gt;
[gulag1]&lt;br /&gt;
type = campers&lt;br /&gt;
capacity = от 1 до 3&lt;br /&gt;
&lt;br /&gt;
Пути:&lt;br /&gt;
camper_walk1, camper_look1&lt;br /&gt;
camper_walk2, camper_look2&lt;br /&gt;
camper_walk3, camper_look3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
walkers&lt;br /&gt;
Ходячие. На базе этого можна сделать поиск, обыск и куча всего.&lt;br /&gt;
custom data:&lt;br /&gt;
[gulag1]&lt;br /&gt;
type = walkers&lt;br /&gt;
capacity = от 1 до 3&lt;br /&gt;
&lt;br /&gt;
Пути:&lt;br /&gt;
walker_walk1, walker_look1&lt;br /&gt;
walker_walk2, walker_look2&lt;br /&gt;
walker_walk3, walker_look3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
search&lt;br /&gt;
Ходячие. На базе этого можна сделать поиск, обыск и куча всего.&lt;br /&gt;
custom data:&lt;br /&gt;
[gulag1]&lt;br /&gt;
type = search&lt;br /&gt;
capacity = 1&lt;br /&gt;
&lt;br /&gt;
Пути:&lt;br /&gt;
search_walk, search_look&lt;br /&gt;
&lt;br /&gt;
Схема следующая:&lt;br /&gt;
1.	Персонаж ходит по точкам, смотрит по сторонам&lt;br /&gt;
2.	В определенных точках останавливается и что-то высматривает (caution, search, hide)&lt;br /&gt;
3.	При этом говорит определенные реплики (…)&lt;br /&gt;
&lt;br /&gt;
rest&lt;br /&gt;
Отдых. Сталкер по очереди то sleeper, то walker, то rest(ест еду, пьёт водку).&lt;br /&gt;
custom data:&lt;br /&gt;
[gulag1]&lt;br /&gt;
type = rest&lt;br /&gt;
capacity = 1&lt;br /&gt;
&lt;br /&gt;
Пути:&lt;br /&gt;
rest – путь из двух вершинок (возможно из 1). В одной сидит, в другую смотрит.&lt;br /&gt;
sleep - путь из двух вершинок (возможно из 1). В одной спит, в другую смотрит.&lt;br /&gt;
rest_walk, rest_look&lt;br /&gt;
&lt;br /&gt;
3.11.2. Гулаги.&lt;br /&gt;
Гулаг - средство объединения нескольких сталкеров под централизованным управлением. Основные особенности: &lt;br /&gt;
А) Есть список работ гулага. Работа - настроенная схема поведения (или цепочка схем поведения); &lt;br /&gt;
Б) Работы имеют приоритеты; &lt;br /&gt;
В) Гулаг назначает на работы сталкеров входящих в гулаг, начиная с работ с наивысшим приоритетом; &lt;br /&gt;
Г) Гулаг имеет состояния. Каждое состояние характеризуется своим набором работ, отличным от набора работ в любом другом состоянии гулага.&lt;br /&gt;
&lt;br /&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;
4. Ставится в редакторе количество людей, которые должны быть под гулагом, и накрываются зонкой smart_terrain (источник ошибок – иногда ставят space_restictor). Зонке нужно давать осмысленное название. Это же название будет являться префиксом к названием всех патрульных путей, относящихся к этому же гулагу. Например если вы назвали зонку esc_blockpost, то все патрульные пути должны начинаться с этого префикса, например esc_blockpost_guard_walk. В custom_data зоны необходимо прописать настройку гулага.&lt;br /&gt;
[gulag1] &lt;br /&gt;
type = тип гулага&lt;br /&gt;
capacity = макс. вместимость в людях&lt;br /&gt;
*offline = может ли гулаг образоваться в offline (true/false)&lt;br /&gt;
*squad = squad, который будет проставлен всем сталкерам под гулагом&lt;br /&gt;
*groups = набор group через запятые&lt;br /&gt;
*stay = min, max время пребывания npc под smart_terrain&lt;br /&gt;
*idle = min, max время бездействия smart_terrain после ухода последнего npc&lt;br /&gt;
*cond = список условий, которые необходимы для создания гулага {+info –info =func !func} – если условие не выполняется, то гулаг распускается, а все его подопечные начинают управляться прописанной в custom_data логикой.&lt;br /&gt;
*respawn = имя респауна (вызывает респаунер с заданым именем каждый раз, когда кто-то из самрттеррейна заступает на работу)&lt;br /&gt;
&lt;br /&gt;
Capacity нужно задавать всегда. Она может быть равна или меньше числа работ.&lt;br /&gt;
Указывать тип гулага нужно без кавычек.&lt;br /&gt;
Полем offline можно задать, чтоб гулаг не образовывался в офлайн. Т.е. существовать в офлайн он может, а образовываться – нет.&lt;br /&gt;
Если не задан squad или groups, то соответствующие свойства сталкеров не будут изменяться.&lt;br /&gt;
Все времена задаются в часах игрового времени и могут быть дробными.&lt;br /&gt;
&lt;br /&gt;
5. В скрипте \gamedata\scripts\gulag_название_уровня.script необходимо прописать условия, при которых сталкеры берутся под конкретный гулаг. В функцию checkNPC необходимо прописать условие:&lt;br /&gt;
	if gulag_type == &amp;quot;gar_dolg&amp;quot; then&lt;br /&gt;
	   return npc_community == &amp;quot;dolg&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
В эту функцию пока передается два параметра, тип гулага и комьюнити персонажа. В данном случае под гулаг с типом gar_dolg будут приниматься все персонажи, относящиеся к группировке Долг.&lt;br /&gt;
&lt;br /&gt;
6. В файле \gamedata\scripts\gulag_название_уровня.script необходимо описать переключение состояний гулага. &lt;br /&gt;
&lt;br /&gt;
function loadStates(gname, type)&lt;br /&gt;
в нее передается имя зонки и тип гулага. Состояние гулага описывается в виде функции, возвращающей номер состояния гулага. Например:&lt;br /&gt;
	if type == &amp;quot;gar_maniac&amp;quot; then&lt;br /&gt;
		return function(gulag)&lt;br /&gt;
			if level.get_time_hours() &amp;gt;= 7 and level.get_time_hours() &amp;lt;= 22 then&lt;br /&gt;
				return 0  -- день&lt;br /&gt;
			else&lt;br /&gt;
				return 1  -- ночь&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
В данном случае если сейчас между 7 и 22 часов, то гулаг находится в дневном состоянии, иначе в ночном.&lt;br /&gt;
&lt;br /&gt;
8. В файле \gamedata\scripts\gulag_название_уровня.script необходимо описать должности гулага. В функции loadJob загружаются все допустимые работы. В саму функцию передаются следующие параметры:&lt;br /&gt;
function loadJob(sj, gname, type, squad, groups)&lt;br /&gt;
sj – сама табличка работ гулагов,&lt;br /&gt;
gname – имя нашей зонки смар-тиррейна. Оно используется как префикс.&lt;br /&gt;
Type – тип гулага&lt;br /&gt;
Squad, groups – таблички сквадов и групп, если нам нужно переопределять родные группы сталкеров на какие либо другие. В каждой работе можно указать какой сквад и группа сетится сталкеру при установке на работу.&lt;br /&gt;
&lt;br /&gt;
Примерное описание работ гулага:&lt;br /&gt;
Данный гулаг описывает поведение только одного человека, обычно их гораздо больше. Данный человек в нулевом состоянии(день) делает одну работу, в первом состоянии(ночь) делает другую работу.&lt;br /&gt;
&lt;br /&gt;
	--' Garbage maniac&lt;br /&gt;
	if type == &amp;quot;gar_maniac&amp;quot; then&lt;br /&gt;
		t = { section = &amp;quot;logic@gar_maniac_camper&amp;quot;,&lt;br /&gt;
			idle = 0,&lt;br /&gt;
			prior = 5, state = {0},&lt;br /&gt;
			squad = squad, groups = groups[1],&lt;br /&gt;
			in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;,&lt;br /&gt;
			info_rest =  “”&lt;br /&gt;
		}&lt;br /&gt;
		table.insert(sj, t)		&lt;br /&gt;
		t = { section = &amp;quot;logic@gar_maniac_sleeper&amp;quot;,&lt;br /&gt;
			idle = 0,&lt;br /&gt;
			prior = 5, state = {1},&lt;br /&gt;
squad = squad, groups = groups[1],&lt;br /&gt;
			in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;,&lt;br /&gt;
			info_rest =  “”&lt;br /&gt;
		}&lt;br /&gt;
		table.insert(sj, t)		&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
Описание полей:&lt;br /&gt;
Idle – пауза между повторным выполнениями одного и того же задания. В данном случае паузы нет. Обычно пауза ставится на патруль.&lt;br /&gt;
Prior – приоритет задания. Сперва сталкеры занимают более приоритетные задания. Чем больше число, тем выше приоритет.&lt;br /&gt;
In_rest, out_rest   -  рестрикторы, которые устанавливаются персонажу на данное задание.&lt;br /&gt;
Section – секция в \gamedata\config\misc\gulag_название_уровня.ltx,  где указываются реальные настройки схемы поведения, которая соответствует текущей работе.&lt;br /&gt;
Group сталкера будет выбран из массива groups, который задан в custom data. Массив индексируется начиная с 1.&lt;br /&gt;
Info_rest – задает ся имя рестриктора и все денжеры снаружи этого рестриктора не попадают внутрь для человека, находящегося на этой работе&lt;br /&gt;
Также в описании работы может быть указаны дополнительные условия, при которых сталкер может занять данную работу. Например: &lt;br /&gt;
&lt;br /&gt;
predicate = function(obj) &lt;br /&gt;
        	return obj:profile_name() == &amp;quot;soldier_commander”			           &lt;br /&gt;
 end&lt;br /&gt;
то есть данную работу сможет выполнять лишь персонаж с профилем soldier_commander.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. В \gamedata\config\misc\gulag_название_уровня.ltx необходимо указать, какие схемы поведения соответсвуют той или иной работе. Например в случае с вышерассмотренным гулагом gar_maniac:&lt;br /&gt;
&lt;br /&gt;
;----------------------------&lt;br /&gt;
;-- GARBAGE MANIAC&lt;br /&gt;
;----------------------------&lt;br /&gt;
[logic@gar_maniac_camper]&lt;br /&gt;
active = camper@gar_maniac_camper&lt;br /&gt;
&lt;br /&gt;
[camper@gar_maniac_camper]&lt;br /&gt;
path_walk = walk1&lt;br /&gt;
path_look = look1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[logic@gar_maniac_sleeper]&lt;br /&gt;
active = sleeper@gar_maniac_sleeper&lt;br /&gt;
&lt;br /&gt;
[sleeper@gar_maniac_sleeper]&lt;br /&gt;
path_main = sleep&lt;br /&gt;
wakeable = true&lt;br /&gt;
&lt;br /&gt;
Настройка здесь соответствует настроке в обычной кастом дате сталкера, с разницей:&lt;br /&gt;
1)	пути следует указывать без префикса. То есть если зонка носила название gar_maniac, то пути следует на уровне ставить с названием gar_maniac_walk1, однако в gamedata\config\misc\gulag_название_уровня.ltx следует указывать только walk1.&lt;br /&gt;
2)	в именах секций схем поведения после @ добавлять название гулага и, возможно, дополнительные сведения (например, walker2@rad_antena_gate)&lt;br /&gt;
3)	в именах секций logic для каждой работы добавлять после @ имя гулага, дополнительные сведения и имя секции активной схемы поведения (например, logic@rad_antena_gate_walker2).&lt;br /&gt;
&lt;br /&gt;
В работах для гулагов поля leader больше нет. Есть поле dependent. Работа может быть занята только тогда, когда работа с именем dependent уже занята. Например, follower может быть назначен только тогода, когда уже кто-то назначен на работу лидера (имя работы лидера теперь в поле dependent). Естественно, что приоритет работ, от которых зависят другие, должен быть больше чем у них.&lt;br /&gt;
&lt;br /&gt;
==3.11.3. Новые особенности смарттеррейнов==&lt;br /&gt;
Возможности нового смарттеррейна (СТ):&lt;br /&gt;
&lt;br /&gt;
1) Не держит сталкеров постоянно в онлайне. Работает стандартный онлайн-радиус.&lt;br /&gt;
2) Сталкеры идут на ближайшие работы.&lt;br /&gt;
3) На места работ сталкеры идут независимо от того, в онлайне они или в оффлайне.&lt;br /&gt;
4) СТ в офлайне работает так же, как и в онлайне: выполняет переключение своих состояний, перераспределение работ.&lt;br /&gt;
5) Сталкерам можно прописать, при каких условиях в какие СТ они могут идти. (см. ниже) Если сталкер попал в СТ, то онбудет находится в нём, пока не истечёт время и выполняется условие.&lt;br /&gt;
6) Работы могут находиться на разных уровнях.&lt;br /&gt;
7) Скриптовая зона СТ теперь не используется для захвата персонажей.&lt;br /&gt;
8) Симуляция заключается в миграции персонажей между разными СТ.&lt;br /&gt;
&lt;br /&gt;
Что нужно переделать:&lt;br /&gt;
&lt;br /&gt;
1) Персонажи могут быть двух типов: либо для СТ, либо для самостоятельной работы под логикой из custom data. У первых логики в custom data не должно быть. У вторых должно быть прописано, что они не хотят ни в один СТ. (см ниже)&lt;br /&gt;
2) Нельзя под СТ отправлять сталкеров в nil. Вместо nil дайте им пути. Например, walker-ы в рестрикторе вместо nil в рестрикторе. (есть abort на такой случай)&lt;br /&gt;
3) Всех участников созданных сцен поставьте рядом с местами работ, а не в кучу. Так им не придётся полчаса разбредаться по местам работ: они сразу позанимают ближайшие. В custom data им пропишите, что до окончания сцены они могут быть только в этом СТ. (см. ниже)&lt;br /&gt;
4) Незначительно переделать функции predicate() и функции переключения состояния СТ. (см. ниже)&lt;br /&gt;
5) Проследите, чтоб под СТ в логиках в поле active было прописано только имя секции и ничего больше (никаких там процентов и фигурных скобок). Для персонажей не предназначенных под СТ это не играет роли.&lt;br /&gt;
6) Переименуйте в custom data СТ секцию [gulag1] в секцию [smart_terrain].&lt;br /&gt;
&lt;br /&gt;
------------- Настройки: -------------&lt;br /&gt;
&lt;br /&gt;
---- Разрешения персонажам идти в определённые СТ ----&lt;br /&gt;
&lt;br /&gt;
Разрешения персонажам идти в определённые СТ задаются в custom data секцией [smart_terrains]. В ней можно задавать пары &amp;quot;имя_СТ = condlist&amp;quot;. Пример:&lt;br /&gt;
&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
strn_1 = условие1&lt;br /&gt;
strn_2 = условие2&lt;br /&gt;
&lt;br /&gt;
Если для какого-то smart_terrain условие выполнилось, он называется эксклюзивным.&lt;br /&gt;
Если у объекта появился хоть один эксклюзивный smart terrain, то он будет согласен идти только в него.&lt;br /&gt;
Если не появилось ни одного эксклюзивного, то он согласен идти в любой.&lt;br /&gt;
&lt;br /&gt;
Есть зарезервированное сочетание &amp;quot;none=true&amp;quot;. Если оно указано, то персонаж никогда не пойдёт ни в один СТ. Такой персонаж будет работать только под своей логикой.&lt;br /&gt;
&lt;br /&gt;
Также можно задать, кого принимает СТ. В дополнение к старому механизму (функции checkNpc() в файлах gulag_*.script) можно в custom data СТ написать:&lt;br /&gt;
&lt;br /&gt;
communities = группирвка1, группировка2, ...&lt;br /&gt;
&lt;br /&gt;
Если это поле не задано, то проверяется старым механизмом. Если задано, то под СТ возьмутся только персонажи указанных группировок (учтите, старый механизм тоже вызовется).&lt;br /&gt;
&lt;br /&gt;
---- Изменение функций predicate() ----&lt;br /&gt;
&lt;br /&gt;
В эти функции вместо game_object будет передаваться табличка с информацией о персонаже. Там есть поля:&lt;br /&gt;
name&lt;br /&gt;
community&lt;br /&gt;
class_id&lt;br /&gt;
story_id&lt;br /&gt;
profile_name&lt;br /&gt;
&lt;br /&gt;
Если нужно, чтобы работа занималась только снайперами, то в предикате нужно писать:&lt;br /&gt;
&lt;br /&gt;
predicate = function(npc_info)&lt;br /&gt;
        return npc_info.is_sniper == true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---- Изменение функций переключения состояния СТ ----&lt;br /&gt;
&lt;br /&gt;
Обращайтесь индивидуально. Все переделки связаны с работой этой функции в офлайне. Например, таблица gulag.Object[] не содержит game_object-ы, если персонаж в офлайне и т.п.&lt;br /&gt;
&lt;br /&gt;
---- Состояния работ online/offline&lt;br /&gt;
&lt;br /&gt;
t = { section = &amp;quot;logic@ЧЧЧЧЧЧЧЧ&amp;quot;, &lt;br /&gt;
        idle = 0,&lt;br /&gt;
        prior = 5, state = {0}, squad = squad, group = groups[1],&lt;br /&gt;
        online = true,&lt;br /&gt;
        in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
table.insert(sj, t)&lt;br /&gt;
&lt;br /&gt;
Варианты задания этого поля&lt;br /&gt;
online = true - на этой работе персонаж всегда в онлайне,&lt;br /&gt;
online = false - на этой работе персонаж всегда в офлайне,&lt;br /&gt;
online не задано - на этой работе персонаж может прыгать онлайн&amp;lt;-&amp;gt;офлайн по своему усмотрению.&lt;br /&gt;
3.11.3.1. Более доступное описание новых смарттеррейнов&lt;br /&gt;
	Теперь о смарттерейнов для дизанеров, то есть не на LUA, а по-русски.&lt;br /&gt;
Для того, чтобы пренести смарттеррейн на новую схему, делаем следующее:&lt;br /&gt;
1. Пишем в кастом дате где [gulag1] -&amp;gt; [smart_terrain]&lt;br /&gt;
2. В кастом дате товарищей по смарттеррейну пишем &lt;br /&gt;
[smart_terrains]&lt;br /&gt;
sar_monolith_sklad(название гулага) = {кондлист} - если только в 1 смарттеррейн сталкер сможет прийти, то пишем true.&lt;br /&gt;
Если этот товарищ не должен работать под смарттеррейнами, то пишем ему в кастом дату.&lt;br /&gt;
[smart_terrains]&lt;br /&gt;
none = true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.12. Логика вертолёта&lt;br /&gt;
Общие сведения:&lt;br /&gt;
&lt;br /&gt;
Вертолёт работает на «логике».&lt;br /&gt;
На вертолёт реагируют аномалии.&lt;br /&gt;
Вертолёт не обрабатывает столкновения с геометрией и физикой пока он не сбит.&lt;br /&gt;
Попадания в область кабины, где сидит первый пилот, в десятки раз более болезненны для вертолёта.&lt;br /&gt;
 У вертолёта есть универсальная боевая схема на манер сталкеров.&lt;br /&gt;
Пилоты вертолета реагируют репликами на события: хит, видит врага, поврежден (задымился), падает.&lt;br /&gt;
&lt;br /&gt;
==3.12.1. Схема heli_move:==&lt;br /&gt;
Общие сведения:&lt;br /&gt;
Позволяет летать вертолёту по патрульному пути, регулировать скорость, зависать, стрелять по различным целям.&lt;br /&gt;
&lt;br /&gt;
Для схемы должен быть задан path_move – путь, по которому будет летать вертолёт. Он может содержать одну вершину, если нужно, чтоб вертолёт висел на месте.&lt;br /&gt;
&lt;br /&gt;
Можно (но не обязательно) задать path_look – путь, в вершины которого вертолет может смотреть.&lt;br /&gt;
&lt;br /&gt;
Вершины этих путей могут быть поставлены где угодно в пределах ограничивающего бокса уровня. Они не зависят от ai-nodes.&lt;br /&gt;
&lt;br /&gt;
По пути вертолёт летает без учёта связей между вершинами. Он летает от вершины к вершине в порядке возрастания их номера (т.е. в порядке, в котором их поставили на уровень). &lt;br /&gt;
&lt;br /&gt;
Вертолёт старается летать точно по вершинам пути. При желании можно сделать ювелирный пролёт под мостом.&lt;br /&gt;
&lt;br /&gt;
Вертолёт старается летать как можно быстрее. Пояснение: если ему задать, что в следующей вершине пути он должен иметь скорость 10 м/с, а его максимальная скорость установлена в 30 м/с, то он не станет сразу лететь 10 м/с. Он сначала будет разгоняться вплоть до 30 м/с и только на подлёте к целевой вершине начнёт тормозить с расчётом прибыть в неё имея 10 м/с.&lt;br /&gt;
 &lt;br /&gt;
Если в вершине пути path_move задан набор флажков, то вертолёт будет смотреть в любую из вершин path_look, в которых задан такой же набор флажков. Поворачиваться к этой точке вертолёт начнёт с предыдущей вершины пути. На данном этапе вертолет не может, зависнув в одном месте, смотреть поочередно в несколько точек path_look&lt;br /&gt;
&lt;br /&gt;
Настройки:&lt;br /&gt;
&lt;br /&gt;
*engine_sound = true/false (по умолчанию true)&lt;br /&gt;
Вкл/выкл звук двигателя вертолёта.&lt;br /&gt;
&lt;br /&gt;
*invulnerable = true/false (по умолчанию false)&lt;br /&gt;
Неуязвимость. Если true, вертолёт игнорирует все хиты.&lt;br /&gt;
&lt;br /&gt;
*immortal = true/false (по умолчанию false)&lt;br /&gt;
Бессмертие. Если true, вертолёт получает повреждения, но не умирает.&lt;br /&gt;
&lt;br /&gt;
*mute = true/false (по умолчанию false)&lt;br /&gt;
Отключает универсальные реплики пилотов вертолета.&lt;br /&gt;
&lt;br /&gt;
*rocket_delay = msec (время в миллисекундах реального времени)&lt;br /&gt;
	Задержака между пусками ракет. По дефолту берется из ltx (сейчас 1250 мсек)&lt;br /&gt;
&lt;br /&gt;
*default_velocity = m/sec (скорость с которой летает вертолет, если не заданы другие параметры)&lt;br /&gt;
&lt;br /&gt;
Параметры, задаваемые в именах вершин пути path_move:&lt;br /&gt;
&lt;br /&gt;
«e» – (сокр. от enemy) задание врага (цели). Стрелять по этой цели вертолёт начнёт уже в предыдущей вершине. Если значение не задано, то будет стрелять в точку из path_look, которая соответствует данной вершине. Если задано «e=actor» (можно сокращённо «e=a»), то огонь будет вестись по актёру. Если задано «e=число», стрелять будет по объекту со story id равным числу.&lt;br /&gt;
&lt;br /&gt;
«w» – (сокр. от weapon) каким оружием стрелять. Возможные значения: w=1 – стрелять только пулемётом; w=2 – стрелять только ракетами. По умолчанию стреляет из всего.&lt;br /&gt;
&lt;br /&gt;
«v» - (сокр. от velocity) задание максимальной скорости (в м/с) на участке пути от данной вершины до следующей. Если этот параметр не задан, то умолчание берётся из файла helicopter.ltx.&lt;br /&gt;
&lt;br /&gt;
«dv» - (сокр. от destination velocity) задание скорости (в м/с), которую вертолёт должен иметь в момент прибытия в данную вершину.&lt;br /&gt;
&lt;br /&gt;
«die» - убить вертолёт.&lt;br /&gt;
&lt;br /&gt;
«flame» - начать дымить (как будто подбили).&lt;br /&gt;
&lt;br /&gt;
Параметры, задаваемые в именах вершин пути path_look:&lt;br /&gt;
&lt;br /&gt;
«e» - работает так же как и в path_move. Разница в том, что стрелять по указанной цели вертолёт начнёт лишь тогда, когда прибудет в вершину пути path_move, которая соответствует данной вершине path_look.&lt;br /&gt;
&lt;br /&gt;
«w» – см. такой же параметр для пути path_move.&lt;br /&gt;
&lt;br /&gt;
«t» - (сокр. от time) длительность времени (в мс реального времени), на протяжении которого вертолёт будет смотреть в данную точку. Если этот параметр не задан, то вертолёт пронесётся без остановки, но постарается на ходу развернуться к этой вершине.&lt;br /&gt;
&lt;br /&gt;
==3.12.2. Универсальная боевая схема:==&lt;br /&gt;
Общие сведения:&lt;br /&gt;
&lt;br /&gt;
В универсальной боевой схеме вертолёт не привязан к путям.&lt;br /&gt;
&lt;br /&gt;
Вертолёт не видит никого. Узнать о враге вертолёт может только при получении хита или из параметра в custom data.&lt;br /&gt;
&lt;br /&gt;
Вертолёт стреляет по врагу, если видит его. Если не видит – ищет, облетая вокруг точки, где последний раз видел. Если долго не видит врага – забывает его. Если врага задали принудительно из текущей секции схемы поведения, то он не забудет его, пока находится в этой секции.&lt;br /&gt;
&lt;br /&gt;
Настройки:&lt;br /&gt;
&lt;br /&gt;
Отдельной секции для этой схемы поведения нет. Поэтому настройки производятся в секции текущей схемы поведения:&lt;br /&gt;
&lt;br /&gt;
combat_ignore = true/false&lt;br /&gt;
true означает игнорирование получения хита. Т.е. вертолёт не будет пытаться «отомстить» тому, от кого он получил хит.&lt;br /&gt;
&lt;br /&gt;
combat_enemy = nil/actor/StoryID&lt;br /&gt;
С помощью этого параметра можно задать вертолёту конкретного врага. nil – нету врага; actor – игрок; SID – числовое story id врага.&lt;br /&gt;
&lt;br /&gt;
combat_use_rocket = true/false&lt;br /&gt;
Можно ли вертолёту пользоваться рокетами.&lt;br /&gt;
&lt;br /&gt;
combat_use_mgun = true/false&lt;br /&gt;
Можно ли вертолёту пользоваться пулемётом.&lt;br /&gt;
&lt;br /&gt;
combat_velocity = &amp;lt;число&amp;gt;&lt;br /&gt;
Скорсть, с которой вертолет будет делать боевые заходы&lt;br /&gt;
&lt;br /&gt;
combat_safe_altitude = &amp;lt;число&amp;gt;&lt;br /&gt;
Высота, относительно самой высокой точки геометрии на уровне ниже которой вертолет не будет опускаться в боевой схеме (может быть отрицательным)&lt;br /&gt;
&lt;br /&gt;
К вертолёту подключена схема xr_hit. Работает как у сталкеров. В xr_effects есть группа функций для работы с вертолётом из его custom data:&lt;br /&gt;
&lt;br /&gt;
heli_set_enemy_actor - сделать актёра врагом вертолёту&lt;br /&gt;
heli_start_flame - поджечь вертолёт&lt;br /&gt;
heli_die - убить вертолёт&lt;br /&gt;
&lt;br /&gt;
combat_velocity =	- боевая скорость в этой секции указывается в м/с&lt;br /&gt;
combat_safe_altitude =	- высота боевая в метрах, может принимать отрицательные значения&lt;br /&gt;
combat_use_rocket =	- true/false использовать ли ракеты в этой секции&lt;br /&gt;
combat_use_mgun = 	- true/false использовать ли пулемет в этой секции&lt;br /&gt;
&lt;br /&gt;
3.13. Meet_manager&lt;br /&gt;
&lt;br /&gt;
Синтаксис:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
meet = meet&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
meet = meet&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
meet_state 		= 30| state@sound| 20| state@sound| 10| state@sound&lt;br /&gt;
meet_state_wpn 	= 30| state@sound| 20| state@sound| 10| state@sound&lt;br /&gt;
victim 			= 30| nil| 20| actor&lt;br /&gt;
victim_wpn 		= 30| nil| 20| actor&lt;br /&gt;
use			= self&lt;br /&gt;
use_wpn		= false&lt;br /&gt;
zone			= name| state@sound&lt;br /&gt;
meet_dialog		= dialog_id&lt;br /&gt;
synpairs		= state@sound|state@sound&lt;br /&gt;
abuse			= true/false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Вся настройка встречи отныне будет производится в отдельной секции. В секции logic или в текущей схеме можно будет указать, какую именно секцию с настройкой нужно использовать. Секция, которая указана в секции logic будет влиять на обработку встречи свободногулящим сталкером.&lt;br /&gt;
&lt;br /&gt;
Перечень полей:&lt;br /&gt;
meet_state, meet_state_wpn – задает анимацию и озвучку персонажа, в зависимости от расстояния до актера. Для случая если актер безоружен либо вооружен соответственно.&lt;br /&gt;
victim, victim_wpn – задает объект, на который должен будет смотреть персонаж. Возможные параметры: nil – никуда не смотрит, actor – смотрит на игрока, story_id – номер стори айди персонажа, на которого нужно будет смотреть.&lt;br /&gt;
use, use_wpn – настройки юзабельности персонажа. Возможны три варианта: true, false, self. При self НПС сам юзнет игрока, как только сможет дотянуться &lt;br /&gt;
zone – Содержит набор имен рестрикторов, а также анимаций и озвучки, которую НПС будет отыгрывать, если игрок будет замечен в рестрикторе&lt;br /&gt;
meet_dialog – стартовый диалог НПС.&lt;br /&gt;
synpairs – cодержит набор пар состояние_тела@звуковая_тема. Если при каком то наборе условий встреча будет отыгрывать именно это состояние и эту звуковую тему – то они будут синхронизироваться по рандомным анимациям состояния тела.&lt;br /&gt;
аbuse – по умолчанию true, если false, то неюзающийся противник не будет обижаться.&lt;br /&gt;
Любую строку(в общей схеме они написаны строчными буквами) можно задавать кондлистом. ( {+info1 –info2} ward %+info%  )&lt;br /&gt;
&lt;br /&gt;
Для облегчения настройки встречи сделана возможность упрощенного  задания дефолта:&lt;br /&gt;
&lt;br /&gt;
  [walker]&lt;br /&gt;
  meet = default_meet&lt;br /&gt;
&lt;br /&gt;
 	Саму секцию [default_meet] задавать не надо. Все настройки и так  возьмутся из дефолта.&lt;br /&gt;
&lt;br /&gt;
Теперь о том, как с помощью этого конструктора собрать ту реакцию на актера, которая вам нужна (Во всех примерах зеленым цветом выделены состояния state_manager, синим – звуковые темы):&lt;br /&gt;
&lt;br /&gt;
Ситуация 1&lt;br /&gt;
	Игрок вдалеке подзывает нас рукой, при приближении просит убрать оружие, потом согласен говорить.&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
meet_state 		= 50| hello@talk_hello| 20| wait@wait| 10| ward@wait&lt;br /&gt;
meet_state_wpn 	= 50| hello@talk_hello| 20| threat@threat_weap&lt;br /&gt;
victim 			= 50| actor&lt;br /&gt;
victim_wpn 		= 50| actor&lt;br /&gt;
use			= true&lt;br /&gt;
use_wpn		= false&lt;br /&gt;
&lt;br /&gt;
Ситуация 2&lt;br /&gt;
	Сталкер завидя нас просит убрать оружие. После этого подходит и заговаривает с нами. Если мы начинаем уходить от него или достаем оружие – начинает нас стрелять.&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
meet_state		= 50| {+info} threat_fire %=killactor%, walk@ {+info} talk_abuse, wait | 10 | walk %+info%; wait | 2 | threat;state&lt;br /&gt;
meet_state_wpn 	= 50| {+info} threat_fire %=killactor%, threat@ {+info} talk_abuse, wait&lt;br /&gt;
victim 			= 50| actor&lt;br /&gt;
victim_wpn 		= 50| actor&lt;br /&gt;
use			= {-info2} self, false&lt;br /&gt;
use_wpn		= false&lt;br /&gt;
&lt;br /&gt;
Здесь: info – инфоропшн, который указывает что мы уже опустили оружие и были достаточно близко к НПС&lt;br /&gt;
Info2 – инфопоршн, который устанавливается в диалоге и говорит что персонаж уже сказал нам все, что хотел.&lt;br /&gt;
Killactor – функция в xr_effects которая обижает НПС на игрока.&lt;br /&gt;
&lt;br /&gt;
Ситуация 3&lt;br /&gt;
	Персонаж ходит по патрульному пути на заставе лагеря. Если игрок имеет допуск в лагерь – пропускает его и здоровается, иначе сперва отпугивает, а если игрок пробрался в лагерь – то обижается на него. При этом диалог зависит от того, имеет игрок допуск в лагерь или нет.&lt;br /&gt;
&lt;br /&gt;
[camper]&lt;br /&gt;
path_walk = path_walk&lt;br /&gt;
path_look = path_look&lt;br /&gt;
meet = meet&lt;br /&gt;
&lt;br /&gt;
[meet]&lt;br /&gt;
meet_state 		= 30| {+info} wait, threat@ {+info} talk_hello, threat_back&lt;br /&gt;
meet_state_wpn 	= 30| {+info} wait, threat@ {+info} talk_hello, threat_back &lt;br /&gt;
victim 			= 30| actor&lt;br /&gt;
victim_wpn 		= 30| actor&lt;br /&gt;
use			= true&lt;br /&gt;
use_wpn		= true&lt;br /&gt;
zone			= warnzone| {-info} threat@ {-info} threat_back|kampzone| {-info} true@ {-info} talk_abuse&lt;br /&gt;
meet_dialog		= {+info} dialog1, dialog2&lt;br /&gt;
&lt;br /&gt;
Здесь:&lt;br /&gt;
True – вместо анимации, атаковать игрока.&lt;br /&gt;
Info – Инфопоршн, который говорит что мы имеем допуск к лагерю&lt;br /&gt;
Warnzone – рестриктор, в котором нас предупреждают&lt;br /&gt;
Kampzone – рестриктор, в котором нас убивают&lt;br /&gt;
Dialog1 – стартовый диалог НПС, если мы имеем допуск в лагерь&lt;br /&gt;
Dialog2 – стартовый диалог НПС, если мы не имеем допуск в лагерь.&lt;br /&gt;
Дефолтные настройки:&lt;br /&gt;
	По дефолту встреча настроена со следующими параметрами:&lt;br /&gt;
&lt;br /&gt;
		meet_state		= 30|hello@hail|20|wait@wait&lt;br /&gt;
		meet_state_wpn	= 30|backoff@threat_weap&lt;br /&gt;
		victim		= 30|actor&lt;br /&gt;
		victim_wpn		= 30|actor&lt;br /&gt;
		use			= true&lt;br /&gt;
		use_wpn		= false&lt;br /&gt;
		syndata		= hello@hail|backoff@threat_weap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NB: Если нужно, чтобы сталкер не разговаривал с игроком в данной секции, необходимо прописать ему meet = no_meet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.14.	Отметки на минимапе==&lt;br /&gt;
Появилась возможность не показывать сталкеров на минимапе и на карте (прятать синие и красные точки). Для этого в секции логики или в текущей схеме указываем параметр:&lt;br /&gt;
&lt;br /&gt;
[camper]&lt;br /&gt;
show_spot = false (будучи в этой секции сталкер не показывается на карте)&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
show_spot = {+info1} false&lt;br /&gt;
&lt;br /&gt;
Сталкер не будет показываться, если у игрока есть инфопоршн info1 и т.д.&lt;br /&gt;
&lt;br /&gt;
==3.15.	Передача параметров в функции.==&lt;br /&gt;
Ниже перечислен набор функций к которым можно обращаться из кастом даты и при этом передавать в них переменные.&lt;br /&gt;
&lt;br /&gt;
NB! Во всех функциях xr_conditions и xr_effects, которые обращались к гулагам по имени, теперь можно использовать как имя, так и story id. Причем если мы указываем имя, то использовать функцию можно только, когда гулаг находится в онлайне, а если мы вешаем на самрттеррейн story_id, то можем обращаться к гулагу и в оффлайне.&lt;br /&gt;
&lt;br /&gt;
Описание функций с параметрами присутствующих в xr_conditions и xr_effects.&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------&lt;br /&gt;
xr_conditions:&lt;br /&gt;
&lt;br /&gt;
fighting_dist_ge(p) – универсальная функция для combat_ignore, проверка расстояния для игрока&lt;br /&gt;
(в метрах)&lt;br /&gt;
&lt;br /&gt;
distance_to_obj_le(sid:dist) - проверка дистанции до обьекта заданного&lt;br /&gt;
    story_id. &lt;br /&gt;
Можно использовать, например, в секции follower для определения того, что сталкер подошел на нужную дистанцию к лидеру и     переключать в другую секцию (лидер при этом стоит где-то в ремарке). Эта ситуация возникает, когда после боя надо подогнать одного сталкера к другому, а ихних позиций мы не знаем. Если используется в секции follower, то dist надо ставить большим    distance фолловера, поскольку если поставить их одинаковыми, то данная функция не всегда будет срабатывать.&lt;br /&gt;
&lt;br /&gt;
health_le(health) - проверка того, что здоровье npc &amp;lt;= health&lt;br /&gt;
&lt;br /&gt;
heli_health_le(health) - аналогично предыдущему, только для вертолета.&lt;br /&gt;
&lt;br /&gt;
enemy_group(group1:group2:...) - Проверка на принадлежность врага к одной из групп (правильность работы пока не проверялась)&lt;br /&gt;
&lt;br /&gt;
hitted_by(sid1:sid2:...) - Проверка того, что удар был нанесен кем-то из npc, указанных в списке. npc задаются с помощью story_id. Функцию удобно использовать в секции hit.&lt;br /&gt;
Пример:&lt;br /&gt;
[hit]&lt;br /&gt;
on_info = {=hitted_by(407:408)} %+val_escort_combat%&lt;br /&gt;
&lt;br /&gt;
killed_by(sid1:sid2:...) - Аналогично предыдущему, но для случая смерти npc. Используется в секции death.&lt;br /&gt;
&lt;br /&gt;
is_alive(sid)&lt;br /&gt;
is_alive_one(sid1:sid2:...)&lt;br /&gt;
is_alive_all(sid1:sid2:...) - проверка того, что один, один из нескольких или все из списка соответственно npc, заданные по story_id живы&lt;br /&gt;
&lt;br /&gt;
is_dead(sid)&lt;br /&gt;
is_dead_one(sid1:sid2:...)&lt;br /&gt;
is_dead_all(sid1:sid2:...) - аналогично предыдущему, только проверка на &amp;quot;мертвость&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
check_fighting(sid1:sid2:...) - Проверка того, не является ли кто-то из перечисленных (с помощью story_id) npc врагом даного. Как правило используется в combat_ignore_cond.&lt;br /&gt;
&lt;br /&gt;
gulag_empty(gulag_name) - проверка того, что гулаг пуст или вообще не существует.&lt;br /&gt;
&lt;br /&gt;
gulag_population_le(gulag_name, num) - проверка того, что количество народу в гулаге &amp;lt;= num&lt;br /&gt;
&lt;br /&gt;
gulag_casualities_ge(gulag_name:num) – проверка того, что гулаг понес потери =&amp;gt; num&lt;br /&gt;
NB! Потери гулага не обнуляются, так что с этой функцией работать аккуратно.&lt;br /&gt;
&lt;br /&gt;
signal(строка) – проверяет, установлен ли у данного НПС в текущей схеме указанный сигнал&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
xr_effects:&lt;br /&gt;
&lt;br /&gt;
heli_set_enemy(story_id) – сделать npc с указанным story_id врагом веротелу. В одной секции можно задавать только 1 врага.&lt;br /&gt;
&lt;br /&gt;
set_gulag_enemy_actor(gulag_name) – сделать актера врагом для данного гулага&lt;br /&gt;
&lt;br /&gt;
hit_npc(direction:bone:power:impulse:reverse=false) - нанести хит по npc. Параметры:&lt;br /&gt;
   	 direction - если строка, то считается, что это имя пути и в сторону первой точки производится толчек. Если же это число,  то оно рассматривается как story_id персонажа от которого должен поступить хит.&lt;br /&gt;
    bone - строка. Имя кости, по которой наносится удар.&lt;br /&gt;
    power - сила удара&lt;br /&gt;
    impulse - импульс&lt;br /&gt;
    reverse (true/false) - изменение направления удара на противоположное. по умолчанию false.&lt;br /&gt;
Пример:&lt;br /&gt;
[death]&lt;br /&gt;
on_info = {=killed_by(404)} %=hit_npc(404:bip01_spine1:100:2000)%, {=killed_by(405)} %=hit_npc(405:bip01_spine1:100:2000)%&lt;br /&gt;
&lt;br /&gt;
set_friends(sid1:sid2:...)&lt;br /&gt;
set_enemies(sid1:sid2:...) - установить друзьями/врагами данного npc и указанных в списке по story_id.&lt;br /&gt;
&lt;br /&gt;
play_snd(snd_name:delay=0) - играть звук в голове актёра.&lt;br /&gt;
    snd_name - путь к звуку относительно папки sounds&lt;br /&gt;
    delay - задержка перед проигрыванием. По умолчанию 0 – проигрываем сразу.&lt;br /&gt;
&lt;br /&gt;
play_snd_now (sid:snd_name) – играть звук от указанного объекта&lt;br /&gt;
*звук играется об объекта с указанным story id, без задержки с громкостью 1. Указывается не имя звуковой схемы, а имя файла&lt;br /&gt;
&lt;br /&gt;
      hit_obj(sid, bone, power, impulse, hit_src=npc:position())&lt;br /&gt;
Дать обьекту, заданому story_id, хит. Отличается тем, что может прописываться в любой кастом дате. Параметры: actor, npc, p[sid,bone,power,impulse,hit_src=npc:position()]&lt;br /&gt;
    1. sid - story_id обьекта, по которому наносится хит.&lt;br /&gt;
    2. bone - строка. Имя кости, по которой наносится удар.&lt;br /&gt;
    3. power - сила удара&lt;br /&gt;
    4. impulse - импульс&lt;br /&gt;
    5. hit_src (необязательный параметр) - точка (waypoint), из которой по объекту наносится хит. Если не задано, то берется позиция обьекта, из которого была вызвана данная функция.&lt;br /&gt;
&lt;br /&gt;
actor_has_item(section)&lt;br /&gt;
Проверка на наличие у игрока соответствующего предмета. Проверка проходит по секции в ltx&lt;br /&gt;
&lt;br /&gt;
Функции для работы с HUD'ом.&lt;br /&gt;
&lt;br /&gt;
   disable_ui_elements(...), enable_ui_elements(...) - отключение/включение елементов HUD'а.&lt;br /&gt;
&lt;br /&gt;
Параметры:&lt;br /&gt;
   -- weapon - спрятать/показать руки с оружием&lt;br /&gt;
   -- input - отключить/включить клавиатуру&lt;br /&gt;
   -- hud - спрятать/показать индикаторы на экране&lt;br /&gt;
   -- all - отключить/включить все элементы&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
on_info = %=disable_ui_elements(weapon:input)%&lt;br /&gt;
&lt;br /&gt;
Есть также сокращенные варианты:&lt;br /&gt;
&lt;br /&gt;
   disable_ui, enable_ui (вызываются без скобок и параметров).&lt;br /&gt;
   Аналогичны вызовам disable_ui_elements(all), enable_ui_elements(all) соответственно.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
on_info = %=enable_ui%&lt;br /&gt;
&lt;br /&gt;
Функция запуска camera_effector'а.&lt;br /&gt;
&lt;br /&gt;
   run_cam_effector(имя_файла)&lt;br /&gt;
   &lt;br /&gt;
   имя_файла (указывается без расширения) - это имя анимационного файла (с расширением anm)&lt;br /&gt;
   из папки S:\GameData\anims\camera_effects\.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
on_info = %=run_cam_effector(prison_0)%&lt;br /&gt;
&lt;br /&gt;
Функция запуска постпроцесса.&lt;br /&gt;
&lt;br /&gt;
В связи с изменением процесса создания постпроцессов были внесены изменения в их запуск.&lt;br /&gt;
  Теперь есть 2 функции для работы с постпроцессами:&lt;br /&gt;
&lt;br /&gt;
  run_postprocess(file_name:id:loop) - запуск постпроцесса.&lt;br /&gt;
&lt;br /&gt;
  -- file_name - имя файла постпроцесса (без расширения) из папки s:\gamedata\anims. Указывается без расширения.&lt;br /&gt;
  -- id - номер постпроцесса. Задается опционально. Используется в stop_postprocess.&lt;br /&gt;
  -- loop - (true/false) определяет зацикленность постпроцесса. Опциональный параметр. По умолчанию false.&lt;br /&gt;
&lt;br /&gt;
   stop_postprocess(id) - принудительная остановка постпроцесса.&lt;br /&gt;
&lt;br /&gt;
  -- id - номер постпроцесса заданный в run_postprocess.&lt;br /&gt;
 &lt;br /&gt;
Функция выброса содержимого инвентаря актера в определенную точку.&lt;br /&gt;
&lt;br /&gt;
        drop_actor_inventory(имя_пути)&lt;br /&gt;
&lt;br /&gt;
выбрасываем все предметы из инвентаря актера в первую точку заданного&lt;br /&gt;
пути.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
on_info = %=drop_actor_inventory(drop_point)%&lt;br /&gt;
3.16. Настройка звуковых групп.&lt;br /&gt;
	Новый принцип создания звуковых групп:&lt;br /&gt;
1. Каждый персонаж по умолчанию считается находящимся в уникальной саундгруппе.&lt;br /&gt;
2. Для того, чтобы объеденить нескольких персонажей в единую саундгруппу, необходимо в секции логики прописать soundgroup = &amp;lt;текстовая строка&amp;gt;&lt;br /&gt;
Звуковые группы должны быть уникальными в пределах уровня, а еще лучше в пределах всей игры. Для этого указывайте в звуковой группе идентификатор уровня и сценки, например:&lt;br /&gt;
soundgroup = bar_dolg_kampfire1&lt;br /&gt;
3. Объеденять в звуковые группы необходимо персонажей сидящих в кемпе и идущих в патрулях. А также при других схожих ситуациях. &lt;br /&gt;
4. Дабы избежать ошибок при обижании, наподобие той, которая сейчас проявляется в лагере на эксейпе, необходимо чтобы все НПС, логически относящиеся к одному лагерю имели одинаковый team, squad, group&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
[kamp@esc_bridge_post1]&lt;br /&gt;
center_point = kamp_point&lt;br /&gt;
soundgroup = esc_bridge_soldiers&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4</id>
		<title>Часть 4</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D1%8C_4"/>
				<updated>2008-05-30T11:28:22Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Часть 4» переименована в «Настройка логики. Часть 4»: все.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Настройка логики. Часть 4]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_3</id>
		<title>Настройка логики. Часть 3</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_3"/>
				<updated>2008-05-30T11:28:06Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Часть 3» переименована в «Настройка логики. Часть 3»: так еще красивше&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Шаблон:Настройка логики}}&lt;br /&gt;
&lt;br /&gt;
==3.8.1. Синтаксис скрипта Logic==&lt;br /&gt;
&lt;br /&gt;
Пример: для того, чтобы персонаж ходил по пути walk1, а при приближении игрока на дистанцию 5 метров, переключался на путь walk2 (но только при условии, что он видит игрока), нужно написать следующее: &lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = walker1&lt;br /&gt;
&lt;br /&gt;
[walker1]&lt;br /&gt;
path_walk = walk1&lt;br /&gt;
path_look = look1&lt;br /&gt;
on_actor_dist_le = 5 | walker2&lt;br /&gt;
&lt;br /&gt;
[walker2]&lt;br /&gt;
path_walk = walk2&lt;br /&gt;
path_look = look2&lt;br /&gt;
&lt;br /&gt;
Выше рассмотрено безусловное переключение секций. Перед именем секции в фигурных скобках {} можно задавать дополнительные условия, а после имени секции - так называемые &amp;quot;эффекты&amp;quot;, которые заключить в знаки процента: %%. Эффекты будут применены только в случае активации секции. Можно не задавать имя секции, а задать только условия и/или эффекты. Тогда активной останется старая секция, но условия и эффекты будут все равно обработаны. Если все условия в фигурных скобках не выполняются, секция активирована не будет. &lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&lt;br /&gt;
on_actor_dist_le = 5 | {условие} walker2 %эффекты%&lt;br /&gt;
&lt;br /&gt;
Условия могут быть следующими: &lt;br /&gt;
&lt;br /&gt;
+infoportion  - требуется присутствие infoportion у actor&lt;br /&gt;
-infoportion  - требуется отсутствие infoportion у actor&lt;br /&gt;
=func  - требуется, чтобы func вернула true&lt;br /&gt;
!func  - требуется, чтобы func вернулся false&lt;br /&gt;
&lt;br /&gt;
Эффекты могут быть следующими: &lt;br /&gt;
&lt;br /&gt;
+infoportion  - в случае включения секции у actor будет установлен infoportion&lt;br /&gt;
-infoportion  - в случае включения секции у actor будет убран infoportion&lt;br /&gt;
=func  - в случае включения секции стартует функция func&lt;br /&gt;
&lt;br /&gt;
Несколько условия или эффектов разделяются проблемами: &lt;br /&gt;
&lt;br /&gt;
on_actor_dist_le = 5 | {+info1 -info2 +info3} walker2 %+info4 =func%&lt;br /&gt;
&lt;br /&gt;
Можно задавать сразу несколько секций, разделенных запятыми. Порядок обхода при этом - слева направо. После срабатывания первого из условий, обход прекращается. В примере ниже, если установлен info1, будет включена схема walker2, иначе, если установлен info2, будет включена схема walker3, иначе будет включен walker4: &lt;br /&gt;
&lt;br /&gt;
on_actor_dist_le = 5 | {+info1} walker2, {+info2} walker3, walker4&lt;br /&gt;
&lt;br /&gt;
В описанном выше поле active секции logic, можно также задавать условия, например: &lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = {=actor_friend} walker@friendly, walker@enemy&lt;br /&gt;
В логических условиях теперь принимается ключевое слово never, которое означает, что условие ложно. Например:&lt;br /&gt;
combat_ignore_cond = {=actor_enemy =actor_has_suit} always, {=actor_enemy} never %...эффекты...%&lt;br /&gt;
&lt;br /&gt;
Вышеприведенная конструкция включает игнорирование боя, если у NPC враг - игрок в костюме, но отключит его, если врагом является игрок, но без костюма, при этом сработают эффекты (%%) секции never. Таким образом, выбор секции never равносилен отсутствию секции (несрабатыванию условия), но эффекты в знаках процента при этом срабатывают.&lt;br /&gt;
&lt;br /&gt;
Пример работы с секцией nil. Секция nil выводит из-под скриптовых схем персонажа, монстра или объект и отпускает его под управление движка. Это надо если какое-либо условие выполнившись 1 раз больше не нуждается в проверке, при этом экономятся ресурсы машины, которые на каждом апдейте проверяют это условие.&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_actor_inside = nil %+esc_actor_inside%&lt;br /&gt;
То есть, при входе актера в рестриктор выдается инфопоршн и рестриктор уходит в секцию nil, больше не проверяя наличие игрока.&lt;br /&gt;
NB: Обратно из секции nil под скрипты объект вернуть уже невозможно! Учитывайте это, используя &lt;br /&gt;
ее.&lt;br /&gt;
&lt;br /&gt;
==3.8.2. Вот пример достаточно сложной логики:== &lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
combat_ignore = combat_ignore&lt;br /&gt;
on_hit = hit&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[hit]&lt;br /&gt;
on_info = %+alert%&lt;br /&gt;
&lt;br /&gt;
[death]&lt;br /&gt;
on_info = %+alert +trup3%&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = walk_svoboda3&lt;br /&gt;
path_look = look_svoboda3&lt;br /&gt;
combat_ignore_cond = {-alert}&lt;br /&gt;
on_timer = 25000 | remark&lt;br /&gt;
&lt;br /&gt;
[remark]&lt;br /&gt;
anim = idle&lt;br /&gt;
snd = stalker_talk_kampfire&lt;br /&gt;
no_move = true&lt;br /&gt;
no_rotate = true&lt;br /&gt;
on_hit = hit&lt;br /&gt;
on_death = death&lt;br /&gt;
combat_ignore_cond = {-alert}&lt;br /&gt;
&lt;br /&gt;
[combat_ignore]&lt;br /&gt;
&lt;br /&gt;
Рассмотрим ее пошагово. Вначале сталкер работает по схеме walker-a. При этом он игнорирует бой, пока не будет поставлен инфопоршн alert. Он ждет 25 секунд, после чего переходит в схему remark. В ремарке он проигрывает идловую анимацию, говорит на указанные темы, не поворачивается и не двигается и точно также игнорирует бой. Если по нему попадут (on_hit) или убьют (on_death), будет поставлен инфопоршн alert и он перестанет игнорировать бой (понятно, что если он будет трупом, то это ему не поможет, но их в сценке трое, и тогда сорвутся в бой все остальные). Если его убьют, то также будет поставлен инфопоршн trup3 который сообщит о том, что этот сталкер убит.&lt;br /&gt;
&lt;br /&gt;
А  вот логика его противника:&lt;br /&gt;
[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
combat_ignore = combat_ignore&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = soldier_walk1&lt;br /&gt;
path_look = soldier_look1&lt;br /&gt;
combat_ignore_cond = always&lt;br /&gt;
team = assault_group&lt;br /&gt;
on_signal = assault | camper&lt;br /&gt;
&lt;br /&gt;
[camper]&lt;br /&gt;
path_walk = soldier_walk1_2&lt;br /&gt;
path_look = soldier_look1_2&lt;br /&gt;
radius = 5&lt;br /&gt;
on_info = {+trup1 +trup2 +trup3} walker2&lt;br /&gt;
&lt;br /&gt;
[walker2]&lt;br /&gt;
path_walk = soldier_walk1_3&lt;br /&gt;
path_look = soldier_look1_3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[combat_ignore]&lt;br /&gt;
&lt;br /&gt;
Он идет в схеме walker, игнорируя бой (причем игнорируя в любой ситуации). Идет в составе группы assault_group. Когда он приходит в конечную точку маршрута (там он синхронизируется с остальными из группы, это приписано в путях) и получает сигнал assault, то переходит в схему camper. В этой схеме у него не прописан combat_ignore, поэтому он начинает стрелять по противнику. После того, как все трое противников будут убиты, каждый из них, умирая ставит инфопоршн trup1, trup2 или trup3 и когда все трое будут убиты, то он переключится на схему walker2 (подойдет к костру).&lt;br /&gt;
&lt;br /&gt;
==3.9. Схемы логики space_restrictor==&lt;br /&gt;
&lt;br /&gt;
Общее замечание: Чтобы исключить ситуацию, когда актёр проскакивает через рестриктор и тот не успевает сработать, старайтесь ставить рестриктор так, чтоб минимальная ширина была больше 2 метров.&lt;br /&gt;
&lt;br /&gt;
==3.9.1. Схема [sr_idle]==	&lt;br /&gt;
Предназначение данной схемы – включить другую схему при срабатывании одного из стандартных условий логической схемы.&lt;br /&gt;
	Сама по себе схема ничего не делает.&lt;br /&gt;
	Пример настроек рестриктора:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_idle&lt;br /&gt;
&lt;br /&gt;
[sr_idle]&lt;br /&gt;
on_actor_inside = nil %+esc_actor_inside%&lt;br /&gt;
&lt;br /&gt;
	Обратите внимание, что после срабатывания проверки активная схема переключается в nil, чтобы не продолжать бесполезную проверку на каждом апдейте. Можно не задавать nil.&lt;br /&gt;
Часто эта схема работает вместе со спавнером, рестриктор выдает инфопоршн, при входе в зону, а спавнер по нему уже кого-то спавнит.&lt;br /&gt;
&lt;br /&gt;
файл \gamedata\scripts\sr_idle.script&lt;br /&gt;
&lt;br /&gt;
==3.9.2. Секция [sr_no_weapon]==&lt;br /&gt;
Данная схема убирает оружие у игрока при входе в зону.&lt;br /&gt;
Пример настроек рестриктора:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_no_weapon&lt;br /&gt;
&lt;br /&gt;
[sr_no_weapon]&lt;br /&gt;
&lt;br /&gt;
файл \gamedata\scripts\sr_no_weapon.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.9.3. Секция [sr_sound]==&lt;br /&gt;
&lt;br /&gt;
snd = Перечень имён звуков разделенных запятыми.&lt;br /&gt;
&lt;br /&gt;
type = Типы звуков через запятые. Для удобства введены типы наборов звуков. Т.е., например, чтобы не перечислять каждый раз весь набор звуков скрипа деревянного пола, можно указать тип floor_wooden.&lt;br /&gt;
&lt;br /&gt;
*delay = Задержка перед проигрыванием звука в секундах реального времени, по умолчанию 0.&lt;br /&gt;
&lt;br /&gt;
*idle =  Длина периода игнорирования входа в зону после начала последнего проигранного звука. Чтоб, например, завывание было не чаще, чем раз в несколько минут. В секундах игрового времени. По умолчанию 0.&lt;br /&gt;
&lt;br /&gt;
*rnd = Вероятность (в процентах) того, что звук отыграется. По умолчанию 100.&lt;br /&gt;
&lt;br /&gt;
*position = Задает имя пути, в вершинах которого может отыграться звук. Есть зарезервированное значение random. Оно означает случайное место в радиусе 15…50 метров от игрока. Если этот параметр не задан, то подразумевается позиция игрока.&lt;br /&gt;
&lt;br /&gt;
*slide_velocity = Скорость (м/с) передвижения звука по точкам патрульного пути. По умолчанию - 3&lt;br /&gt;
&lt;br /&gt;
*slide_sound_once = true\false&lt;br /&gt;
	true - проиграть звук один раз, даже если он не дошел до последней точки пути.&lt;br /&gt;
	false – если звук закончился, а до последней точки пути не дошел, запустить его ещё раз. По умолчанию false.&lt;br /&gt;
&lt;br /&gt;
*play_at_actor = true/false Заставляет звук играться от позиции актера постоянно. Если он будет&lt;br /&gt;
  равен true и будет задан путь перемещения звука (или рандом), то мы тупо вылетим.&lt;br /&gt;
&lt;br /&gt;
Предназначение данной схемы: отыграть звук при входе актёра в рестриктор.&lt;br /&gt;
&lt;br /&gt;
Поддерживается sound_end.&lt;br /&gt;
&lt;br /&gt;
Обязательно нужно задать либо snd, либо type. Можно их задать вместе. На базе этих параметров составляется список звуков. При входе актёра в рестриктор отыгрывается случайный звук из этого списка.&lt;br /&gt;
&lt;br /&gt;
Место, из которого может отыграться звук, задаётся одним из трёх:&lt;br /&gt;
-	случайное;&lt;br /&gt;
-	случайная вершина заданного пути;&lt;br /&gt;
-	позиция игрока.&lt;br /&gt;
&lt;br /&gt;
Пример настроек рестриктора:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_sound&lt;br /&gt;
&lt;br /&gt;
[sr_sound]&lt;br /&gt;
type = floor_wooden&lt;br /&gt;
snd = ambient\wind1, ambient\sparks1&lt;br /&gt;
rnd = 50&lt;br /&gt;
position = random&lt;br /&gt;
idle = 120&lt;br /&gt;
delay = 3&lt;br /&gt;
&lt;br /&gt;
Есть возможность сделать «скользящий звук». Необходим патрульный путь. Звук начинает отыгрываться с начала пути и перемещается от одной точки пути к другой (по мере их установки на патрульном пути) со скоростью slide_velocity. &lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_sound&lt;br /&gt;
&lt;br /&gt;
[sr_sound]&lt;br /&gt;
type = random&lt;br /&gt;
position = way&lt;br /&gt;
slide_velocity = 8&lt;br /&gt;
slide_sound_once = true&lt;br /&gt;
&lt;br /&gt;
Файл \gamedata\scripts\sr_sound.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.9.4. Секция [sr_tip]==&lt;br /&gt;
Предназначение данной схемы – давать игроку сообщение (подсказку) при входе в рестриктор&lt;br /&gt;
&lt;br /&gt;
name = Название новости.&lt;br /&gt;
type = по умолчанию «news»&lt;br /&gt;
Тип  новостей: «news» – отсылается как глобальная новость, «tips» - отсылается то имени sender-a&lt;br /&gt;
*sender = если тип = «tips», то от sender задаёт условный строковый идентификатор иконки персонажа, от которого якобы пришло сообщение. По умолчанию это иконка торговца.&lt;br /&gt;
&lt;br /&gt;
*cond = Необходимые логические условия, при которых подсказка сработает. По дефолту, сработает при входе в зону.&lt;br /&gt;
&lt;br /&gt;
*single = true/false (по умолчанию false). Если параметр в true, то типс будет выдан только один раз,&lt;br /&gt;
&lt;br /&gt;
Пример настроек рестриктора:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_tip&lt;br /&gt;
&lt;br /&gt;
[sr_tip]&lt;br /&gt;
name = tips_esc_trader_about_pda&lt;br /&gt;
type = tips&lt;br /&gt;
cond = {+infoportion1 –infoportion2 }&lt;br /&gt;
*showtime = msec – время в миллисекундах, в течение которого сообщение будет находится на экране. – ПОКА НЕ РАБОТАЕТ НОРМАЛЬНО!&lt;br /&gt;
&lt;br /&gt;
Если необходимо проиграть только 1 раз, а это случается часто, то можно добавить следующую строку:&lt;br /&gt;
on_actor_inside = nil &lt;br /&gt;
&lt;br /&gt;
файл \gamedata\scripts\sr_tip.script&lt;br /&gt;
&lt;br /&gt;
==3.9.5. Sr_light==&lt;br /&gt;
Зона, в которой фонарики у неписей будут включены независимо от времени суток.&lt;br /&gt;
&lt;br /&gt;
Работает следующим образом:&lt;br /&gt;
&lt;br /&gt;
  [logic]&lt;br /&gt;
  active = sr_light&lt;br /&gt;
&lt;br /&gt;
  [sr_light]&lt;br /&gt;
  light_on = true/false (свет включен/выключен)&lt;br /&gt;
&lt;br /&gt;
Также работает вместе с кондлистом:&lt;br /&gt;
&lt;br /&gt;
  [logic]&lt;br /&gt;
  active = sr_light&lt;br /&gt;
&lt;br /&gt;
  [sr_light]&lt;br /&gt;
  light_on = true/false (свет включен/выключен)&lt;br /&gt;
  on_info = {+info1} section %+info2% &lt;br /&gt;
&lt;br /&gt;
==3.9.6. Sr_territory==&lt;br /&gt;
&lt;br /&gt;
Занимается эта схема тем, что отлавливает всякие события, происходящие внутри рестриктора.&lt;br /&gt;
Пока что она отлавливает только хиты и смерть сталкеров. Пример использования примерно следующий:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_territory@outside&lt;br /&gt;
&lt;br /&gt;
[sr_territory@outside]&lt;br /&gt;
on_actor_inside = sr_territory@inside&lt;br /&gt;
&lt;br /&gt;
[sr_territory@inside]&lt;br /&gt;
on_actor_outside = sr_territory@outside&lt;br /&gt;
territory_hit = {-bar_dolg_territory_1_hit} %+bar_dolg_territory_1_hit%, {-bar_dolg_territory_2_hit}&lt;br /&gt;
%+bar_dolg_territory_2_hit%, {-bar_dolg_territory_3_hit} %+bar_dolg_territory_3_hit%&lt;br /&gt;
territory_death = {-bar_dolg_territory_kill} %+bar_dolg_territory_kill%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
То есть здесь видно, что когда игрок находится внутри рестриктора, то считается количество нанесенных хитов, а также учитывается был ли кто-то убит или нет. Поскольку схема работает только с игроком – то хиты и смерть засчитываются только от игрока.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.9.7. Sr_mapspot==&lt;br /&gt;
&lt;br /&gt;
При входе в рестриктор он сам себя подсвечивает на карте.&lt;br /&gt;
&lt;br /&gt;
Параметры:&lt;br /&gt;
        hint - id подсказки в string table (обязательный параметр)&lt;br /&gt;
        location - название типа подсветки (не обязательный параметр, по умолчанию &amp;quot;crlc_small&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_mapspot&lt;br /&gt;
&lt;br /&gt;
[sr_mapspot]&lt;br /&gt;
hint = “gar_swamp”&lt;br /&gt;
location = crcl_big&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.9.8. Sr_particle==&lt;br /&gt;
&lt;br /&gt;
Данная система отыгрывает партиклы как статичные так и движущиеся в указанном месте и в указанное время. Работет она следующим образом:&lt;br /&gt;
&lt;br /&gt;
  1) для партикловой системы с путем камеры:&lt;br /&gt;
     [sr_particle]&lt;br /&gt;
     name = explosions\campfire_03          -имя партикловой системы&lt;br /&gt;
     path = particle_test.anm          -имя пути камеры&lt;br /&gt;
     mode = 1 				(обязательно !!!)&lt;br /&gt;
     looped = true/false               		-флаг зацикленности партиклов&lt;br /&gt;
&lt;br /&gt;
          (обязательно с расширением ANM !!!) Здесь партиклы будут молча перемещаться по пути.&lt;br /&gt;
          &lt;br /&gt;
  2) для партикловой системы с обычным патрульным путем:&lt;br /&gt;
     [sr_particle]&lt;br /&gt;
     name = explosions\campfire_03          -имя партикловой системы&lt;br /&gt;
     path = part_points                   -имя патрульного пути&lt;br /&gt;
     mode = 2 				(обязательно !!!)&lt;br /&gt;
     looped = true/false               -флаг зацикленности партиклов &lt;br /&gt;
&lt;br /&gt;
    В вейпоинтах можно задавать флаг s=имя_звуковой_темы и d=число время задержки перед проигрыванием (задается в миллисекундах. Если не задано, то 0). s - имя звуковой темы в sound_themes.ph_snd_themes из которой будет случайно выбран звук для проигрывания во время проигрывания партикла. Звук не зацикливается и играет только один раз.. Результат = партиклы отыгрываются во всех вейпоинтах одновременно (или с задержкой см. выше).&lt;br /&gt;
При looped=true по окончании проигрывания партиклов, они будут запускаться сначала, но уже без задержек. Сигнал particle_end выдаваться не будет. При looped=false сигнал будет выдан, когда все  источники партиклов отыграют.      &lt;br /&gt;
Поддерживается кондлист. Если рестриктор переходит в другую секцию, то автоматически перестают отыгрываться партиклы и замолкают звуки при них. Этот рестриктор является объектом, отслеживающим партиклы и нет никакой необходимости чтобы игрок в него заходил.&lt;br /&gt;
&lt;br /&gt;
==3.9.9. Sr_sound_act==&lt;br /&gt;
  Итого, схема, которая играет саунд в голове актера. Всякие там переговоры по ПДА и прочие фейки&lt;br /&gt;
&lt;br /&gt;
[sr_sound_act]&lt;br /&gt;
snd = ambient\random\new_drone1     --имя звукового файла&lt;br /&gt;
*delay = 2000                          --задержка перед проигрыванием &lt;br /&gt;
*delay_max = 4000		-- между проигрыванием звука будет взят случайный промежуток между delay и delay_max.&lt;br /&gt;
*on_signal = sound_end | nil           --по сигналу можно перейти в другую секцию.&lt;br /&gt;
theme =  &amp;lt;имя темы из ph_sound_themes&amp;gt;&lt;br /&gt;
* stereo = true/false (по умолчанию false). При установке этого параметра к файлу, который&lt;br /&gt;
  задан параметром snd или в звуковой теме будут добавляться (автоматически) суффиксы _r и _l для загрузки левого и правого каналов и, соответственно, вся эта фигня будет играться.&lt;br /&gt;
&lt;br /&gt;
Если указывается тема, то звук будет играть зациклено, случайным образом выбирая один из звуков прописанных в теме, если указывается звук, то он отыгрывается один раз. Схема поддерживает кондлист.&lt;br /&gt;
&lt;br /&gt;
==3.9.10 Sr_timer==&lt;br /&gt;
&lt;br /&gt;
Пример использования:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_timer@1&lt;br /&gt;
&lt;br /&gt;
[sr_timer@1]&lt;br /&gt;
type = dec&lt;br /&gt;
start_value = 10000&lt;br /&gt;
on_value = 0 | sr_timer@2&lt;br /&gt;
&lt;br /&gt;
[sr_timer@2]&lt;br /&gt;
type = inc&lt;br /&gt;
on_value = 15000 | nil %+info1%&lt;br /&gt;
&lt;br /&gt;
Описания полей:&lt;br /&gt;
type - тип счетчика, инкриментирующий(inc) или декриментирующий(dec).&lt;br /&gt;
Если поле не задано -  счетчик будет инкриментирующий&lt;br /&gt;
start_value - начальное значение счетчика в РЕАЛЬНЫХ милисекундах. Для декриментирующих счетчиков задавать обязательно. Для инкриментирующих, если не задано, то считается с 0.&lt;br /&gt;
&lt;br /&gt;
Переходы из секции sr_timer могут быть как по обычным условиям (on_timer, on_info) так и по специфическому условию on_value. В общем случае on_value Можно использовать для производства каких либо действий в зависимости от состояния счетчика. Например:&lt;br /&gt;
&lt;br /&gt;
on_value = 5000| %+info1% | 1000| %+info2%&lt;br /&gt;
&lt;br /&gt;
==3.9.11. Sr_psy_antenna==&lt;br /&gt;
Зоны с такой секцией позволяют управлять эффектами от пси-воздействия (на Янтаре и Радаре). Сейчас можно управлять интенсивностью излучения и интенсивностью получения повреждений.&lt;br /&gt;
&lt;br /&gt;
Способ применения: Расставить зоны, в каждой зоне написать, сколько процентов к интенсивности излучения и повреждения она добавляет/отнимает. Зоны могут быть вложены друг в друга, пересекать друг друга. &lt;br /&gt;
&lt;br /&gt;
eff_intensity = 	- увеличение/уменьшение в % от базового значения интенсивности излучения.&lt;br /&gt;
hit_ intensity = 	- увеличение/уменьшение в % от базового значения наносимого повреждения.&lt;br /&gt;
&lt;br /&gt;
Пример зоны, которая добавляет 70% излучения:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_psy_antenna&lt;br /&gt;
&lt;br /&gt;
[sr_psy_antenna]&lt;br /&gt;
eff_intensity = 70&lt;br /&gt;
hit_ intensity = 70&lt;br /&gt;
&lt;br /&gt;
Пример зоны, которая убирает 30% излучения:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_psy_antenna&lt;br /&gt;
&lt;br /&gt;
[sr_psy_antenna]&lt;br /&gt;
intensity = -30&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.9.12. Sr_teleport==&lt;br /&gt;
Собственно, телепорт. Настраиваются следующим образом:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = sr_teleport&lt;br /&gt;
&lt;br /&gt;
[sr_teleport]&lt;br /&gt;
timeout = 0&lt;br /&gt;
&lt;br /&gt;
point1 = point1&lt;br /&gt;
look1 = look1&lt;br /&gt;
prob1 = 10&lt;br /&gt;
&lt;br /&gt;
point2 = point2&lt;br /&gt;
look2 = look2&lt;br /&gt;
prob2 = 20  &lt;br /&gt;
&lt;br /&gt;
где:&lt;br /&gt;
timeout - задержка в срабатывании телепорта в миллисекундах.&lt;br /&gt;
point - одноточечный патрульный путь куда переместить&lt;br /&gt;
look - одноточечный патрульный путь куда повернуть.&lt;br /&gt;
&lt;br /&gt;
Далее идут настройки точек назначения с удельными весами. То есть в перечисленном выше примере вероятность телепортнутся во вторую точку в два раза выше, чем в первую. Максимальное количество точек назначения - 10. Телепорты необходимо ставить совместно с особой аномальной зоной, которую сейчас делает Проф. Зона добавит визуализацию и создаст эффект втягивания.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.9.13. Sr_sleep и настройка снов.==&lt;br /&gt;
&lt;br /&gt;
Появилась возможность задавать зоны сна.&lt;br /&gt;
&lt;br /&gt;
[sr_sleep]&lt;br /&gt;
*cond = &amp;lt;condlist&amp;gt;&lt;br /&gt;
*type = nightmare/normal/happy/all - Задает тип сна разрешенный в данной зоне (по умолчанию all). Влияет (группирует) только на несценарные сны.&lt;br /&gt;
*dream_prob = &amp;lt;число от 0 до 100&amp;gt; - вероятность просмотра несценарных сновидений в данной зоне (по умолчанию 80). В противном случае будет только черный экран.&lt;br /&gt;
&lt;br /&gt;
Необязательное поле cond задает условие(я), при котором в этой зоне можно спать. Сейчас производится индикация зон, где разрешен сон. В левом нижнем углу отображается маленькая иконка легких при входе в такую зону. Вероятно, позже будет изменена на другую.&lt;br /&gt;
Сновидения теперь делятся на сценарные и обычные. Сценарные сновидения отыгрываются один раз при выполнении необходимых условий. Обычные сновидения проигрываются, если нет сценарных или ни одно условие выполнения сценарных не сработало. Можно задавать вероятность отыгрывания обычных сновидений в целом, а также задавать вероятность срабатывания каждого конкретного сновидения в отдельности. Обычным сновидениям можно задавать тип и потом ограничивать по нему сны воспроизводимые в sr_sleep.&lt;br /&gt;
&lt;br /&gt;
В файле misc\dream.ltx задаются настройки снов.&lt;br /&gt;
&lt;br /&gt;
Секция videos.&lt;br /&gt;
Полями задаются пути к видеофайлам со снами.&lt;br /&gt;
&lt;br /&gt;
Секция dreams. Поля:&lt;br /&gt;
regular_probability = &amp;lt;число от 0 до 100&amp;gt; - вероятность проигрывания обычных сновидений в целом &lt;br /&gt;
regular - список секций с настройками для обычных сновидений&lt;br /&gt;
scene - список секций с настройками для сценарных сновидений&lt;br /&gt;
&lt;br /&gt;
Настройки обычных сновидений:&lt;br /&gt;
dream - имя поля из секции videos&lt;br /&gt;
probability = &amp;lt;число больше 0&amp;gt; - чем больше, тем больше вероятность проигрывания сна.&lt;br /&gt;
type = nightmare/normal/happy - тип сна.&lt;br /&gt;
&lt;br /&gt;
Настройки сценарных сновидений:&lt;br /&gt;
dream - имя поля из секции videos&lt;br /&gt;
cond = &amp;lt;condlist&amp;gt; - условия срабатывания&lt;br /&gt;
to_regular = &amp;lt;вероятность,тип&amp;gt; - необязательное поле. Дает возможность переводить сценарный сон после первого отыгрыша в разряд обычных. &amp;lt;вероятность, тип&amp;gt; аналогичны probability и type из настроек обычных сновидений соответственно.&lt;br /&gt;
&lt;br /&gt;
==3.9.14. Sr_cutscene==&lt;br /&gt;
&lt;br /&gt;
	Эта схема предназначена для проведения анимации камеры c некоторым эффектом &lt;br /&gt;
(pp_effector). Последовательность действий, осуществляемых схемой, состоит из мгновенного перемещения игрока в начало пути point и ориентации его взгляда на начало пути look, потери управления игроком и начала анимации камеры cam_effector по завершении которой игрок вновь получает управление.&lt;br /&gt;
&lt;br /&gt;
[sr_cutscene]&lt;br /&gt;
point = &amp;lt;имя пути&amp;gt; - путь в первую точку которого переносится игрок&lt;br /&gt;
look = &amp;lt;имя пути&amp;gt; - путь в первую точку которого смотрит игрок&lt;br /&gt;
*pp_effector = &amp;lt;имя файла с эффектом&amp;gt; - файл, расположенный в папке &lt;br /&gt;
gamedata\anims\ и содержащий эффект (имя файла пишется без расширения)&lt;br /&gt;
cam_effector = &amp;lt;имя файла с анимацией камеры&amp;gt; - файл, расположенный в папке gamedata\anims\camera_effects\ и содержащий анимацию камеры (имя файла пишется без &lt;br /&gt;
расширения)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.10. Набор дополнительных настроек логики у разных объектов.==&lt;br /&gt;
Для всех физических объектов есть секция ph_idle, поддерживающая кондлист в которую можно при необходимости переводить объекты.&lt;br /&gt;
&lt;br /&gt;
==3.10.1. Схема работы двери, секция [ph_door]==&lt;br /&gt;
&lt;br /&gt;
NB! Для двухстворчатых ворот задается все аналогично.&lt;br /&gt;
&lt;br /&gt;
locked = false\true&lt;br /&gt;
	Заперта ли дверь. По дефолту – false.&lt;br /&gt;
&lt;br /&gt;
Closed = false\true&lt;br /&gt;
	Закрыта ли дверь. По дефолту - true&lt;br /&gt;
&lt;br /&gt;
tip_open = (если locked == false, то tip_door_open, иначе tip_door_locked)&lt;br /&gt;
	Подсказка, которая появляется около прицела при наведении на дверь, если дверь закрыта.&lt;br /&gt;
&lt;br /&gt;
tip_close = (если locked == false, то tip_door_close, иначе пустое значение)&lt;br /&gt;
	Подсказка, которая появляется около прицела при наведении на дверь, если дверь открыта.&lt;br /&gt;
&lt;br /&gt;
snd_init = Звук, который будет отыгран сразу при включении схемы.&lt;br /&gt;
&lt;br /&gt;
snd_open_start = Звук, который будет отыгран при попытке открыть дверь.&lt;br /&gt;
&lt;br /&gt;
snd_close_start = Звук, который будет отыгран при попытке закрыть дверь.&lt;br /&gt;
&lt;br /&gt;
snd_close_stop = Звук, который будет отыгран, когда дверь захлопнется до конца.&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
	Если нужно сделать дверь, которая при каком-то событии открывается со щелчком, то можно воспользоваться полем snd_init и переключением схем. В примере ниже при включении схемы ph_door@unlocked проиграется snd_init, т.е. trader_door_unlock:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = ph_door@locked&lt;br /&gt;
&lt;br /&gt;
[ph_door@locked]&lt;br /&gt;
locked = true&lt;br /&gt;
snd_open_start = trader_door_locked&lt;br /&gt;
on_info = {+esc_trader_can_leave} ph_door@unlocked&lt;br /&gt;
&lt;br /&gt;
[ph_door@unlocked]&lt;br /&gt;
locked = false&lt;br /&gt;
snd_init = trader_door_unlock&lt;br /&gt;
snd_open_start = trader_door_open_start&lt;br /&gt;
snd_close_start = trader_door_close_start&lt;br /&gt;
snd_close_stop = trader_door_close_stop&lt;br /&gt;
файл \gamedata\scripts\ph_door.script&lt;br /&gt;
&lt;br /&gt;
==3.10.2. Схема работы кнопки, секция [ph_button]==&lt;br /&gt;
&lt;br /&gt;
При нажатии на кнопку переключает секции и выдает инфопоршн.&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active      = ph_button@locked&lt;br /&gt;
&lt;br /&gt;
[ph_button@locked]&lt;br /&gt;
anim_blend  = false&lt;br /&gt;
anim        = button_false&lt;br /&gt;
on_press    = ph_button@unlocked %+cit_jail_door_opened%&lt;br /&gt;
&lt;br /&gt;
on_press – что происходит при нажатии&lt;br /&gt;
anim – анимация, которая отигрывается при нажатии на кнопку&lt;br /&gt;
anim_blend – плаваня, сглаженная анимация. Может принимать знаечения true\false&lt;br /&gt;
&lt;br /&gt;
Файл \Gamedata\scripts\ph_button.script&lt;br /&gt;
&lt;br /&gt;
*tooltip - gредназначено для того, чтобы задавать текстовую подсказку при наведении на кнопку. Текстовая подсказка нужна для того, чтобы как минимум было понятно, что этот девайс можно нажимать.&lt;br /&gt;
Пример настройки кнопки:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = ph_button@active&lt;br /&gt;
&lt;br /&gt;
[ph_button@active]&lt;br /&gt;
anim = lab_switcher_idle&lt;br /&gt;
tooltip = tips_labx16switcher_press&lt;br /&gt;
on_press = ph_button@deactivated %+terrain_test%&lt;br /&gt;
&lt;br /&gt;
[ph_button@deactivated]&lt;br /&gt;
anim = lab_switcher_off&lt;br /&gt;
&lt;br /&gt;
Для того чтобы сообщение не потеряло адекватность при различных настройках клавиатуры сообщение следует писать с использованием токенов. Например:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;string id=&amp;quot;tips_labx16switcher_press&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;text&amp;gt;Чтобы отключить чудо установку нажмите ($$ACTION_USE$$)&amp;lt;/text&amp;gt;&lt;br /&gt;
    &amp;lt;/string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Вот пример кнопки, которая срабатывает не всегда, а по определенному условию:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = ph_button@locked&lt;br /&gt;
&lt;br /&gt;
[ph_button@locked]&lt;br /&gt;
anim = button_false – анимация несрабатывания кнопки.&lt;br /&gt;
on_info = {+val_prisoner_door_unlocked} ph_button@unlocked&lt;br /&gt;
on_press = ph_button@unlocked %+val_prisoner_door_unlocked%&lt;br /&gt;
&lt;br /&gt;
[ph_button@unlocked]&lt;br /&gt;
anim = button_true&lt;br /&gt;
on_info = {-val_prisoner_door_unlocked} ph_button@locked&lt;br /&gt;
on_press = ph_button@locked %-val_prisoner_door_unlocked%&lt;br /&gt;
&lt;br /&gt;
===[[Часть 4]]===&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D1%8C_3</id>
		<title>Часть 3</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D1%8C_3"/>
				<updated>2008-05-30T11:28:06Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Часть 3» переименована в «Настройка логики. Часть 3»: так еще красивше&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Настройка логики. Часть 3]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_1</id>
		<title>Настройка логики. Часть 1</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_1"/>
				<updated>2008-05-30T11:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Настройка логики» переименована в «Настройка логики. Часть 1»: так красивше&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''GSC GameWorld'''&lt;br /&gt;
&lt;br /&gt;
{{Шаблон:Настройка логики}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Настройки логики=&lt;br /&gt;
&lt;br /&gt;
==3.1. Система флагов (path_walk, path_look)==&lt;br /&gt;
В точках путей можно задавать флаги, изменяющие поведение персонажа. Флаги задаются прямо в имени waypoint-а, например, для точки с именем &amp;quot;wp00&amp;quot;:&lt;br /&gt;
wp00|flag1|flag2&lt;br /&gt;
Флаги точек пути path_walk:&lt;br /&gt;
a=state&lt;br /&gt;
	Выбирает состояние тела при перемещении (Только из раздела –Ходячие состояния)&lt;br /&gt;
	Список состояний можно взять в gamedata\scripts\state_lib.script&lt;br /&gt;
p=percent&lt;br /&gt;
	Вероятность остановиться в точке в процентах (0 – 100). По умолчанию 100, т.е. сталкер никогда не проходит мимо точек остановки.&lt;br /&gt;
sig=name&lt;br /&gt;
	Установить сигнал с именем name сразу по прибытию в точку (до поворота) для последующей его проверки с помощью поля on_signal логической схемы. Если нужно установить сигнал после поворота – используйте соответствующий флажок пути path_look. &lt;br /&gt;
Флаги точек пути path_look:&lt;br /&gt;
a =state&lt;br /&gt;
	Выбирает состояние тела при стоянии (или сидении) на месте. (Из разделов Стоячие и Сидячие состояния)&lt;br /&gt;
	Список состояний можно взять в gamedata\scripts\state_lib.script&lt;br /&gt;
t=msec&lt;br /&gt;
	- время в миллисекундах, которое персонаж должен смотреть в заданную точку.&lt;br /&gt;
‘*’ – бесконечное время. Допустимы значения в диапазоне [1000, 30000], по умолчанию – 5000.&lt;br /&gt;
	Для конечных (терминальных) вершин пути path_walk, у которых не более 1-й соответствующей точки path_look, значение t всегда считается бесконечным и его явно задавать не нужно.&lt;br /&gt;
sig=name&lt;br /&gt;
	После поворота в точку path_look, установить сигнал с именем name.&lt;br /&gt;
syn&lt;br /&gt;
	Наличие флажка задержит установку сигнала до тех пор, пока в точку с флажком syn не прибудут все персонажи с данным team-ом (team задается в виде текстовой строки в customdata). До тех пор, пока остальные персонажи не прибудут, ожидающей персонаж будет отыгрывать свою idle анимацию.&lt;br /&gt;
sigtm=signal&lt;br /&gt;
Устанавливает сигнал при вызове time_callback-а state manager-ом. Соответственно, если t=0, то сигнал будет установлен после отыгрывания init анимации. Это используется, например, с анимацией press, которая состоит из двух частей: 1 - нажимаем на кнопку, 2 - опускаем руку. &lt;br /&gt;
В пути path_look можно сделать: wp00|a=press|t=0|sigtm=pressed &lt;br /&gt;
А затем переключить схему: on_signal = pressed | другая_схема&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.1.1. Более подробное описание путей. ==&lt;br /&gt;
&lt;br /&gt;
Walker.&lt;br /&gt;
&lt;br /&gt;
Настройка:&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
На карту для каждого walker-а нужно поставить:&lt;br /&gt;
1)	Путь path_walk, по которому walker ходит.&lt;br /&gt;
2)	Путь path_look, состоящий из точек, в которые walker смотрит.&lt;br /&gt;
&lt;br /&gt;
Walker-ов может быть 1 или больше. Они могут действовать независимо, или взаимодействовать друг с другом.&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
team = …&lt;br /&gt;
имя команды, произвольная текстовая строка. Все walker-ы в одной команде должны иметь один и тот же team. Желательно в team задавать имя уровня и имя места, где стоят walker-ы, например: escape_bridge, escape_factory, это уменьшит шанс ошибиться и дать разным командам общее имя.&lt;br /&gt;
path_walk = …&lt;br /&gt;
	имя пути, описанного в п. 1&lt;br /&gt;
path_look = …&lt;br /&gt;
(не обязательно) имя пути, описанного в п. 2. Если персонаж должен только ходить по маршруту, path_look можно не задавать.&lt;br /&gt;
Если персонаж должен стоять на месте, то ему задается одна точка пути path_walk и как минимум одна точка пути path_look&lt;br /&gt;
&lt;br /&gt;
Правила расстановки флажков в путях рассмотрим на нескольких примерах:&lt;br /&gt;
&lt;br /&gt;
Пример 1:&lt;br /&gt;
&lt;br /&gt;
Персонаж патрулирует территорию вокруг двух домиков. Маршрут строится следующим образом: &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
	Как сделать, чтобы персонаж между определенными точками бежал или крался? Для этого в пути path_walk существуют флажки.&lt;br /&gt;
	У каждого вейпоинта есть имя: wp00, wp01 и т.д.&lt;br /&gt;
	Флажки задаются в имени. Их нужно отделять от самого имени с помощью символа ‘|’. Пишеться a=anim, где anim – название анимации из пункта 2.4.4. настоящей документации. Если мы напишем a=threat то персонаж пойдет в состоянии данжер, если a=raid то побежит с оружием наизготовку и т.д. &lt;br /&gt;
&lt;br /&gt;
NB: В точках пути path_walk используются анимации ТОЛЬКО из раздела «Ходячие состояния»!&lt;br /&gt;
&lt;br /&gt;
	Пример 2:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
	Разговор персонажа.&lt;br /&gt;
&lt;br /&gt;
Чтобы персонаж говорил, перемещаясь по маршруту, нужно определить в каждой точке список тем, на которые он может говорить. Для этого существуют следующие поля:&lt;br /&gt;
	s = имя_звуковой_схемы (по умолчанию звук отключен). Несколько тем можно перечислять через запятую.&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	Пример 3:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
В примере 3 используется только поле s, чтобы задать тему разговора, и флажок sc, чтобы показать, что звук проигрывается не разово, а периодически.&lt;br /&gt;
Остальные параметры (sp, sf, st) задавать НЕ РЕКОМЕНДУЕТСЯ, значения по умолчанию приемлимы для большинства скриптов.&lt;br /&gt;
Параметр sa также использовать НЕ РЕКОМЕНДУЕТСЯ. Если нужно стартовать звук одновременно с анимацией, лучше воспользоваться полями пути path_look, о котором будет написано ниже в этом документе.&lt;br /&gt;
Если персонаж не только ходит по маршруту, но должен также останавливаться и играть анимации, нужно задать ему путь path_look.&lt;br /&gt;
&lt;br /&gt;
Пример 4: усовершенствуем пример 1, чтобы персонаж, проходя мимо проема между домами, останавливался и заглядывал в него:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Что добавилось в этом примере? Путь path_look с двумя точками. Связь между точками этого пути рекомендуется сразу же удалить в редакторе, поскольку она все равно не используется.&lt;br /&gt;
&lt;br /&gt;
Далее, в точках путей path_walk и path_look, которые обведены на рисунке пунктирной линией, в редакторе ставим общие флажки. Например, в верхней паре точек ставим флажок 0, а в нижней паре точек – флажок 1.&lt;br /&gt;
&lt;br /&gt;
Теперь персонаж будет останавливаться в точках path_walk, помеченных флажком, и смотреть в точку path_look, помеченную тем же самым флажком.&lt;br /&gt;
&lt;br /&gt;
Если точка path_walk  не помечена флажком, персонаж проходит ее не останавливаясь.&lt;br /&gt;
&lt;br /&gt;
Одной точке path_walk может соответствовать несколько точек path_look. Тогда персонаж выберем случайно одну из подходящих точек.&lt;br /&gt;
&lt;br /&gt;
По аналогии с path_walk, в точках пути path_look можно использовать различные флажки, меняющие поведение:&lt;br /&gt;
&lt;br /&gt;
	p = 100 – вероятность, с которой персонаж посмотрит именно в эту точку. Значения p всех подходящих точек суммируются, т.е. если у одной точки p = 100, а у другой 300, то персонаж посмотрит в первую с вероятностью 25%! (т.е. 100 из 400).&lt;br /&gt;
Во избежание путаницы, рекомендуется задавать p так, чтобы их сумма составляла 100.&lt;br /&gt;
По умолчанию у всех точек p = 100.&lt;br /&gt;
&lt;br /&gt;
t = время, на которое персонаж задержится в этой точке (по умолчанию 5000 мсек)&lt;br /&gt;
&lt;br /&gt;
Пример 5:&lt;br /&gt;
&lt;br /&gt;
В этом примере проходя через точку wp00, персонаж с вероятностью 30% посмотрит в точку wp00 в течение 5 секунд, но с вероятностью 70% посмотрит в точку wp01 в течении 10 секунд.&lt;br /&gt;
&lt;br /&gt;
По умолчанию при остановках персонаж играет анимацию idle, если он не в состоянии crouch, либо анимацию hide, если он в состоянии crouch.&lt;br /&gt;
&lt;br /&gt;
Если требуется другая анимация, можно ее указать с помощью флажка:&lt;br /&gt;
&lt;br /&gt;
a = имя_анимации (по умолчанию idle). &lt;br /&gt;
Пишеться a=anim, где anim – название анимации из пункта 2.4.4. настоящей документации. Если мы напишем a=hide, то персонаж сядет в состоянии данжер, если a=guard, то встанет  с оружием наизготовку и т.д. &lt;br /&gt;
&lt;br /&gt;
NB: В точках пути path_look используются анимации ТОЛЬКО из раздела «Стоячие и сидячие состояния»!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.2. Схемы поведения сталкеров.==&lt;br /&gt;
Есть определенный набор схем, которые описывают поведение персонажа. Они прописываются у него в custom_data или, в случае гулага, в соответствующих файлах, описывающих работы данного гулага. Ниже приведен перечень этих схем.&lt;br /&gt;
В файле \gamedata\scripts\modules.script указаны все загружаемые схемы.&lt;br /&gt;
3.2.1. Схема walker&lt;br /&gt;
Это базовая схема, по которой персонаж, перемещается по патрульному пути (path_walk) и останавливается в определенных точках и выполняет соответствующие действия. &lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = &amp;lt;имя пути&amp;gt;- основной путь, по которому ходит NPC&lt;br /&gt;
*path_look  = &amp;lt;имя пути&amp;gt;- путь, куда смотрит NPC&lt;br /&gt;
*team - команда для синхронизации&lt;br /&gt;
&lt;br /&gt;
В точках path_walk, которым соответствуют точки пути path_look (стоят одинаковые флажки) персонаж останавливается и смотрит в определенную точку, при этом отыгрывая (или не отыгрывая) определенную анимацию.&lt;br /&gt;
* def_state_moving1 = состояние, в котором сталкер движется к первой точке пути, если она близко (patrol по умолчанию)&lt;br /&gt;
* def_state_moving2 = состояние, в котором сталкер движется к первой точке пути, если она не слишком далеко (rush по умолчанию)&lt;br /&gt;
* def_state_moving3 = состояние, в котором сталкер движется к первой точке пути, если она далеко (sprint по умолчанию)&lt;br /&gt;
* def_state_standing = дефолтное состояние в котором он стоит и смотрит на точку, если в этой точке не задана другое состояние.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_walker.script&lt;br /&gt;
==3.2.2. Схема remark==&lt;br /&gt;
Схема используется для синхронизации\связки других схем.&lt;br /&gt;
&lt;br /&gt;
	[remark]&lt;br /&gt;
*snd_anim_synс = true либо false. По умолчанию false. Указывает на то необходимо ли синхронизировать звук с анимацией либо нет&lt;br /&gt;
*snd  = звук ремарка, по умолчанию nil&lt;br /&gt;
*anim = анимация ремарка, по умолчанию wait&lt;br /&gt;
*target = Куда смотрит сталкер. Есть следующие варианты&lt;br /&gt;
		story_id – числовое значение&lt;br /&gt;
		actor – без комментариев&lt;br /&gt;
		nil – позиция вычисленная АИ автоматически&lt;br /&gt;
		&amp;lt;имя работы&amp;gt;,&amp;lt;имя гулага&amp;gt; смотреть на сталкера который находится на определенной работе под гулагом (второй параметр необязателен. В этом случае берется гулаг сталкера, для которого задана данная секция ремарка).&lt;br /&gt;
Пример:&lt;br /&gt;
target              = logic@cit_killers_base_guard, cit_killers&lt;br /&gt;
		&amp;lt;path_name&amp;gt;, &amp;lt;point_number&amp;gt;  - можно указывать смотреть в вершину патрульного пути (&amp;lt;имя пути&amp;gt;, &amp;lt;имя точки&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Внимание, теперь если значение не задано, то оно равно nil а не actor, как было раньше. То есть если вы хотите чтобы персонаж в ремарке смотрел на актера - необходимо явно прописывать это. Если задано значение nil, то персонаж развернется в позицию, которую посчитает АИ.&lt;br /&gt;
&lt;br /&gt;
Стандартные сигналы для remark: &lt;br /&gt;
sound_end – по окончании проигрывания звуковой схемы&lt;br /&gt;
anim_end – по окончании проигрывания анимации&lt;br /&gt;
action_end – по окончании проигрывания и того и другого, если они синхронизированы&lt;br /&gt;
&lt;br /&gt;
Пример синхронизации анимации и звука в схеме Remark:&lt;br /&gt;
[remark]&lt;br /&gt;
anim = анимация&lt;br /&gt;
snd = звук&lt;br /&gt;
snd_anim_sync = true&lt;br /&gt;
on_signal = action_end | следующая схема&lt;br /&gt;
3.2.3. Схема sleeper&lt;br /&gt;
Схема сидящего и спящего NPC. Необходимо поставить патрульный путь, минимум из 1 поинта. Спящий будет садиться спать в нулевой точке пути, и разворачиваться при этом в сторону первой точки. &lt;br /&gt;
&lt;br /&gt;
[sleeper]&lt;br /&gt;
path_main = &amp;lt;имя пути&amp;gt;&lt;br /&gt;
*wakeable = true – может ли проснуться быстро (если true, то спит на корточках и во сне бормочет)&lt;br /&gt;
&lt;br /&gt;
NB: Если путь состоит из двух точек, то связь нужно делать от первой точки к нулевой (либо двунаправленную).&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_sleeper.script&lt;br /&gt;
&lt;br /&gt;
==3.2.4. Схема kamp==&lt;br /&gt;
Схема сталкера, сидящего в определенном радиусе вокруг указанной точки (у костра), и располагающегося лицом к этой точке.&lt;br /&gt;
	&lt;br /&gt;
	[kamp]&lt;br /&gt;
center_point = kamp_center – имя точки вокруг которой NPC будет устраиваться.&lt;br /&gt;
*radius = 2 (насколько далеко сталкер будет сидеть от центра лагеря, 2- по умолчанию)&lt;br /&gt;
*def_state_moving = run (дефолтное состояние, в котором сталкер будет идети к точке кампа)&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_kamp.script&lt;br /&gt;
&lt;br /&gt;
NB! Если точка кампа находится в костре, то в оффлайне сталкера прийдут на нее, а когда они перейдут в онлайн, то окажуться внутри костра, где и получат хит. Чтобы этого не случалось в секции кемпа указывать path_walk из одной точке, название которой = &amp;lt;path_kamp_name&amp;gt;_task&lt;br /&gt;
&lt;br /&gt;
*path_walk = &amp;lt;path_kamp_name&amp;gt;_task&lt;br /&gt;
&lt;br /&gt;
Если точка кемпа расположена в чистом поле то, path_walk прописывать не надо.&lt;br /&gt;
&lt;br /&gt;
==3.2.5. Схема camper==&lt;br /&gt;
Свойства кемперов:&lt;br /&gt;
- кемпер стоит на точке и смотрит в направлении, куда Вы его поставили в редакторе или передигается по патрульным путям  &lt;br /&gt;
- кемперы переключаются на универсальный комбат, только если видят врага ближе чем в 30 метрах. Если он выжил, он возращается в состояние кемпера. &lt;br /&gt;
- В любых других случаях действуют по собственной скриптовой схеме. Если видим врага -стреляем. Если слышим дэнжер - то смотрим в направление в данжере. Если видим гранату - убегаем от гранаты. Если видели врага, а враг исчез, то смотрим в точку, где видели последний раз врага. &lt;br /&gt;
- кемперы не сражаются в движении. Если они видят врага - они останавливаются, стреляют, а потом продолжают движение.&lt;br /&gt;
&lt;br /&gt;
[camper]&lt;br /&gt;
path_walk = patrol_path&lt;br /&gt;
path_look = patrol_path&lt;br /&gt;
*radius = number – расстояние в метрах, если расстояние между кэмпером и противником меньше указанного, кэмпер уходит в универсальный комбат. По умолчанию этот радиус равен 20 метрам.&lt;br /&gt;
*no_retreat = true - персонаж при виде врага не будет ломиться на ближайшую точку path_walk, а сразу перейдет в режим убивания. Нужно это в том случае, если вы хотите сделать сценку, когда одни ребята наезжают на других. Ставите кемперов с вышеуказанным флажком. Они идут по своим патрульным путям и выносят врагов.&lt;br /&gt;
*def_state_moving = состояние из стейт менеджера&lt;br /&gt;
	Состояние, в котором мы движемся на ближайшую точку пути при враге&lt;br /&gt;
*def_state_moving_fire = состояние из стейт менеджера (sneak_fire)&lt;br /&gt;
	Состояние, в котором мы отстреливаемся от врага, во время движения на ближайшую точку пути.&lt;br /&gt;
*def_state_campering = состояние из стейт менеджера (hide)&lt;br /&gt;
	Состояние, в котором мы ожидаем врага, находясь на пути&lt;br /&gt;
*def_state_campering_fire = состояние из стейт менеджера (hide_fire)&lt;br /&gt;
	Состояние, в котором мы отстреливаемся от врага, находясь на пути&lt;br /&gt;
*attack_sound = имя_звуковой_темы&lt;br /&gt;
Возможность переопределять снайперам/кемперам звук атаки. По дефолту он равен звуковой теме &amp;quot;fight_attack&amp;quot;. Можно изменить на любое другое (для сценических потребностей) либо вообще отключить, прописав в секции кемпера: attack_sound =&lt;br /&gt;
*shoot = тип.&lt;br /&gt;
Задаем тип стрельбы. Возможные значения - always|none|terminal&lt;br /&gt;
always - значение по умолчанию, стреляет всегда, когда можно&lt;br /&gt;
none - не стреляет вообще.&lt;br /&gt;
terminal - стреляет только когда находится на последней точки патрульного пути. Это сделано для облегчения построение атакующих сцен.&lt;br /&gt;
	&lt;br /&gt;
NB! У кемпера есть один большой минус – когда ему наносится хит и он не знает откуда хит наносится (не видит противника, не слышит выстрела), то он тупо продолжает стоять на старом месте и ждать следующей пули.&lt;br /&gt;
Ввиду этого не стоит расставлять кемперов в случае, когда сталкеры должны защищаться и держать позицию в том случае, если есть несколько направлений, откуда игрок или стелкеры смогут атаковать поставленного кемпера. Используйте walkerов в таких случаях, а кемперов стоить ставить для атак по путям и как снайперов.&lt;br /&gt;
&lt;br /&gt;
==3.2.5.1. Схема sniper==&lt;br /&gt;
	Разновидность кемпера. Отличаются тем, что стреляют только одиночными выстрелами и не смотрят по точкам патрульного пути, а сканируют пространство между ними. Скорость сканирования от точки к точке фиксирована и равна 20сек.&lt;br /&gt;
	NB! Ставить снайперу только 2 точки look&lt;br /&gt;
&lt;br /&gt;
	В кастом дате кемпера прописать:&lt;br /&gt;
	sniper = true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_camper.script&lt;br /&gt;
&lt;br /&gt;
==3.2.6. Схема follower== &lt;br /&gt;
В custom_data прописан как follower&lt;br /&gt;
NPC идет за NPC лидером. Если до лидера расстояние менее 5 метров, то он идет, если от 5 до 20 – бежит в режиме run, если свыше 20 – догоняет в режиме sprint. Пути не задаются.&lt;br /&gt;
&lt;br /&gt;
[follower]&lt;br /&gt;
leader = story id лидера из game.ltx (число!)&lt;br /&gt;
*formation_line = true (постарается идти сбоку от лидера, в противном случае будет идти сзади&lt;br /&gt;
*distance = расстояние в метрах, на котором будет идти от лидера attendant. По умолчанию – 1,5 метра, если идет цепью, то 5 метров.&lt;br /&gt;
*state_if_leader_in_meet. Это есть строка с именем  состояния из state_manager, которое будет назначено follower-ам, если командир пребывает в состоянии meet.&lt;br /&gt;
*anim_walk = state (состояние, в котором фолловер идет за лидером)&lt;br /&gt;
*anim_run = state (состояние, в котором фолловер бежит за лидером)&lt;br /&gt;
*anim_sprint = state (состояние, в котором фолловер спринтует за лидером)&lt;br /&gt;
Файл: \gamedata\scripts\xr_ attendant.script&lt;br /&gt;
&lt;br /&gt;
Если все это происходит под гулагом, то вместо story_id лидера, мы прописываем его секцию  логики в файле скрипта. Пример:&lt;br /&gt;
&lt;br /&gt;
t = { section = &amp;quot;logic@bar_arena_follower_2&amp;quot;, &lt;br /&gt;
			idle = 0,&lt;br /&gt;
			prior = 7, state = {0}, squad = squad, group = groups[0],&lt;br /&gt;
			in_rest = &amp;quot;&amp;quot;, out_rest = &amp;quot;&amp;quot;,&lt;br /&gt;
			dependent = &amp;quot;logic@bar_arena_leader&amp;quot;,&lt;br /&gt;
			predicate = function(obj)&lt;br /&gt;
				         	return obj:character_community() == &amp;quot;dolg&amp;quot;&lt;br /&gt;
			            end&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==3.2.7. Схема zoneguard==&lt;br /&gt;
NPC есть две зоны (может быть одна). Он ходит по путям, но когда игрок заходит в зону, отрывает от дел, подбегает к игроку, наставляет на игрока оружие (может кричать, может говорить), если игрок заходит во вторую зону – атакует игрока &lt;br /&gt;
&lt;br /&gt;
[zoneguard]&lt;br /&gt;
path_walk = путь перемещения&lt;br /&gt;
*path_look = путь обзора&lt;br /&gt;
team = имя команды синхронизированных zoneguard-ов (из всей команды только 1 будет реагировать на игрока)&lt;br /&gt;
*zone_guard = имя зоны, в пределах которой игрок будет атакован&lt;br /&gt;
zone_warn = имя зоны, в пределах которой начинать разговор с игроком&lt;br /&gt;
*walker_team = team для схемы перемещения его в состоянии walker (если не задан, используется значение из поля team)&lt;br /&gt;
*no_move = если true, персонаж окликнет игрока с места и не будет подбегать к нему&lt;br /&gt;
*snd_greet = имя звуковой схемы, из которой будет проигран звук при обнаружении персонажа&lt;br /&gt;
*ignore_friends = true, будет игнорировать дружественных ему персонажей.&lt;br /&gt;
*ignore_cond = {+info -info =func !func} условия, при которых NPC игнорирует игрока&lt;br /&gt;
*no_danger = если true, то не отыгрывает угрожающую анимацию, нейтралам.&lt;br /&gt;
*anim = какую отыгрывает анимацию, если игрок ему не враждебен.&lt;br /&gt;
*snd_anim_sync = если true, то npc будет синхронизировать звук с анимацией&lt;br /&gt;
Файл: \gamedata\scripts\xr_zoneguard.script&lt;br /&gt;
&lt;br /&gt;
==3.2.8. Схема wounded (раненый)==&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
wounded = wounded&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
wounded = wounded&lt;br /&gt;
&lt;br /&gt;
[wounded]&lt;br /&gt;
hp_state 		= HP|condstate@condsound|HP|condstate@condsound&lt;br /&gt;
hp_state_see	= HP|condstate@condsound|HP|condstate@condsound&lt;br /&gt;
psy_state 		= PSY|condstate@condsound|PSY|condstate@condsound&lt;br /&gt;
hp_victim		= HP|condvictim|HP|condvictim&lt;br /&gt;
hp_cover		= HP|condbool|HP|condbool&lt;br /&gt;
hp_fight		= HP|condbool|HP|condbool&lt;br /&gt;
*syndata		= state@sound|state@sound&lt;br /&gt;
*help_dialog	= story_id &lt;br /&gt;
*help_start_dialog = story_id&lt;br /&gt;
&lt;br /&gt;
Где:&lt;br /&gt;
Condstate – кондлист, возвращающий состояние персонажа, либо true. Если он возвращает true – нпс обидится на игрока&lt;br /&gt;
Condsound – кондлист, возвращающий саунд тему.&lt;br /&gt;
HP – пороговые значение здоровья персонажа&lt;br /&gt;
PSY – пороговые значения пси здоровья персонажа&lt;br /&gt;
Condvictim – кондлист, возвращающий направление куда смотреть. Возможные значения: nil, actor, number. В случае числа – будет смотреть на персонажа с указанными стори айди.&lt;br /&gt;
Condbool – кондлист, возвращаюзий true либо false.&lt;br /&gt;
&lt;br /&gt;
Значения полей:&lt;br /&gt;
hp_state – поведение персонажа когда он не видит игрока&lt;br /&gt;
hp_state_see – поведение персонажа, когда он видит игрока&lt;br /&gt;
psy_state – поведение персонажа при псиатаках&lt;br /&gt;
hp_victim – куда смотреть, в зависимости от ХП&lt;br /&gt;
hp_cover – идти в укрытие или нет, в зависимости от ХП&lt;br /&gt;
hp_fight – разрешено воевать или нет, в зависимости от ХП&lt;br /&gt;
syndata – синхропары для красоты.&lt;br /&gt;
help_dialog – story_id диалога вместо дефолтного actor_help_wounded. Если вам по сюжету  необходимо заменить диалог другим, то вы в этом поле прописываете id другого диалога.&lt;br /&gt;
Также мы вставляем стартовый диалог раненого. Если мы его прописываем, то все актёрские диалоги для раненых должны иметь такой precondition: dialogs.allow_wounded_dialog.&lt;br /&gt;
&lt;br /&gt;
Пример. В качестве примера взята дефолтная настройка.&lt;br /&gt;
&lt;br /&gt;
hp_state = 30|help_me@help|10|wounded_heavy@help_heavy&lt;br /&gt;
hp_state_see = 30|wounded@help_see|10|wounded_heavy@help_heavy&lt;br /&gt;
psy_state = 50|{=best_pistol}psy_armed,psy_pain@wounded_psy|20| {=best_pistol}psy_shoot,psy_pain@{=best_pistol}wounded_psy_shoot,wounded_psy&lt;br /&gt;
hp_victim = 30|actor|10|nil&lt;br /&gt;
hp_cover = 30|true|10|false&lt;br /&gt;
hp_fight = 30|true|10|false&lt;br /&gt;
syndata = wounded@help&lt;br /&gt;
&lt;br /&gt;
Где:&lt;br /&gt;
Best_pistol – проверка на то, что лучшее оружие НПС является пистолетом.&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_wounded.script&lt;br /&gt;
&lt;br /&gt;
==3.2.9. Схема rest==&lt;br /&gt;
Чувак гуляет, хавает, спит.&lt;br /&gt;
Пока нормально не работает.&lt;br /&gt;
Файл: \gamedata\scripts\xr_rest.script&lt;br /&gt;
&lt;br /&gt;
==3.2.10. Схема heli_hunter==&lt;br /&gt;
Хелихантер может стрелять либо не стрелять по вертолету в зависимости от условий. Делается это так:&lt;br /&gt;
&lt;br /&gt;
[camper@bar_freedom_attack_sniper_1]&lt;br /&gt;
path_walk = camper_1_walk&lt;br /&gt;
path_look = camper_1_look&lt;br /&gt;
on_info = {+bar_freedom_attack_ecolog} camper1@bar_freedom_attack_sniper_1 %=bar_freedom_angry_actor%&lt;br /&gt;
meet_talk_enabled = true&lt;br /&gt;
meet_dialog = bar_svoboda_dialog&lt;br /&gt;
heli_hunter = {-bar_ecolog_crush_heli_down} true, false&lt;br /&gt;
&lt;br /&gt;
Если раньше оверрайд хелихантера понимал только значения true либо false, то сейчас он понимает кондлист, который если возвращает true - то стрельба по вертолету в данной схеме разрешена.&lt;br /&gt;
&lt;br /&gt;
==3.2.11. Patrol==&lt;br /&gt;
  Итак, есть предварительная система патруля. Представляет собой вариацию kamp только в состоянии ходьбы. Для ее работы прописываем в кустовой дате следующее:&lt;br /&gt;
  &lt;br /&gt;
  [patrol]&lt;br /&gt;
  path_walk = path_walk&lt;br /&gt;
  path_look = path_look&lt;br /&gt;
  *formation = back&lt;br /&gt;
  *commander = true (типа назначат командиром, желательно, чтобы такой красивый он был один)&lt;br /&gt;
  *move_type = задает изначальный режим перемещения, по умолчанию patrol. Вообще, значение этого поля есть название ходячей анимации из state_mgr_lib&lt;br /&gt;
&lt;br /&gt;
  formation  - описывет способ построения и не является обязательным. Возможны следующие варианты:&lt;br /&gt;
  back    - мужики идут чуть позади командира в два ряда (по умолчанию)&lt;br /&gt;
  line    - шеренга&lt;br /&gt;
  around  - вокруг командира&lt;br /&gt;
&lt;br /&gt;
При остановке командора в meet мужики останавливаются.&lt;br /&gt;
&lt;br /&gt;
  Если командор помирает, то автоматически будет выбран другой. Командиром становится тот, кто первый попал под схему. Способы построения задаются в вейпоинтах следующим образом:&lt;br /&gt;
  ret=0...2&lt;br /&gt;
  0 - линия&lt;br /&gt;
  1 – вокруг старшего&lt;br /&gt;
  2 – по бокам&lt;br /&gt;
&lt;br /&gt;
При движении командор работает как обычный walker и сопровождающие его кадры повторяют его действия. То есть, если в параметрах вейпоинта прописано a=assault, то командор помчится с орудием убийства на перевес, а остальные его откопируют.&lt;br /&gt;
&lt;br /&gt;
  Что еще не сделано или глючит:&lt;br /&gt;
  - нет возможности автоматически перестроить команду (нужно от Шурика то, что записано в todo листе)&lt;br /&gt;
  - все идут молча (когда будет манагер баек, то сделаем)&lt;br /&gt;
  - командор пока не отдает команд (нет озвучки)&lt;br /&gt;
  - не рекомендуется включать спринт (глючит)&lt;br /&gt;
&lt;br /&gt;
==3.3. Секции.==&lt;br /&gt;
==3.3.1. Секция combat==&lt;br /&gt;
Показывает, что происходит, когда NPC срывается в бой.&lt;br /&gt;
on_combat = combat&lt;br /&gt;
&lt;br /&gt;
[combat]&lt;br /&gt;
on_info =  %+info -info =func%  эффекты, которые вызываются на каждом раунде боя.&lt;br /&gt;
&lt;br /&gt;
Для задания различных типов скриптовых боёв для различных ситуаций используется параметр combat_type.&lt;br /&gt;
&lt;br /&gt;
В следующем примере сталкер сражается:&lt;br /&gt;
 * по-кемперски, если враг=актёр и он дальше Х метров&lt;br /&gt;
 * по-монолитовски, если любой враг дальше Y метров&lt;br /&gt;
 * иначе - движковый бой&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
on_combat = combat&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = ...&lt;br /&gt;
&lt;br /&gt;
[combat]&lt;br /&gt;
combat_type = {=fighting_actor =fighting_ge_X_meters} camper, {=fighting_ge_Y_meters} monolith&lt;br /&gt;
&lt;br /&gt;
Пример такой функции: нам надо чтобы на расстоянии свыше 20 метров npc переходил бы в кемперский комбат.&lt;br /&gt;
function fighting_dist_ge_20(actor, npc)&lt;br /&gt;
	return db.storage[npc:id()].enemy:position():distance_to ( npc:position() ) &amp;gt;= 400 &lt;br /&gt;
end&lt;br /&gt;
400 – это 202  . Примечание – мы пишем квадрат нужного нам расстояния, для экономии системных ресурсов.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ещё один пример. Сталкер ходит под симуляцией, но у него бой не движковый, а всегда зомбированый:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = nil&lt;br /&gt;
on_combat = combat&lt;br /&gt;
&lt;br /&gt;
[combat]&lt;br /&gt;
combat_type = zombied&lt;br /&gt;
&lt;br /&gt;
Если в разных секциях для персонажа требуются разные типы боя или разные условия, то можно воспользоваться оверрайдом   combat_type.&lt;br /&gt;
Помните: оверрайд всегда будет перекрывать настройку в секции combat. Т.е., если у вас логика на 5 секций и в четырёх нужен кемперский комбат, а в пятой монолитовский, то можно задать так:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = walker1&lt;br /&gt;
on_combat = combat&lt;br /&gt;
&lt;br /&gt;
[walker1]&lt;br /&gt;
...&lt;br /&gt;
[walker2]&lt;br /&gt;
...&lt;br /&gt;
[walker3]&lt;br /&gt;
...&lt;br /&gt;
[walker4]&lt;br /&gt;
...&lt;br /&gt;
[walker5]&lt;br /&gt;
...&lt;br /&gt;
combat_type = monolith&lt;br /&gt;
&lt;br /&gt;
[combat]&lt;br /&gt;
combat_type = camper&lt;br /&gt;
 (scheme - задает тип боя (monolith, camper, zombied), иначе - универсальный бой)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
disable_combat_handler – функция отключающая секцию combat.&lt;br /&gt;
Файл: \gamedata\scripts\xr_combat.script&lt;br /&gt;
&lt;br /&gt;
==3.3.2 Секция death==&lt;br /&gt;
Схема показывает, что происходит при смерти NPC.&lt;br /&gt;
on_death = death&lt;br /&gt;
&lt;br /&gt;
[death]&lt;br /&gt;
on_info = %+info -info =func%&lt;br /&gt;
Файл: \gamedata\scripts\xr_death.script&lt;br /&gt;
&lt;br /&gt;
==3.3.3. Cекция hit==&lt;br /&gt;
Схема показывает, что происходит при, нанесении повреждения NPC. on_hit НЕ СРАБАТЫВАЕТ на звук выстрела, только на попадание по сталкеру! Это сделано, потому что выстрел в воздух в общем случае не должен восприниматься как аггрессия (игрок отстреливает, скажем, собак, а на него срывается охрана).&lt;br /&gt;
on_hit = hit&lt;br /&gt;
&lt;br /&gt;
[hit]&lt;br /&gt;
on_info = %+info -info =func%&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_hit.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.3.4. Секция actor_dialogs==&lt;br /&gt;
Показывает, какие диалоги будут доступны или недоступны игроку при разговоре с этим NPC. Пишется практически в любой схеме.&lt;br /&gt;
actor_dialogs = actor_dialogs&lt;br /&gt;
&lt;br /&gt;
[actor_dialogs]&lt;br /&gt;
id = доступные диалоги через запятую.&lt;br /&gt;
disable = запрещенные диалоги, тоже через запятую.&lt;br /&gt;
Файл: \gamedata\scripts\xr_meet.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.3.5. Секция use==&lt;br /&gt;
Схема показывает, что произойдет, если игрок юзнет NPC.&lt;br /&gt;
&lt;br /&gt;
on_use = use&lt;br /&gt;
&lt;br /&gt;
[use]&lt;br /&gt;
on_info = %+info -info =func%&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_use.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.3.6. Секция combat_ignore==&lt;br /&gt;
Если NPC в этой схеме то он, не переходит в боевой режим. В любой другой схеме:&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
combat_ignore_cond = {+info –info =func !func} – условия для игнорирования боя (если написать always, то в данной схеме игрок будет игнорировать бой всегда, пока не перейдет в схему, где бой не игнорируется).&lt;br /&gt;
&lt;br /&gt;
В схеме нет дополнительных полей&lt;br /&gt;
[walker]&lt;br /&gt;
combat_ignore = combat_ignore &lt;br /&gt;
&lt;br /&gt;
[combat_ignore]&lt;br /&gt;
&lt;br /&gt;
Функции, используемые для работы с кондлистом комбат игнора:&lt;br /&gt;
fighting_dist_ge_20 -- текущий враг на расстоянии больше или равном 20м&lt;br /&gt;
fighting_dist_ge(pасстояние в метрах) – универсальная функция для combat_ignore, проверка расстояния для игрока&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fighting_actor -- текущий враг актёр?&lt;br /&gt;
check_fighting -- проверка (по story_id) того, что нашим врагом есть хотя бы кото-то один из списка&lt;br /&gt;
&lt;br /&gt;
Файл: \gamedata\scripts\xr_combat_ignore.script&lt;br /&gt;
&lt;br /&gt;
===[[Часть 2]]===&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8</id>
		<title>Настройка логики</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8"/>
				<updated>2008-05-30T11:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Настройка логики» переименована в «Настройка логики. Часть 1»: так красивше&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Настройка логики. Часть 1]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2</id>
		<title>Часть 2</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2"/>
				<updated>2008-05-30T11:27:11Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Часть 2» переименована в «Настройка логики. Часть 2»: так красивше&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Настройка логики. Часть 2]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2</id>
		<title>Настройка логики. Часть 2</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_2"/>
				<updated>2008-05-30T11:27:10Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: «Часть 2» переименована в «Настройка логики. Часть 2»: так красивше&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Шаблон:Настройка логики}}&lt;br /&gt;
&lt;br /&gt;
==3.3.7. Секция dont_spawn_character_supplies==&lt;br /&gt;
Если прописать эту секцию в кастом дату персонажу, то у него внутри не заспавниться стандартный набор барахла, прописанный в профиле.&lt;br /&gt;
&lt;br /&gt;
[dont_spawn_character_supplies]&lt;br /&gt;
&lt;br /&gt;
==3.3.8. Секция no_smart==&lt;br /&gt;
Если прописана эта секция, то npc не берется под смарттеррейн даже если он походит по всем параметрам.&lt;br /&gt;
[no_smart]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.3.9. Секция treshhold==&lt;br /&gt;
Есть возможность изменять у сталкеров параметры, по которым они атакуют монстров. Этих параметра два:&lt;br /&gt;
        max_ignore_monster_distance (в данный момент дефолт 15 метров). Сталкер будет всегда атаковать монстров, которые находятся внутри данного радиуса.&lt;br /&gt;
        ignore_monstre_threshold (в данный момент дефолт 0). Параметр от 0 до 1. Если функция оценки монстра ниже, чем этот параметр, и монстр находится за пределами вышеуказанного радиуса - он будет атакован. В данный момент все настроено так, что сталкеры вообще не атакуют монстров находящихся дальше чем 15 метров от них.&lt;br /&gt;
&lt;br /&gt;
В секции логики либо в текущей схеме указываете:&lt;br /&gt;
&lt;br /&gt;
threshold = threshold@tratata&lt;br /&gt;
&lt;br /&gt;
[threshold@tratata]&lt;br /&gt;
max_ignore_distance = &amp;lt;number&amp;gt;&lt;br /&gt;
ignore_monster = &amp;lt;number&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй параметр следует менять ОЧЕНЬ осторожно.&lt;br /&gt;
&lt;br /&gt;
==3.3.10. Danger==&lt;br /&gt;
&lt;br /&gt;
Настройка может задаваться только в какой-то схеме, например:&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
danger = danger_condition&lt;br /&gt;
&lt;br /&gt;
[danger_condition]&lt;br /&gt;
ignore_distance = 50 (расстояние указывается в метрах)&lt;br /&gt;
ignore_ distance_grenade = &lt;br /&gt;
ignore_ distance_corpse = &lt;br /&gt;
ignore_ distance_hit = &lt;br /&gt;
ignore_ distance_sound = &lt;br /&gt;
&lt;br /&gt;
Можно также указывать время ожидания для денжера в зависимости от типа:&lt;br /&gt;
&lt;br /&gt;
danger_inertion_time_grenade = &lt;br /&gt;
danger_inertion_time_corpse =&lt;br /&gt;
danger_inertion_time_hit =&lt;br /&gt;
danger_inertion_time_sound =&lt;br /&gt;
&lt;br /&gt;
Дефолтовые настройки:&lt;br /&gt;
danger_inertion_time_grenade  = 20000&lt;br /&gt;
danger_inertion_time_corpse   = 10000&lt;br /&gt;
danger_inertion_time_hit      = 60000&lt;br /&gt;
danger_inertion_time_sound    = 15000&lt;br /&gt;
&lt;br /&gt;
NB!!Также эти настройки теперь распространяются и на схему кемпера. То есть в настройках кемпера перестало работать поле danger_radius. Теперь данные берутся из секции денжера согласно общих правил.&lt;br /&gt;
&lt;br /&gt;
Алгоритм работы такой: Сперва проверяется, что расстояние до опасности не отсекается по ignore_danger. Если опасность ближе, то тогда анализируется ее тип, и проверяется по соотвествующему данному типу расстоянию. Если опасность ближе - тогда разрешается реакция на нее.&lt;br /&gt;
&lt;br /&gt;
  В данный момент установлены следующие дефолты:&lt;br /&gt;
&lt;br /&gt;
  ignore_distance = 50&lt;br /&gt;
  ignore_distance_grenade = 15&lt;br /&gt;
  ignore_distance_corpse = 10&lt;br /&gt;
  ignore_distance_hit = 50&lt;br /&gt;
  ignore_distance_sound = 50&lt;br /&gt;
&lt;br /&gt;
NB: если надо, чтобы в разных случаях сталкер игнорировал разные типы данжеров, создается несколько секций данжера danger_condition@1, danger_condition@2 и так далее.&lt;br /&gt;
&lt;br /&gt;
* danger_expiration_time = Через сколько времени денжер перестанет быть акутальным. Дефолт 5000 мс.&lt;br /&gt;
* danger_inertion_time = Через сколько времени персонаж забудет про денжер, на который он отреагировал. Дефолт 10000 мс.&lt;br /&gt;
&lt;br /&gt;
==3.3.11. Байки из склепа (Истории у костра)==&lt;br /&gt;
Из нового: теперь лагеря автоматически рассказывать истории не будут. Для этого вы должны того или иного сталкера &amp;quot;научить&amp;quot; истории.&lt;br /&gt;
Делается это так: в кастом дате пишется секция:&lt;br /&gt;
&lt;br /&gt;
  [game_info]&lt;br /&gt;
  stories = &amp;quot;story_01, legend_01&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  	В кавычках список историй и легенд через запятую. Пока что существуют следующие истории и легенды:&lt;br /&gt;
&lt;br /&gt;
story_01 - Граница зоны и граната за 1 действие.&lt;br /&gt;
story_02 - Про трамплин и про камешки&lt;br /&gt;
story_03 - Про то как группа Вильнова вернулась&lt;br /&gt;
story_04 - Про то как Костя Федорин наткнулся на артефакт и пропал на радаре.&lt;br /&gt;
story_05 - Про то как духманам с контролером стражаться.&lt;br /&gt;
story_06 - Про дверцу, водку и избушку.&lt;br /&gt;
legend_01 - Про эксперимент в Зоне, который производят инопланетяне.&lt;br /&gt;
legend_02 - Об особо засекреченных лабораториях в зоне.&lt;br /&gt;
legend_03 - Легенда о проводнике&lt;br /&gt;
legend_04 - Легенда о темном сталкере&lt;br /&gt;
legend_05 - Легенда о том что глубоко в Зоне спать нельзя.&lt;br /&gt;
&lt;br /&gt;
  О том какие истории и легеды в каком лагере на каком уровня можно и нельзя юзать узнавать о Профа.&lt;br /&gt;
&lt;br /&gt;
==3.3.12. dont_spawn_loot==&lt;br /&gt;
Всякого рода сюжетные персонажи которые должны быть пустыми после смерти (например раненные или пленные) оказываются не пустыми. Чтобы это исправить необходимо в кастом дате персонажа прописать секцию &lt;br /&gt;
[dont_spawn_loot]&lt;br /&gt;
&lt;br /&gt;
==3.4. Оверрайды:==&lt;br /&gt;
Настройки, которые меняют поведение общих схем, в зависимости от активной в данный момент обычной схемы (все они необязательны)&lt;br /&gt;
*meet_enabled = true (запускает схему встречи)&lt;br /&gt;
	*meet_talk_enabled = true (в действующую схему поведения добавляет возможность диалога)&lt;br /&gt;
	*meet_dialog  = &amp;lt;название диалога&amp;gt;, который будет запущен при юзе.&lt;br /&gt;
	*meet_state = &amp;lt;название состояния&amp;gt; он определяет, в каком состоянии будет находиться персонаж, если  открылось диалоговое окно общения и торговли&lt;br /&gt;
	*wounded_enabled = true (включает NPC возможность использовать схему раненого)&lt;br /&gt;
	*combat_ignore_cond  = см. выше&lt;br /&gt;
	*combat_ignore_keep_when_attacked = true (игрок продолжает игнорировать бой, даже если в него стреляют – ТОЛЬКО В СЛУЧАЕ СТРЕЛЬБЫ ИГРОКА!!!!)&lt;br /&gt;
	*combat_type = {условие} scheme - тип боя которым будет пользоваться npc из данной схемы&lt;br /&gt;
	*on_combat = см. выше&lt;br /&gt;
*companion_enabled = true (cвободноходящие сталкеры могут наниматься как компаньоны (в будущем они будут брать за это деньги)).&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
==3.5. Схемы для монстров==&lt;br /&gt;
&lt;br /&gt;
==3.5.1. Схема mob_walker.==&lt;br /&gt;
Работает аналогично схеме обычного walker. Но есть некоторые отличия&lt;br /&gt;
&lt;br /&gt;
Флаги пути движения&lt;br /&gt;
s=звуковая_схема (idle, eat, attack, attack_hit, take_damage, die, threaten, steal, panic, growling) с - идти дальше в присяде r - дальше бежать sig=signal_name - установить заданный сигнал для xr_logic &lt;br /&gt;
Флаги пути обзора:&lt;br /&gt;
t=время_мсек - время в миллисекундах, которое нужно ждать, смотря в точку a=anim_set - анимация (stand_idle, sit_idle, lie_idle, eat, sleep, rest, attack, look_around, turn) &lt;br /&gt;
В customdata персонажа задайте (* отмечены обязательные поля): &lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = путь перемещения&lt;br /&gt;
path_look = путь обзора&lt;br /&gt;
*no_reset = true/false - не сбрасывать action предыдущей схемы (если нужно сохранить, например, звук). По умолчанию false.&lt;br /&gt;
*actor_friendly = true/false - монстр никогда первым не нападает на игрока, но если игрок хоть раз атакует монстра - этот режим навсегда отключится. По умолчанию false.&lt;br /&gt;
*npc_friendly = true/false - монстр никогда первым не нападет на другого монстра (даже враждебного).&lt;br /&gt;
*friendly = true/false - монстр не нападает ни на игрока, ни на монстров. В случае агрессии с их стороны, не запоминает их как врагов и остается дружественным ко всем. По умолчанию false.&lt;br /&gt;
Файл: \gamedata\scripts\mob_walker.script&lt;br /&gt;
&lt;br /&gt;
У кровосососов можно управлять невидимостью:&lt;br /&gt;
[mob_walker]&lt;br /&gt;
  ...&lt;br /&gt;
  state = vis&lt;br /&gt;
  или&lt;br /&gt;
  state = invis&lt;br /&gt;
  Задает значение по умолчанию.&lt;br /&gt;
&lt;br /&gt;
  Также в флагах walk пути mob_walker-а можно использовать флажок b&lt;br /&gt;
  (behaviour) с теми же параметрами:&lt;br /&gt;
  wp00|b=vis&lt;br /&gt;
  wp00|b=invis&lt;br /&gt;
  &lt;br /&gt;
==3.5.2. Схема mob_eluder==&lt;br /&gt;
Монстр перемещается по точкам патрульного пути (не учитывая связи между точками), держась на расстоянии от игрока, при этом придерживаясь своего пути, выходя из под схемы при слишком близком приближении к игроку, и возвращаясь обратно, когда расстояние увеличиться.&lt;br /&gt;
path  = … работает как обычно path_walk. Набор точек патрульного пути.&lt;br /&gt;
*Time_capture = …. (время в секундах) время, которое монстр находится под этой схемой. Default – 10.&lt;br /&gt;
*Time_release = …. (время в секундах) время, которое монстр находится под универсальной схемой. Default – 10.&lt;br /&gt;
*Min_dist = …. (расстояние в метрах, если расстояние до врага меньше этого, то он переходит под универсальную схему). Default – 5.&lt;br /&gt;
*Max_dist = …. (расстояние в метрах, если расстояние до врага больше этого, то он переходит под eluder). Default  - 10&lt;br /&gt;
Замечание – работает нестабильно.&lt;br /&gt;
Файл: \gamedata\scripts\mob_eluder.script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.5.3. Схема mob_remark==&lt;br /&gt;
Ремарковая схема, только не для сталкеров, а для монстров.&lt;br /&gt;
&lt;br /&gt;
*state = специфическое состояние данного конкретного монстра (для кровососов - невидимость)&lt;br /&gt;
*dialog_cond = {+info, =func, -info, !func} условия для открытия окна диалога&lt;br /&gt;
*anim = анимации монстра, перечисляются через запятую.&lt;br /&gt;
*anim.head = анимации головы монстра, через запятую перечисляются&lt;br /&gt;
*tip = какой значок подсветится, при наведении на него курсора&lt;br /&gt;
*snd = какой звук издает&lt;br /&gt;
*time = время проигрывания анимаций, используется только для отладки.&lt;br /&gt;
Файл \gamedata\scripts\mob_remark.script&lt;br /&gt;
На этой схеме сделан торговец. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.5.4. Схема mob_combat, mob_death==&lt;br /&gt;
Работают точно также как и у сталкеров соответствующие схемы.&lt;br /&gt;
Файлы: \gamedata\scripts\mob_combat.script, \gamedata\scripts\mob_death.script&lt;br /&gt;
&lt;br /&gt;
==3.5.6 Схема mob_jump (монстр-пружинка)==&lt;br /&gt;
Схема mob_jump. Теперь mob_jump служит для задания прыжков монстров без каких либо проверок и ограничений (расстояние, углы и т.д.). Указывается позиция с помощью патрульного пути, смещение относительно этой позиции и физический фактор прыжка.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = mob_jump&lt;br /&gt;
&lt;br /&gt;
[mob_jump]&lt;br /&gt;
path_jump = path&lt;br /&gt;
ph_jump_factor =2.8&lt;br /&gt;
offset = 0,10,0&lt;br /&gt;
on_signal = jumped | nil&lt;br /&gt;
&lt;br /&gt;
path_jump – путь, с помощью которого мы задаем 1 целевую точку прыжка (с нулевым индексом). Реальная точка учитывает позицию path_jump[0] + смещение, заданное с помощью offset.&lt;br /&gt;
offset – смещение по осям x,y,z соответственно, с помощью которого задается реальная точка в пространстве (может не находится на аи-ноде). &lt;br /&gt;
ph_jump_factor - влияет на время прыжка. Визуально с помощью него задается кривизна траектории полёта. Чем он больше, тем прыжок более острый, быстрый (меньше дуга). С помощью данной схемы можно делать: перепрыгивание со здания на здание, выпрыгивание из окна, перепрыгивание высоких ограждений и др. Дефолтное значение = 1,8&lt;br /&gt;
&lt;br /&gt;
Примечание:&lt;br /&gt;
Фактически mob_jump - это не состояние, а разовое действие. При переходе в него монстр разворачивается в сторону прыжка и прыгает, поднимая сигнал jumped. Т.е. &amp;quot;on_signal = jumped | имя_схемы_или_nil&amp;quot; – является обязательным параметром в схеме, чтобы знать куда переходить дальше.&lt;br /&gt;
При выборе позиции используется первая точка патрульного пути (0-вой индекс)&lt;br /&gt;
&lt;br /&gt;
==3.5.7. Mob_camp==&lt;br /&gt;
&lt;br /&gt;
	Механика:&lt;br /&gt;
  1. Сидит на позиции, смотрит в точку &lt;br /&gt;
  2. Можно задать несколько позиций и время смены позиции.&lt;br /&gt;
  3. Перемещается между позициями бегом&lt;br /&gt;
  4. При виде врага переходит под универсальную схему (комбат/паника и т.д)&lt;br /&gt;
  5. Задаются минимальная и максимальная дистанции от врага до текущей camp-позиции&lt;br /&gt;
  6. Если враг уходит далеко - монстр возвращается на позицию&lt;br /&gt;
&lt;br /&gt;
Использование:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = mob_camp&lt;br /&gt;
&lt;br /&gt;
[mob_camp]&lt;br /&gt;
path_look = way_look&lt;br /&gt;
path_home = way_home&lt;br /&gt;
time_change_point = 30000&lt;br /&gt;
home_min_radius  = 20&lt;br /&gt;
home_max_radius = 50&lt;br /&gt;
skip_transfer_enemy – если прописать в кастом дату, то монстр не будет принимать врага от друших монстров, если его увидит (для этого нужно всех монстров в разные group разнести)&lt;br /&gt;
&lt;br /&gt;
Описание параметров:&lt;br /&gt;
*path_home - путь, состоящий из точек, в которых будет находиться монстр &lt;br /&gt;
path_look - путь, состоящий из точек, в которые будет смотреть монстр   &lt;br /&gt;
*time_change_point - время изменения текущей camp-точки  (по-умолчанию10000), мс&lt;br /&gt;
* home_min_radius - минимальный радиус от врага до camp-точки (по-умолчанию 30), м&lt;br /&gt;
* home_max_radius - максимальный радиус  от врага до camp-точки (по-умолчанию 40), м&lt;br /&gt;
&lt;br /&gt;
Особенности:&lt;br /&gt;
 Минимальный и максимальный радиус необходимы для игнорирования врага, если он убежал далеко и для возврата на текущую позицию. Учитывается дистанция от врага до текущей позиции. Если дистанция меньше home_min_radius - атакуем врага, пока враг не исчезнет или дистанция не будет больше home_max_radius.&lt;br /&gt;
Две дистанции необходимы для того, чтобы избежать ситуации, когда игрок стоит на границе радиуса действия и входит/выходит в зону и монстр бегает то в свою camp-позицию, то на врага.&lt;br /&gt;
  Выбор текущей позиции производится случайным образом&lt;br /&gt;
  Индексы точек пути для path_home и path_look должны совпадать (т.е. монстр сидит во второй точке path_home и смотрит во вторую точку path_look)&lt;br /&gt;
&lt;br /&gt;
Единственным необходимым параметром является path_look&lt;br /&gt;
Если не установлен path_home, в качестве кемперской точки учитывается позиция и нода объекта на спауне.&lt;br /&gt;
&lt;br /&gt;
Для того чтобы монстр смотрел в разные точки на кемпер-позиции, path_look может состоять из нескольких точек.&lt;br /&gt;
&lt;br /&gt;
Обязательные требования:&lt;br /&gt;
home_min_radius &amp;lt; home_max_radius&lt;br /&gt;
Количество точек путей path_look и path_home должно быть равным&lt;br /&gt;
P.S. Mob_Camp можно использовать как альтернативу к монстрам под рестрикторами&lt;br /&gt;
&lt;br /&gt;
==3.5.8. Mob_home==&lt;br /&gt;
Схема является ещё одним решением по замене рестрикторов. Рекомендую все следующие гулаги монстров делать на mob_home, а старые гулаги постепенно переводить на mob_home. У кого рестрикторы работают хорошо и красиво, их можно не трогать. &lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
[mob_home]&lt;br /&gt;
path_home = path1&lt;br /&gt;
home_min_radius = 10&lt;br /&gt;
home_max_radius = 30&lt;br /&gt;
aggressive_home	- в назначенную точку path_home монстры бегут а не идут.&lt;br /&gt;
&lt;br /&gt;
Описание:&lt;br /&gt;
Монстры держатся вокруг точек пути path_home. В атаке бросаются на врага, если враг внутри home_min радиуса, иначе прячутся в укрытия. Отсюда следует, что home_min -радиус желательно делать таким, чтобы внитри было достаточно каверов. В айдле тоже обычно расходятся по каверам. Home_max радиус сделан по принципу большого рестриктера в схеме «гнездо».&lt;br /&gt;
&lt;br /&gt;
Добавлена возможность задания минимального и максимального радиусов для схемы mob_home в флагах первой точки пути (path_home). Для этого введены флаги minr и maxr. В случае, если радиусы заданы и в секции и во флагах, то значение радиуса берется из секции. Если не задано ни там, ни там, то берутся дефолтные значения 20 и 40 соответственно.&lt;br /&gt;
&lt;br /&gt;
==3.5.9. Mob_fake_death==&lt;br /&gt;
&lt;br /&gt;
Появилась схема mob_fake_death для зомби. Необходимо для сценок, когда игрок идёт, а вокруг него начинают подниматься зомби...&lt;br /&gt;
Использование:&lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = mob_fake_death&lt;br /&gt;
&lt;br /&gt;
[mob_fake_death]&lt;br /&gt;
on_actor_dist_le = 5 | nil&lt;br /&gt;
&lt;br /&gt;
При входе в схему зомби падает, при выходе из схемы встает.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3.6. Оверрайды для монстров:==&lt;br /&gt;
actor_friendly = если true, то монстр не атакует актера, до первой атаки на него&lt;br /&gt;
npc_friendly = если true, то монстр не атакует сталкеров и монстров, до первой атаки на него&lt;br /&gt;
friendly = если true, то монстр не атакует никого до первой атаки на него&lt;br /&gt;
braindead = если true, то монстр игнорирует любые атаки.&lt;br /&gt;
&lt;br /&gt;
Секции для монстров&lt;br /&gt;
[mob_death], [mob_hit]&lt;br /&gt;
&lt;br /&gt;
==3.7. Секция spawner==&lt;br /&gt;
Эта секция, которая присутствует как у NPC, так и у монстров, спавнит их по определенному условию (выводит в онлайн). Для того, чтобы они появились в данной точке, им надо поставить в настройках в Level editor флажок no_move_in_offline и отключен can_switch_offline. Спавнер прописывается в кастом дату объекта перед секцией logic&lt;br /&gt;
Работает spawner следующим образом:&lt;br /&gt;
&lt;br /&gt;
[spawner]&lt;br /&gt;
cond = {+info -info =func  !func}&lt;br /&gt;
&lt;br /&gt;
Примечание. Если условия спавна не будет выполняться, то объект не заспавниться, а если он заспавнился и условие перестает выполняться, то объект будет спавнером уведен в оффалйн.&lt;br /&gt;
Пример: &lt;br /&gt;
[spawner]&lt;br /&gt;
cond = {=is_day}&lt;br /&gt;
(объект заспавниться днем и уйдет в оффлайн ночью)&lt;br /&gt;
&lt;br /&gt;
После того, как объект заспавнился, его берет под управление скрипт Logic&lt;br /&gt;
&lt;br /&gt;
==3.7.1. Спавн монстров дневных и ночных.==&lt;br /&gt;
[spawner]&lt;br /&gt;
cond = {=is_day} – спавнить монстра только днем (если надо ночью, то пишем {!is_day})&lt;br /&gt;
check_distance = true – проверка на наличие персонажа рядом.&lt;br /&gt;
min_distance = 100 – если игрок ближе указанной дистанции, то монстр не заспавниться (по дефолту 150 метров, но на самом деле это много).&lt;br /&gt;
&lt;br /&gt;
==3.8. Скрипт logic==&lt;br /&gt;
&lt;br /&gt;
NB: если хотите заспавнить у npc что-то из вещей из custom data, то описание того, как это делается находится в Общей части в настройке профилей персонажей (только тег supplies писать не надо!)&lt;br /&gt;
&lt;br /&gt;
Скрипт logic управляет переключением схем. &lt;br /&gt;
В customdata любого персонажа (кроме свободных) должна присутствовать секция [logic]. &lt;br /&gt;
&lt;br /&gt;
Функции, на которые ссылается секция [logic] должны находится в файлах \gamedata\scripts\xr_effects.script или \gamedata\scripts\xr_conditions.script.&lt;br /&gt;
&lt;br /&gt;
В секции должно присутствовать одно из полей: &lt;br /&gt;
active = активная схема, запускающаяся первой.&lt;br /&gt;
cfg = имя_ltx_файла_с_настройками&lt;br /&gt;
&lt;br /&gt;
Если задано поле cfg, то в качестве настроек персонажа будет использовано содержимое указанного файла. &lt;br /&gt;
Пример. Настройки простого walker-а: &lt;br /&gt;
&lt;br /&gt;
[logic]&lt;br /&gt;
active = walker&lt;br /&gt;
&lt;br /&gt;
[walker]&lt;br /&gt;
path_walk = walk1&lt;br /&gt;
path_look = look1&lt;br /&gt;
&lt;br /&gt;
Переключение схем выполняется с помощью дополнительных условий схемы logic, которые прописываются в секции текущей активной схемы. Существуют следующие условия переключения: &lt;br /&gt;
Список доступных схем перечислен в главе схемы.&lt;br /&gt;
Примечание: если logic переключает между несколькими одноименными схемами (например несколькими walker), то их можно нумеровать (walker1, walker2) или через @ давать более информативные названия walker@day, walker@alarm и т.д.&lt;br /&gt;
&lt;br /&gt;
on_actor_dist_le = number | scheme - дистанция до игрока &amp;lt;= number&lt;br /&gt;
on_actor_dist_le_nvis = number | scheme - дистанция до игрока &amp;lt;= number без проверки на видимость&lt;br /&gt;
on_actor_dist_ge = number | scheme - если дистанция до игрока &amp;gt; number&lt;br /&gt;
on_actor_dist_ge_nvis = number | scheme - если дистанция до игрока &amp;gt; number без проверки на видимость&lt;br /&gt;
on_signal = signal | scheme - срабатывает по приходу сигнала signal от текущей активной схемы&lt;br /&gt;
on_info = scheme - срабатывает всегда&lt;br /&gt;
on_timer = msec | scheme - срабатывает через msec мс после включения схемы&lt;br /&gt;
on_game_timer = sec| scheme – срабатывает через sec секунд игрового времени, после включения схемы&lt;br /&gt;
on_actor_in_zone = restrictor_name | scheme – если актер в зоне, (указывается имя рестриктора)&lt;br /&gt;
on_actor_not_in_zone = restrictor_name | scheme – если актер не в зоне, (указывается имя рестриктора)&lt;br /&gt;
on_npc_in_zone = npc_story_id | restrictor_name | scheme – если NPC в зоне, указывается story_id NPC, и имя рестриктора&lt;br /&gt;
on_npc_not_in_zone = npc_story_id | restrictor_name | scheme - если NPC не в зоне, указывается story_id NPC, и имя рестриктора&lt;br /&gt;
on_actor_inside = scheme - зона проверяет, находится ли игрок внутри нее&lt;br /&gt;
on_actor_outside = scheme - зона проверяет, находится ли игрок за ее пределами&lt;br /&gt;
&lt;br /&gt;
NB: с любыми из вышеперечисленных параметров можно работать следующим образом:&lt;br /&gt;
on_info = {….} %...%&lt;br /&gt;
on_info2 = {….} %...%&lt;br /&gt;
on_info3 = {…} %...%&lt;br /&gt;
и так далее до посинения&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
а также условия для переключения на описанные выше секции.&lt;br /&gt;
combat_ignore_cond = &lt;br /&gt;
on_hit = &lt;br /&gt;
on_death = &lt;br /&gt;
on_combat = &lt;br /&gt;
on_use =&lt;br /&gt;
&lt;br /&gt;
===[[Часть 3]]===&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8</id>
		<title>Шаблон:Настройка логики</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8"/>
				<updated>2008-05-30T11:26:10Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: оформление&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;250&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;background:#5e5e5e;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot; | Содержание&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#ffffff;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[Настройка логики. Часть 1]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Настройка логики. Часть 2]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Настройка логики. Часть 3]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Настройка логики. Часть 4]]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;/div&gt;</summary>
		<author><name>HikeR</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_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F,_%D0%BF%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE</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_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F,_%D0%BF%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE"/>
				<updated>2008-05-30T10:03:01Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: Откачено к последнему изменению, сделанному 91.144.153.34&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|align=right&lt;br /&gt;
 |''Автор:'' '''[[Участник:Neo|Neo][]]'''&lt;br /&gt;
 |}&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = center|&lt;br /&gt;
backgroundcolor	= rgb(235, 235, 255);|&lt;br /&gt;
image	=Question.gif|&lt;br /&gt;
heading	=Возникли вопросы/предложения|&lt;br /&gt;
message =Пиши [[Обсуждение:Создание уровня, пошаговое руководство|тут]].}}&lt;br /&gt;
__TOC__&lt;br /&gt;
В данном уроке попытаюсь рассказать об основах работы с Level Editor-ом пакета SDK, на примере создания простейшего уровня.&lt;br /&gt;
&lt;br /&gt;
В пакете SDK уже довольно много готовой геометрии, которую можно размещать на своём уровне, но иногда хочется вставить что-то своё, это можно сделать, смоделировав объект в пакете 3D моделирования Maya или 3D Studio Max.&lt;br /&gt;
&lt;br /&gt;
== Создание геометрии ==&lt;br /&gt;
Научить работать в 3D редакторах я не смогу, поэтому подробно остановлюсь только на процессах установки и настройки плагина, текстурировании и назначении шейдеров геометрии.&lt;br /&gt;
=== Установка и настройка плагина === &lt;br /&gt;
&lt;br /&gt;
==== Установка для Maya ==== &lt;br /&gt;
Установка плагина заключается в копировании:&lt;br /&gt;
*Всех файлов из папки scripts_plugins\scripts в папку C:\Documents and Settings\UserName\My Documents\maya\scripts&lt;br /&gt;
*Всех файлов из папки scripts_plugins\ver-ххх в папку C:\Program Files\Autodesk\Maya_ххх\bin&lt;br /&gt;
*Файла scripts_plugins\xray_path.ltx в папку C:\Program Files\Autodesk\Maya_ххх\bin&lt;br /&gt;
==== Установка для 3D Studio Max ====&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=viewtheoned&amp;amp;lid=100 Качаем] плагин. Распаковываем архив, копируем содержимое папки '''plugin'''(именно plugin) в папку макса.&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Далее в официальном руководстве написано, что требуется диск Х, мы приложили батник для создания этого диска и т.д.&lt;br /&gt;
Возможно кто-то согласится с таким вариантом, но я решил просто отредактировать файл xray_path.ltx и не мучатся с батником и диском.&lt;br /&gt;
&lt;br /&gt;
Необходимо изменить только первые две строчки файла xray_path.ltx:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$server_root$	= false| false|	e:\sdk\(это путь до папки в которой у вас находится SDK)&lt;br /&gt;
$local_root$	= false| false|	e:\sdk\(это путь до папки в которой у вас находится SDK)&lt;br /&gt;
После некоторого шаманства заработало в таком виде:&lt;br /&gt;
$server_root$	= false| false|	C:\Program Files\X-Ray SDK\level_editor\&lt;br /&gt;
$local_root$	= false| false|	C:\Program Files\X-Ray SDK\level_editor\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Всё, можно пользоваться плагином.&lt;br /&gt;
&lt;br /&gt;
=== Настройка единиц измерения ===&lt;br /&gt;
Для того, чтобы размеры объектов в редакторе совпадали с теми, что используются в X-Ray SDK, необходимо выполнить соответствующую настройку.&lt;br /&gt;
&lt;br /&gt;
==== Настройка Maya ====&lt;br /&gt;
&lt;br /&gt;
Для начала необходимо единицы измерения перевести в метры (по умолчанию в Maya 8.5 используются сантиметры). Делается это в 2 этапа:&lt;br /&gt;
* Заходим в меню Window -&amp;gt; Settings/Preferences -&amp;gt; Preferences. В открывшемся диалоге, в категории Settings, находим список Working Units -&amp;gt; Linear и выбираем Meter, как показано на скриншоте (шаг 1, шаг 2).&lt;br /&gt;
* Теперь, для удобства работы, в настройках камеры необходимо изменить дальность отображения с 10м на 1000м (смотри скриншот шаг 3)&lt;br /&gt;
{|&lt;br /&gt;
|valign=top|[[Изображение:SantimToM1.gif|thumb|400px|Шаг 1: выбираем указанный пункт меню]]&lt;br /&gt;
|valign=top|[[Изображение:SantimToM2.gif|thumb|400px|Шаг 2: выбираем еденицы измерения - метры]]&lt;br /&gt;
|valign=top|[[Изображение:SantimToM3.gif|thumb|400px|Шаг 3: настраиваем камеру]]&lt;br /&gt;
|}&lt;br /&gt;
Замечен глюк: после настройки камеры изображение может пропасть, в чём дело пока не разобрался, но ситуацию помогает победить выбор в меню камеры следующих двух пунктов:&lt;br /&gt;
* Panel -&amp;gt; Perspective -&amp;gt; New&lt;br /&gt;
* View -&amp;gt; Camera Settings -&amp;gt; View Compass&lt;br /&gt;
&lt;br /&gt;
==== Настройка 3D Studio Max ====&lt;br /&gt;
Настройка заключается только в выборе в качестве единиц измерения метров.&lt;br /&gt;
*Заходим в меню Customize -&amp;gt; Units Setup... В группе Display Unit Scale ставим переключатель на Metric, в выпадающем списке ищем Meters.&lt;br /&gt;
[[Изображение:3d-max-unit-setup.gif|thumb|left|400px|Меняем единицы измерения]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
=== Моделирование ===&lt;br /&gt;
Для нашего простейшего уровня нам понадобится создать просто бокс в качестве террейна.&lt;br /&gt;
&lt;br /&gt;
Создадим box размеров 50м*50м*0,1м.&lt;br /&gt;
&lt;br /&gt;
==== Замечания и правила ====&lt;br /&gt;
&lt;br /&gt;
* Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто)&lt;br /&gt;
* Bounding box персонажа имеет три состояния: стоя (1.8х0.7х0.7 в метрах), сидя (1.5х0.7х0.7 в метрах) и очень сидя (1.2х0.7х0.7 в метрах).&lt;br /&gt;
* Весь уровень должен быть не больше 150 тысяч треугольников.&lt;br /&gt;
* Сцена должна состоять из групп. Название группы формируется по такому принципу: mp_имяуровня_назвгеометрии. Например, в нашей тестовой сцене такие группы: mp_atp_terrain, mp_atp_buildings. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы. В переделах одной группы все имена должны быть уникальны. &lt;br /&gt;
* Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - имя_объекта, шейп - имя_объектаShape&lt;br /&gt;
&lt;br /&gt;
=== Текстурирование и назначение шейдеров ===&lt;br /&gt;
&lt;br /&gt;
==== 3D Studio Max ====&lt;br /&gt;
Открываем Material Editor(M) выделив один из образцов материала, открываем диалог Material/Map Browser, щелчком на кнопке Standart. Создадим новый материал XRayMtl, дважды щёлкнув по нему в списке. &lt;br /&gt;
&lt;br /&gt;
Займёмся настройкой параметров материала. X-ray материал, кроме текстуры использует надстройку состоящую из трёх шейдеров - Engine, Compiler, Material.&lt;br /&gt;
* Engine - отображение текстуры в движке игры.&lt;br /&gt;
* Compiler - используется при компиляции уровня.&lt;br /&gt;
* Material - игровой материал (wallmark, sound и др.).&lt;br /&gt;
Для начала настроим шейдеры. В Material Editor-e разворачиваем свиток XRay Params. В выпадающих списках представлены различные варианты шейдеров. Более подробно параметры шейдеров рассмотрены в статье [[Описание шейдеров XRayMtl]]. Для нашего примера ограничимся установкой следующих значений:&lt;br /&gt;
* Engine - default&lt;br /&gt;
* Compiler - default&lt;br /&gt;
* Material - material/asphalt&lt;br /&gt;
{|&lt;br /&gt;
| valign=top |[[Изображение:3d-max-create-xraymtl.gif|thumb|400px|Создание нового материала XRayMtl]]&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-params.gif|thumb|Настройка XRay шейдеров материала]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Текстурирование заключается в назначении текстуры процедурной карте Diffuse Color.&lt;br /&gt;
Вообще, в редакторе материалов (В свитке Maps) много процедурных карт, но X-Ray mtl поддерживает (экспортирует) лишь одну, указанную выше.&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = center|&lt;br /&gt;
backgroundcolor	= rgb(235, 235, 255);|&lt;br /&gt;
image	=Question.gif|&lt;br /&gt;
heading	=Надо ли расписать процесс назначения текстуры каналу?|&lt;br /&gt;
message =Пиши [[Обсуждение:Создание уровня, пошаговое руководство|тут]].}}&lt;br /&gt;
&lt;br /&gt;
=== Экспорт ===&lt;br /&gt;
&lt;br /&gt;
==== 3D Studio Max ====&lt;br /&gt;
Для начала выделяем все объекты, которые мы хотим экспортировать в виде единого объекта, т.е. всё, что мы выберем сейчас в редакторе будет представленно как одна модель. В нашем случае это один box.&lt;br /&gt;
&lt;br /&gt;
Переходим на командную панель Utilities, нажимаем кнопку More... В появившемся списке в самом конце видим XRay Export, выбираем, жмём ОК.&lt;br /&gt;
После запуска модуля на панели появится новый свиток XRay Export, в списке Selected можно проконтролировать какие объекты выбраны, нажимаем кнопку Export Editor Object... cохраняем файл в папку {SDK folder}\import.&lt;br /&gt;
{|&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-export.gif|thumb|400px|Запускаем модуль экспорта]]&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-export2.gif|thumb|400px|Экспорт объектов]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Импорт геометрии и текстур в пакет ==&lt;br /&gt;
При экспорте из редактора(Maya &amp;amp;&amp;amp; 3D Max) мы получим файлы *.object.&lt;br /&gt;
&lt;br /&gt;
Запускаем Level Editor и добавим нашу геометрию в Objects Library, делается это так: Objects -&amp;gt; Library Editor, откроется диалог Object Library.&lt;br /&gt;
[[Изображение:SDK-Find-new-texture.gif|thumb|Редактор нашёл текстуру]]&lt;br /&gt;
Для удобства создадим новую группу для наших объектов, щёлкаем в левой части окна ПКМ и выбираем Create Folder, переименуем в my_first_level.&lt;br /&gt;
Выделяем группу, и нажимаем кнопку Import Object, ищём наши *.object файлы, после того как объекты добавлены можно посмотреть, как они примерно будут выглядеть в игре, для этого ставим галочку Preview и любуемся нашим объектом. Теперь можно закрыть диалог Object Library.&lt;br /&gt;
&lt;br /&gt;
Если использовали свою текстуру, то её также надо добавить в пакет, Images -&amp;gt; Check New Textures. Данная команда заставляет редактор просмотреть папку SDK/Import и добавить новые файлы в Texture List, файлы должны быть в формате Targa(*.tga).&lt;br /&gt;
Не меняя ничего в диалоге импорта текстур нажимаем ОК. Всё теперь наша текстура есть в списке текстур редактора. Можно переходить к следующему шагу.&lt;br /&gt;
{|&lt;br /&gt;
|valign=top|[[Изображение:SDK-Object-Library.gif|thumb|left|Диалог Object Library]]&lt;br /&gt;
|valign=top|[[Изображение:SDK-OL-crt-grp.gif|thumb|left|Создание группы для объектов]]&lt;br /&gt;
|valign=top|[[Изображение:SDK-Update-Image-Dialog.gif|thumb|300px|Диалог импорта текстур]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Создаём уровень ==&lt;br /&gt;
Приступим к созданию уровня, начнём с расстановки объектов.&lt;br /&gt;
&lt;br /&gt;
=== Расстановка объектов :) ==&lt;br /&gt;
&lt;br /&gt;
Тутор пока незакончен, так что о подробной работе в редакторе,&lt;br /&gt;
сохранении и компиляции читаем по ссылке ниже с '''шага 6'''&lt;br /&gt;
*[[Maya. Глава 1: Hello World или первый кубик.]]&lt;br /&gt;
&lt;br /&gt;
== Подключение уровня к игре ==&lt;br /&gt;
Чтобы уровень можно было создавать прямо из игры, его необходимо добавить в список уровней.&lt;br /&gt;
Существует четыре случая, рассмотрим каждый.&lt;br /&gt;
&lt;br /&gt;
=== SDK объединён с игрой ===&lt;br /&gt;
В данном случае надо только отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня.&lt;br /&gt;
=== SDK не объединён с игрой, игра распакована ===&lt;br /&gt;
В данном случае надо также отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня + скопировать содержимое папки [SDK folder]\gamedata\levels\название уровня\ в папку [STALKER folder]\gamedata\levels\название уровня\.&lt;br /&gt;
=== SDK не объединён с игрой, игра не распакована ===&lt;br /&gt;
Повторяем действия предыдущего случая, только папки надо будет создавать самому, файл gamedata\config\mp\map_list.ltx можно взять из папки [SDK folder]\gamedata\config\mp\map_list.ltx&lt;br /&gt;
=== SDK не объединён с игрой + использовались свои текстуры ===&lt;br /&gt;
В данном случае необходимо скопировать:&lt;br /&gt;
*Текстуры из [SDK folder]\gamedata\textures\user\ в папку [STALKER folder]\gamedata\textures\user\ &lt;br /&gt;
*Файл [SDK folder]\gamedata\textures\textures.ltx в папку [STALKER folder]\gamedata\textures\&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
*[[Описание шейдеров XRayMtl]]&lt;br /&gt;
*[[Глобальное озеленение, добавляем траву на уровень]]&lt;br /&gt;
*[[Добавляем аномалии на уровень]]&lt;br /&gt;
*[[Учимся подвешивать объекты]]&lt;br /&gt;
&amp;lt;!--{{Описание шейдеров XRayMtl}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]][[Категория:Незаконченные статьи]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8</id>
		<title>Обсуждение:SoC. Спавн точек перехода между уровнями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8"/>
				<updated>2008-04-05T19:11:44Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: обновление данных&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--HikeR 23:11, 5 апреля 2008 (MSD)&lt;br /&gt;
&lt;br /&gt;
''Функция xr_effects.game_credits запускает финальные титры. Именно ее и нужно заменить на вызов нашей функции _freeplay_sa.exit_monolit''&lt;br /&gt;
&lt;br /&gt;
а почему бы просто не изменить ф-ию xr_effects.game_credits? это по поводу минимального вмешательства ;)&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8</id>
		<title>Обсуждение:SoC. Спавн точек перехода между уровнями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8"/>
				<updated>2008-04-05T19:11:33Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: обновление данных&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--HikeR 23:11, 5 апреля 2008 (MSD)&lt;br /&gt;
''Функция xr_effects.game_credits запускает финальные титры. Именно ее и нужно заменить на вызов нашей функции _freeplay_sa.exit_monolit''&lt;br /&gt;
&lt;br /&gt;
а почему бы просто не изменить ф-ию xr_effects.game_credits? это по поводу минимального вмешательства ;)&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8</id>
		<title>Обсуждение:SoC. Спавн точек перехода между уровнями</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:SoC._%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D1%82%D0%BE%D1%87%D0%B5%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%B0_%D0%BC%D0%B5%D0%B6%D0%B4%D1%83_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F%D0%BC%D0%B8"/>
				<updated>2008-04-05T19:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: обновление данных&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''Функция xr_effects.game_credits запускает финальные титры. Именно ее и нужно заменить на вызов нашей функции _freeplay_sa.exit_monolit''&lt;br /&gt;
а почему бы просто не изменить ф-ию xr_effects.game_credits? это по поводу минимального вмешательства ;)&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Ltx_Editor_%26_S.T.A.L.K.E.R._Mod_Patcher</id>
		<title>Ltx Editor &amp; S.T.A.L.K.E.R. Mod Patcher</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Ltx_Editor_%26_S.T.A.L.K.E.R._Mod_Patcher"/>
				<updated>2008-03-10T23:17:06Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* S.T.A.L.K.E.R. Mod Patcher */ перевод&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==S.T.A.L.K.E.R. Mod Patcher==&lt;br /&gt;
Автор: connect&lt;br /&gt;
&lt;br /&gt;
Программа предназначена для внесения изменения в текстовые файлы, путем исполнения командного файла - мод файла.&lt;br /&gt;
Расширение командного файла: smf.&lt;br /&gt;
Таким образом, используя данную программу, можно ставить любое кол-во модификаций, не затрагивая другие изменения.&lt;br /&gt;
&lt;br /&gt;
'''Полный перечень поддерживаемых команд:'''&lt;br /&gt;
&lt;br /&gt;
ADDAFTER - вставить строку ''после'' текущей. &amp;lt;br&amp;gt;&lt;br /&gt;
ADDBEFORE - вставить строку ''перед'' текущей.. &amp;lt;br&amp;gt;&lt;br /&gt;
AUTHOR - автор мода. &amp;lt;br&amp;gt;&lt;br /&gt;
COPY - Copies a file to a specific directory. smp will search it`s working directory for a given filename and will copy it to a given directory location. &amp;lt;br&amp;gt;&lt;br /&gt;
DELETE - удалить текущую строку. &amp;lt;br&amp;gt;&lt;br /&gt;
DESCRIPTION - описание мода. &amp;lt;br&amp;gt;&lt;br /&gt;
ECHO - Prints given line to a screen. &amp;lt;br&amp;gt;&lt;br /&gt;
GOFIRST - поставить указатель в начало файла. &amp;lt;br&amp;gt;&lt;br /&gt;
GOLAST - поставить указатель в конец файла. &amp;lt;br&amp;gt;&lt;br /&gt;
LOCATE - переместить указатель на строку содержазщую данный текст. &amp;lt;br&amp;gt;&lt;br /&gt;
OPEN - открыть файл для редактирования. &amp;lt;br&amp;gt;&lt;br /&gt;
RELOCATE - Points to a line that contains given text. &amp;lt;br&amp;gt;&lt;br /&gt;
SET - Sets a value to a variable. Can use a calculation methods. &amp;lt;br&amp;gt;&lt;br /&gt;
VERSION - версия мода. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Выглядеть модфайл будет примерно так:'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AUTHOR:connect&lt;br /&gt;
VERSION:0.1&lt;br /&gt;
DESCRIPTION:This is sample mod file&lt;br /&gt;
&lt;br /&gt;
OPEN:gamedata/config/creatures/actor.ltx&lt;br /&gt;
&lt;br /&gt;
LOCATE:[actor]&lt;br /&gt;
SET:max_item_mass=30&lt;br /&gt;
SET:walk_accel=12; -- Замедляем скорость игрока&lt;br /&gt;
&lt;br /&gt;
RELOCATE:[actor_animation]&lt;br /&gt;
SET:back_r_strafe_yaw=90&lt;br /&gt;
SET:back_l_strafe_yaw=90&lt;br /&gt;
&lt;br /&gt;
OPEN:gamedata/scripts/se_respawn.script&lt;br /&gt;
&lt;br /&gt;
LOCATE:function se_respawn:spawn()&lt;br /&gt;
LOCATE:if table.getn(self.spawned_obj) &amp;lt; self.min_count then&lt;br /&gt;
LOCATE:if self:create(100) == false then&lt;br /&gt;
REPLACE:if self:create(300) == false then&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ltx Editor==&lt;br /&gt;
Автор: Deja Vu&lt;br /&gt;
&lt;br /&gt;
Программа предназначена для создания мод файлов(.smf) или же файлов конфигурации(.ltx) для игры STALKER.&lt;br /&gt;
Избавляет от рутинной работы постмроения синтаксиса мод файла. Да и как правлио, удобнее, чем обычный текстовый редактор - при использовании только как ltx редактора.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Ltx_Editor_full_01.JPG]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Связка ltx Editor + S.T.A.L.K.E.R. Mod Patcher==&lt;br /&gt;
Представляет собой небольшое, но достаточно удобное решение по созданию модификаций игры STALKER.&lt;br /&gt;
Огромным прeимуществом использования данного принципа создание модов - его встраиваимость в уже созданные модификации, без их изменения(исключая случая, когда меняются те же свойства)&lt;br /&gt;
[[Категория:Программы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_actor.ltx</id>
		<title>Файлы: actor.ltx</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_actor.ltx"/>
				<updated>2008-03-10T23:11:20Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* Параметры сложности */ оформление, в табличке может удобнее?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Параметры передвижения==&lt;br /&gt;
*max_item_mass = ; необходимо изменить также параметр max_weight в [[system.ltx]]&lt;br /&gt;
&lt;br /&gt;
*jump_speed    =  ;высота прыжка&lt;br /&gt;
*crouch_coef = &lt;br /&gt;
*climb_coef	= &lt;br /&gt;
*run_coef                = &lt;br /&gt;
*sprint_koef				= &lt;br /&gt;
*run_back_coef			= &lt;br /&gt;
*walk_back_coef			= &lt;br /&gt;
*air_control_param		= &lt;br /&gt;
*walk_accel              =&lt;br /&gt;
&lt;br /&gt;
==Параметры сложности==&lt;br /&gt;
*hit_probability_gd_novice		= 0.20&lt;br /&gt;
*hit_probability_gd_stalker		= 0.30&lt;br /&gt;
*hit_probability_gd_veteran		= 0.40&lt;br /&gt;
*hit_probability_gd_master		= 0.50&lt;br /&gt;
&lt;br /&gt;
Коэффициэнты иммунитета при повышении сложности в секциях [actor_immunities_gd_*]:&lt;br /&gt;
&lt;br /&gt;
*1 - новичек&lt;br /&gt;
*2 - сталкер&lt;br /&gt;
*3 - ветеран&lt;br /&gt;
*4 - мастер&lt;br /&gt;
{| class=&amp;quot;simple&amp;quot; border=1&lt;br /&gt;
!Параметр|| ||1||2||3||4||название&lt;br /&gt;
|-&lt;br /&gt;
|burn_immunity||=||0.5||0.65||0.8||1.0||огонь&lt;br /&gt;
|-&lt;br /&gt;
|strike_immunity||=||0.5||0.65||0.8||1.0||удар&lt;br /&gt;
|-&lt;br /&gt;
|shock_immunity||=||0.5||0.65||0.8||1.0||электрошок&lt;br /&gt;
|-&lt;br /&gt;
|wound_immunity||=||0.5||0.65||0.8||1.0||разрыв &lt;br /&gt;
|-&lt;br /&gt;
|radiation_immunity||=||0.5||0.65||0.8||1.0||радиация&lt;br /&gt;
|-&lt;br /&gt;
|telepatic_immunity||=||0.5||0.65||0.6||1.0||пси воздействие&lt;br /&gt;
|-&lt;br /&gt;
|chemical_burn_immunity||=||0.5||0.65||0.8||1.0||химческие вещества&lt;br /&gt;
|-&lt;br /&gt;
|explosion_immunity||=||0.1||0.3||0.6||1.0||взрывы&lt;br /&gt;
|-&lt;br /&gt;
|fire_wound_immunity||=||0.5||0.65||0.8||1.0||пулестойкость&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=S.T.A.L.K.E.R._Inside_Wiki:%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B</id>
		<title>S.T.A.L.K.E.R. Inside Wiki:Администраторы</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=S.T.A.L.K.E.R._Inside_Wiki:%D0%90%D0%B4%D0%BC%D0%B8%D0%BD%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B"/>
				<updated>2007-11-30T16:44:37Z</updated>
		
		<summary type="html">&lt;p&gt;HikeR: /* HikeR */ поменял почту, пароль на старый ящик забыл ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Технические админы ==&lt;br /&gt;
Отвечают на любые вопросы. Принимают пожелания, предложения по функционалу и работе базы знаний.&lt;br /&gt;
&lt;br /&gt;
=== Neo][ ===&lt;br /&gt;
*[mailto:neo@stalkerin.gameru.net электронная почта]&lt;br /&gt;
*ICQ: *********&lt;br /&gt;
&lt;br /&gt;
== Главные редакторы ==&lt;br /&gt;
Отвечают на любые вопросы. Принимают пожелания, предложения по материалам, находящимся в базе знаний.&lt;br /&gt;
&lt;br /&gt;
=== [[Участник:HikeR|HikeR]] ===&lt;br /&gt;
*[mailto:hhrhhr@gmail.com электронная почта]&lt;br /&gt;
*ICQ: 58258575&lt;/div&gt;</summary>
		<author><name>HikeR</name></author>	</entry>

	</feed>