<?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=93.186.101.147&amp;*</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.186.101.147&amp;*"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/93.186.101.147"/>
		<updated>2026-04-30T18:46:19Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D1%8B_%D0%B2%D1%8B%D0%BB%D0%B5%D1%82%D0%BE%D0%B2_%D0%B8%D0%B3%D1%80%D1%8B_(%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%B8)</id>
		<title>Причины вылетов игры (разбираем логи)</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9F%D1%80%D0%B8%D1%87%D0%B8%D0%BD%D1%8B_%D0%B2%D1%8B%D0%BB%D0%B5%D1%82%D0%BE%D0%B2_%D0%B8%D0%B3%D1%80%D1%8B_(%D1%80%D0%B0%D0%B7%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC_%D0%BB%D0%BE%D0%B3%D0%B8)"/>
				<updated>2011-04-28T17:24:14Z</updated>
		
		<summary type="html">&lt;p&gt;93.186.101.147: Вылет Can't find variable - сделал общее описание, а не только конкретного случая&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Привет всем! Игра сталкер, а конкретно сам движок X-ray довольно капризный, и зачастую как в процессе модификации, так и во время игры игра «вылетает». Чтобы мы знали причину вылета, движок нам оставляет лог вылета. Лог вылета можно посмотреть несколькими способами:&lt;br /&gt;
* В текстовом редакторе нажать Ctrl+V (Вставить)&lt;br /&gt;
* Посмотреть лог игры включая лог вылета в файле xray_имя_пользователя.log в папке C:\Documents and Settings\All Users\Документы\STALKER-***\logs&lt;br /&gt;
* Посмотреть непосредственно в окне багтрекера (только в ЧН и ЗП).&lt;br /&gt;
Ну приступим. Начнём с простых:&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : wave&amp;amp;&amp;amp;wave-&amp;gt;length()&lt;br /&gt;
Function      : CSoundRender_Source::LoadWave&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xrSound\SoundRender_Source_loader.cpp&lt;br /&gt;
Line          : 65&lt;br /&gt;
Description   : Can't open wave file:&lt;br /&gt;
Arguments     : d:\stalker\gamedata\sounds\music\sound.ogg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Здесь игра не может открыть звуковой OGG-файл под названием sound в папке d:\stalker\gamedata\sounds\music\&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CRender::texture_load&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp&lt;br /&gt;
Line          : 295&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find texture 'act\act_corp_monolit'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не может найти текстуру act_corp_monolit из папки textures\act&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CModelPool::Instance_Load&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrRender\ModelPool.cpp&lt;br /&gt;
Line          : 111&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find model file 'physics\mesh.ogf'.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найдена трёхмерная OGF-модель mesh.ogf из папки meshes\physics.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : SG&lt;br /&gt;
Function      : CRender::model_CreateParticles&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrRender_R2\r2.cpp&lt;br /&gt;
Line          : 330&lt;br /&gt;
Description   : Particle effect or group doesn't exist&lt;br /&gt;
Arguments     : hit_fx\hit_water_00&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найдена система частиц (партикл) hit_water_00 в директории hit_fx файла particles.xr (подробно опишу позже).&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CResourceManager::_GetBlender&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\ResourceManager.cpp&lt;br /&gt;
Line          : 49&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Shader 'models\antigas_glass' not found in library.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найден шейдер models\antigas_glass в библиотеке шейдеров.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fs&lt;br /&gt;
Function      : CResourceManager::_CreateVS&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\ResourceManager_Resources.cpp&lt;br /&gt;
Line          : 185&lt;br /&gt;
Description   : shader file doesnt exist&lt;br /&gt;
Arguments     : d:\stalker\gamedata\shaders\r2\deffer_impl_flat.vs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найден файл шейдера deffer_impl_flat.vs.&lt;br /&gt;
&amp;lt;tt&amp;gt;--Added by Герр. Роммель&lt;br /&gt;
Да нет. Тут проблема вся в том, что неправильно закомпилился шейдер, при компиляции уровня на качестве, более высоком чем Draft. Нужно скачивать исправление шейдеров от товарища Haron.&lt;br /&gt;
Для ЗП (ЧН) это может ещё быть из-за отсутствия thm&amp;quot;ок для текстур терраина уровня!&amp;lt;/tt&amp;gt;&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression : fatal error&lt;br /&gt;
Function : out_of_memory_handler&lt;br /&gt;
File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp&lt;br /&gt;
Line : 336&lt;br /&gt;
Description : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments : Out of memory. Memory request: 55965 K &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Нехватка оперативной памяти.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression : fatal error&lt;br /&gt;
Function : CInifile::r_string&lt;br /&gt;
File :E:\stalker\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line : 352&lt;br /&gt;
Description : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments : Can't find variable ammo_mag_size in [wpn_addon_grenade_launcher]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найдена переменная ammo_mag_size в секции [wpn_addon_grenade_launcher].&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CScriptEngine::lua_error&lt;br /&gt;
File          : D:\xray-svn\xr_3da\xrGame\script_engine.cpp&lt;br /&gt;
Line          : 74&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : LUA error: C stack overflow&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Переполнение стека. Смотрим внимательно: lua_error. Ошибка возможно в скриптах.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression : vertex || show_restrictions(m_object)&lt;br /&gt;
Function : CPatrolPathManager::select_point&lt;br /&gt;
File : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp&lt;br /&gt;
Line : 155&lt;br /&gt;
Description : any vertex in patrol path [sniper_3_walk] in inaccessible for object [stalker_0002]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Какая то вершина (вейпоинт) пути sniper_3_walk стоит в неположенном месте (например не на аи-сетке). Объект stalker_0002 (в данном случае сталкер) который якобы двигался по пути sniper_3_walk попал на эту точку, а заодно ушёл за аи-сетку. Этого движок не терпит.&lt;br /&gt;
&lt;br /&gt;
Тоже самое произойдет если координаты(вейпоинт) пути sniper_3_walk совпадет с координатами места где нпс запрешенно находится буть то рестриктор или аномалия в схеме обхода аномалий.&lt;br /&gt;
Также этот вылет набюдается при попытке отправить нпс за пределы места работ параметр out_rest = &amp;quot;имя_рестриктора&amp;quot;,&lt;br /&gt;
в файле загрузки работ гулага&lt;br /&gt;
&lt;br /&gt;
попробуйте любого сталкера из лагеря новичков отправить допустим к остановке&lt;br /&gt;
получите этот самый вылет&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression : e_entity&lt;br /&gt;
Function : xrServer::Process_event_reject&lt;br /&gt;
File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp&lt;br /&gt;
Line : 12&lt;br /&gt;
Description : entity not found. id_parent=7540 id_entity=44047 frame=2075050&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Возникают иногда произвольно при смерти неписей. Причина — движок отрабатывая лут изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression : fatal error&lt;br /&gt;
Function : CScriptEngine::lua_error&lt;br /&gt;
File : D:\xray-svn\xr_3da\xrGame\script_engine.cpp&lt;br /&gt;
Line : 74&lt;br /&gt;
Description : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments : LUA error: e:\stalker\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ошибка распространённая. На первый взгляд кажется, что ошибка как раз в скриптах, но всё может быть иначе. Делаем так: открываем файл _g.script блокнотом, закоменчиваем 20 строку (ставим перед строкой --) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : assertion failed&lt;br /&gt;
Function      : _VertexStream::Lock&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\R_DStreams.cpp&lt;br /&gt;
Line          : 44&lt;br /&gt;
Description   : (bytes_need&amp;lt;=mSize) &amp;amp;&amp;amp; vl_Count&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Проблема возникает при убийстве НПС\мутанта. Типичный вылет по нехватке ресурсов. Встречается в основном на больший локациях.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : IRender_Visual::Load&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\FBasicVisual.cpp&lt;br /&gt;
Line          : 58&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Invalid visual&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Неправильный визуал (модель) НПС.&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : !phrase_dialog-&amp;gt;m_PhraseVector.empty()&lt;br /&gt;
Function      : CPhraseDialog::SayPhrase&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\PhraseDialog.cpp&lt;br /&gt;
Line          : 140&lt;br /&gt;
Description   : No available phrase to say, dialog[esc_dialog]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В диалоге esc_dialog нет доступной для отображения фразы (скажем все заткнуты инфопоршенами).&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : motion_ID.valid()&lt;br /&gt;
Function      : CKinematicsAnimated::ID_Cycle&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\Layers\xrRender\SkeletonAnimated.cpp&lt;br /&gt;
Line          : 210&lt;br /&gt;
Description   : ! MODEL: can't find cycle:&lt;br /&gt;
Arguments     : death_init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Игра не нашла в модели трёхмерную анимацию с именем death_init.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
--------------&lt;br /&gt;
* Автор статьи — '''Pihan13'''&lt;br /&gt;
* Дополнил статью — '''Fireman3000'''&lt;br /&gt;
* Частично использовалась информация с сайта http://forum.stalker-simbion.ru/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; '''Не стесняемся — дополняем, если знаем о чём идёт речь.''' &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дополнение к статье(От Fireman3000):&lt;br /&gt;
Извините если где нибудь я неправильно пишу. Уж не родился я Колмогором :(&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CScriptEngine::lua_error&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp&lt;br /&gt;
Line          : 73&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : LUA error: ...hadow of chernobyl\gamedata\scripts\xr_danger.script:116: attempt to index field 'ignore_types' (a nil value)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Причина вылета в том что игра не понимает значения 0 в danger_ignore.Проще говоря в логике какого то персонажа параметр danger_ignore = 0 либо в минусовом значении. Либо его вообще нету&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 352&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable class in [test_no_klass_npc]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найден класс персонажа. Возможно, нпс не прописан под своим классом в gamedata\npc_profile.xml, либо в creatures\spawn_section.ltx, либо в gameplay\character_desc.xml&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_section&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 342&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't open section 'bandage_test_kick1'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Игра не может найти секцию. Это может быть предмет, нпс и многое другое. Возможно, вы написали название с ошибками. Либо когда добавляли его в: продажу, скрипт, нпс, выпадение из нпс а в редких случиях это может быть иммунитет чего либо(определить пото трудно). Часто такое бывает связано с названием&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 352&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable remove_time in [vehicle_btr]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Не найдена переменная remove_time в секции [vehicle_btr]. А в данном случае ошибка в том что если вы делали предмет как физическую модель(тобишь которую нельзя использовать, говорить и вообще он похож на декорации типа деревьев, столов и прочего хлама) то необходимо указывать remove_time в его секции&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : fatal error&lt;br /&gt;
Function      : CScriptEngine::lua_error&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp&lt;br /&gt;
Line          : 73&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : LUA error: ...dow of chernobyl\gamedata\scripts\test_kick.script:34: attempt to call method 'section' (a nil value)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Метод обращения в игре не предусмотрен. Возможно, стоит пересмотреть подход к тому или иному скрипту&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Expression    : rpoints[0].size()&lt;br /&gt;
Function      : game_sv_Deathmatch::Create&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrGame\game_sv_deathmatch.cpp&lt;br /&gt;
Line          : 99&lt;br /&gt;
Description   : rpoints for players not found&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
На мультиплеерной карте не найдены точки респавна игроков.&lt;br /&gt;
--------------------------------------------------------------------------------------&lt;br /&gt;
Небольшой пример из практики по определению ошибки в особых случаях(для начинающих):&lt;br /&gt;
Игра зависла, картинка на экране не меняется, на Ctrl + Alt+ Delete не реагирует. Только &amp;quot;Холодная перезагрузка&amp;quot; reset. Но при этом обычно в логе нет записи и обычным Ctrl + V ошибку не увидеть.&lt;br /&gt;
Я пользуюсь программой Punto Switcher. Есть в ней опция &amp;quot;дневник&amp;quot;, она ведёт запись всех нажатий клавиш и по нажатию сочетаний клавиш содержимое памяти может записывать в дневник.&lt;br /&gt;
теперь когда игра зависла и картинка на экране не меняется, нажимаете Ctrl + Alt+ Delete. Внешне ничего не изменится, но ОС будет реагировать&lt;br /&gt;
на клавиши, нажимаете сочетание клавишь &amp;quot;записать в дневник&amp;quot;. Делаете перезагрузку, открываете дневник - Ваша ошибка записана.&lt;br /&gt;
&amp;quot;дядя Саша&amp;quot;&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
[[Категория:FAQ]]&lt;/div&gt;</summary>
		<author><name>93.186.101.147</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>2011-03-07T10:13:11Z</updated>
		
		<summary type="html">&lt;p&gt;93.186.101.147: /* 3.3.12. dont_spawn_loot */&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;
Если прописать эту секцию в кастом дату персонажу, то у него внутри не заспавниться стандартный набор барахла, прописанный в профиле.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[dont_spawn_character_supplies]&amp;lt;br&amp;gt;&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;
Есть возможность изменять у сталкеров параметры, по которым они атакуют монстров. Этих параметра два:&amp;lt;br&amp;gt;&lt;br /&gt;
'''max_ignore_distance''' (в данный момент дефолт 15 метров). Сталкер будет всегда атаковать монстров, которые находятся внутри данного радиуса.&amp;lt;br&amp;gt;&lt;br /&gt;
'''ignore_monster''' (в данный момент дефолт 0). Параметр от 0 до 1. Если функция оценки монстра ниже, чем этот параметр, и монстр находится за пределами вышеуказанного радиуса - он будет атакован. В данный момент все настроено так, что сталкеры вообще не атакуют монстров находящихся дальше чем 15 метров от них.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В секции логики либо в текущей схеме указываете:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
threshold = threshold@tratata&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[threshold@tratata]&amp;lt;br&amp;gt;&lt;br /&gt;
max_ignore_distance = &amp;lt;number&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
ignore_monster = &amp;lt;number&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Второй параметр следует менять ОЧЕНЬ осторожно. Помните, в него нужно вписывать значение '''от 0 до 1'''! &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.3.10. Danger==&lt;br /&gt;
&lt;br /&gt;
Настройка может задаваться только в какой-то схеме, например:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[walker]&amp;lt;br&amp;gt;&lt;br /&gt;
danger = danger_condition&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[danger_condition]&amp;lt;br&amp;gt;&lt;br /&gt;
ignore_distance = 50 (расстояние указывается в метрах)&amp;lt;br&amp;gt;&lt;br /&gt;
ignore_ distance_grenade = &amp;lt;br&amp;gt;&lt;br /&gt;
ignore_ distance_corpse = &amp;lt;br&amp;gt;&lt;br /&gt;
ignore_ distance_hit = &amp;lt;br&amp;gt;&lt;br /&gt;
ignore_ distance_sound = &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Можно также указывать время ожидания для денжера в зависимости от типа:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
danger_inertion_time_grenade = &amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_corpse =&amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_hit =&amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_sound =&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дефолтовые настройки:&amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_grenade  = 20000&amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_corpse   = 10000&amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_hit      = 60000&amp;lt;br&amp;gt;&lt;br /&gt;
danger_inertion_time_sound    = 15000&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB!!Также эти настройки теперь распространяются и на схему кемпера. То есть в настройках кемпера перестало работать поле danger_radius. Теперь данные берутся из секции денжера согласно общих правил.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Алгоритм работы такой: Сперва проверяется, что расстояние до опасности не отсекается по ignore_danger. Если опасность ближе, то тогда анализируется ее тип, и проверяется по соотвествующему данному типу расстоянию. Если опасность ближе - тогда разрешается реакция на нее.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данный момент установлены следующие дефолты:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ignore_distance = 50&amp;lt;br&amp;gt;&lt;br /&gt;
ignore_distance_grenade = 15&amp;lt;br&amp;gt;&lt;br /&gt;
ignore_distance_corpse = 10&amp;lt;br&amp;gt;&lt;br /&gt;
ignore_distance_hit = 50&amp;lt;br&amp;gt;&lt;br /&gt;
ignore_distance_sound = 50&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: если надо, чтобы в разных случаях сталкер игнорировал разные типы данжеров, создается несколько секций данжера danger_condition@1, danger_condition@2 и так далее.&amp;lt;br&amp;gt;&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]&amp;lt;br&amp;gt;&lt;br /&gt;
stories = &amp;quot;story_01, legend_01&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В кавычках список историй и легенд через запятую. Пока что существуют следующие истории и легенды:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
story_01 - Граница зоны и граната за 1 действие.&amp;lt;br&amp;gt;&lt;br /&gt;
story_02 - Про трамплин и про камешки&amp;lt;br&amp;gt;&lt;br /&gt;
story_03 - Про то как группа Вильнова вернулась&amp;lt;br&amp;gt;&lt;br /&gt;
story_04 - Про то как Костя Федорин наткнулся на артефакт и пропал на радаре.&amp;lt;br&amp;gt;&lt;br /&gt;
story_05 - Про то как духманам с контролером стражаться.&amp;lt;br&amp;gt;&lt;br /&gt;
story_06 - Про дверцу, водку и избушку.&amp;lt;br&amp;gt;&lt;br /&gt;
legend_01 - Про эксперимент в Зоне, который производят инопланетяне.&amp;lt;br&amp;gt;&lt;br /&gt;
legend_02 - Об особо засекреченных лабораториях в зоне.&amp;lt;br&amp;gt;&lt;br /&gt;
legend_03 - Легенда о проводнике&amp;lt;br&amp;gt;&lt;br /&gt;
legend_04 - Легенда о темном сталкере&amp;lt;br&amp;gt;&lt;br /&gt;
legend_05 - Легенда о том что глубоко в Зоне спать нельзя.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
О том какие истории и легеды в каком лагере на каком уровня можно и нельзя юзать узнавать у Профа.&amp;lt;br&amp;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;
Настройки, которые меняют поведение общих схем, в зависимости от активной в данный момент обычной схемы (все они необязательны)&amp;lt;br&amp;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;
==3.5. Схемы для монстров==&lt;br /&gt;
&lt;br /&gt;
==3.5.1. Схема mob_walker.==&lt;br /&gt;
Работает аналогично схеме обычного walker. Но есть некоторые отличия&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаги пути движения&amp;lt;br&amp;gt;&lt;br /&gt;
s=звуковая_схема (idle, eat, attack, attack_hit, take_damage, die, threaten, steal, panic, growling) с - идти дальше в присяде r - дальше бежать sig=signal_name - установить заданный сигнал для xr_logic &amp;lt;br&amp;gt;&lt;br /&gt;
Флаги пути обзора:&amp;lt;br&amp;gt;&lt;br /&gt;
t=время_мсек - время в миллисекундах, которое нужно ждать, смотря в точку a=anim_set - анимация (stand_idle, sit_idle, lie_idle, eat, sleep, rest, attack, look_around, turn)&amp;lt;br&amp;gt;&lt;br /&gt;
В customdata персонажа задайте (* отмечены обязательные поля): &amp;lt;br&amp;gt;&lt;br /&gt;
[walker]&amp;lt;br&amp;gt;&lt;br /&gt;
path_walk = путь перемещения&amp;lt;br&amp;gt;&lt;br /&gt;
path_look = путь обзора&amp;lt;br&amp;gt;&lt;br /&gt;
*no_reset = true/false - не сбрасывать action предыдущей схемы (если нужно сохранить, например, звук). По умолчанию false.&amp;lt;br&amp;gt;&lt;br /&gt;
*actor_friendly = true/false - монстр никогда первым не нападает на игрока, но если игрок хоть раз атакует монстра - этот режим навсегда отключится. По умолчанию false.&amp;lt;br&amp;gt;&lt;br /&gt;
*npc_friendly = true/false - монстр никогда первым не нападет на другого монстра (даже враждебного).&amp;lt;br&amp;gt;&lt;br /&gt;
*friendly = true/false - монстр не нападает ни на игрока, ни на монстров. В случае агрессии с их стороны, не запоминает их как врагов и остается дружественным ко всем. По умолчанию false.&amp;lt;br&amp;gt;&lt;br /&gt;
Файл: \gamedata\scripts\mob_walker.script&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У кровосососов можно управлять невидимостью:&amp;lt;br&amp;gt;&lt;br /&gt;
[mob_walker]&amp;lt;br&amp;gt;&lt;br /&gt;
...&amp;lt;br&amp;gt;&lt;br /&gt;
state = vis&amp;lt;br&amp;gt;&lt;br /&gt;
или&amp;lt;br&amp;gt;&lt;br /&gt;
state = invis&amp;lt;br&amp;gt;&lt;br /&gt;
Задает значение по умолчанию.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также в флагах walk пути mob_walker-а можно использовать флажок b&amp;lt;br&amp;gt;&lt;br /&gt;
(behaviour) с теми же параметрами:&amp;lt;br&amp;gt;&lt;br /&gt;
wp00|b=vis&amp;lt;br&amp;gt;&lt;br /&gt;
wp00|b=invis&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.5.2. Схема mob_eluder==&lt;br /&gt;
Монстр перемещается по точкам патрульного пути (не учитывая связи между точками), держась на расстоянии от игрока, при этом придерживаясь своего пути, выходя из под схемы при слишком близком приближении к игроку, и возвращаясь обратно, когда расстояние увеличиться.&amp;lt;br&amp;gt;&lt;br /&gt;
path  = … работает как обычно path_walk. Набор точек патрульного пути.&amp;lt;br&amp;gt;&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;
Замечание – работает нестабильно.&amp;lt;br&amp;gt;&lt;br /&gt;
Файл: \gamedata\scripts\mob_eluder.script&amp;lt;br&amp;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 служит для задания прыжков монстров без каких либо проверок и ограничений (расстояние, углы и т.д.). Указывается позиция с помощью патрульного пути, смещение относительно этой позиции и физический фактор прыжка.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[logic]&amp;lt;br&amp;gt;&lt;br /&gt;
active = mob_jump&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[mob_jump]&amp;lt;br&amp;gt;&lt;br /&gt;
path_jump = path&amp;lt;br&amp;gt;&lt;br /&gt;
ph_jump_factor =2.8&amp;lt;br&amp;gt;&lt;br /&gt;
offset = 0,10,0&amp;lt;br&amp;gt;&lt;br /&gt;
on_signal = jumped | nil&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
path_jump – путь, с помощью которого мы задаем 1 целевую точку прыжка (с нулевым индексом). Реальная точка учитывает позицию path_jump[0] + смещение, заданное с помощью offset.&amp;lt;br&amp;gt;&lt;br /&gt;
offset – смещение по осям x,y,z соответственно, с помощью которого задается реальная точка в пространстве (может не находится на аи-ноде). &amp;lt;br&amp;gt;&lt;br /&gt;
ph_jump_factor - влияет на время прыжка. Визуально с помощью него задается кривизна траектории полёта. Чем он больше, тем прыжок более острый, быстрый (меньше дуга). С помощью данной схемы можно делать: перепрыгивание со здания на здание, выпрыгивание из окна, перепрыгивание высоких ограждений и др. Дефолтное значение = 1,8&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примечание:&amp;lt;br&amp;gt;&lt;br /&gt;
Фактически mob_jump - это не состояние, а разовое действие. При переходе в него монстр разворачивается в сторону прыжка и прыгает, поднимая сигнал jumped. Т.е. &amp;quot;on_signal = jumped | имя_схемы_или_nil&amp;quot; – является обязательным параметром в схеме, чтобы знать куда переходить дальше.&amp;lt;br&amp;gt;&lt;br /&gt;
При выборе позиции используется первая точка патрульного пути (0-вой индекс)&amp;lt;br&amp;gt;&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]&amp;lt;br&amp;gt;&lt;br /&gt;
active = mob_camp&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[mob_camp]&amp;lt;br&amp;gt;&lt;br /&gt;
path_look = way_look&amp;lt;br&amp;gt;&lt;br /&gt;
path_home = way_home&amp;lt;br&amp;gt;&lt;br /&gt;
time_change_point = 30000&amp;lt;br&amp;gt;&lt;br /&gt;
home_min_radius  = 20&amp;lt;br&amp;gt;&lt;br /&gt;
home_max_radius = 50&amp;lt;br&amp;gt;&lt;br /&gt;
skip_transfer_enemy – если прописать в кастом дату, то монстр не будет принимать врага от друших монстров, если его увидит (для этого нужно всех монстров в разные group разнести)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Описание параметров:&amp;lt;br&amp;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;
Особенности:&amp;lt;br&amp;gt;&lt;br /&gt;
Минимальный и максимальный радиус необходимы для игнорирования врага, если он убежал далеко и для возврата на текущую позицию. Учитывается дистанция от врага до текущей позиции. Если дистанция меньше home_min_radius - атакуем врага, пока враг не исчезнет или дистанция не будет больше home_max_radius.&amp;lt;br&amp;gt;&lt;br /&gt;
Две дистанции необходимы для того, чтобы избежать ситуации, когда игрок стоит на границе радиуса действия и входит/выходит в зону и монстр бегает то в свою camp-позицию, то на врага.&amp;lt;br&amp;gt;&lt;br /&gt;
Выбор текущей позиции производится случайным образом&amp;lt;br&amp;gt;&lt;br /&gt;
Индексы точек пути для path_home и path_look должны совпадать (т.е. монстр сидит во второй точке path_home и смотрит во вторую точку path_look)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Единственным необходимым параметром является path_look&amp;lt;br&amp;gt;&lt;br /&gt;
Если не установлен path_home, в качестве кемперской точки учитывается позиция и нода объекта на спауне.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для того чтобы монстр смотрел в разные точки на кемпер-позиции, path_look может состоять из нескольких точек.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Обязательные требования:&amp;lt;br&amp;gt;&lt;br /&gt;
home_min_radius &amp;lt; home_max_radius&amp;lt;br&amp;gt;&lt;br /&gt;
Количество точек путей path_look и path_home должно быть равным&amp;lt;br&amp;gt;&lt;br /&gt;
P.S. Mob_Camp можно использовать как альтернативу к монстрам под рестрикторами&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.5.8. Mob_home==&lt;br /&gt;
Схема является ещё одним решением по замене рестрикторов. Рекомендую все следующие гулаги монстров делать на mob_home, а старые гулаги постепенно переводить на mob_home. У кого рестрикторы работают хорошо и красиво, их можно не трогать. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример:&amp;lt;br&amp;gt;&lt;br /&gt;
[mob_home]&amp;lt;br&amp;gt;&lt;br /&gt;
path_home = path1&amp;lt;br&amp;gt;&lt;br /&gt;
home_min_radius = 10&amp;lt;br&amp;gt;&lt;br /&gt;
home_max_radius = 30&amp;lt;br&amp;gt;&lt;br /&gt;
aggressive_home	- в назначенную точку path_home монстры бегут а не идут.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Описание:&amp;lt;br&amp;gt;&lt;br /&gt;
Монстры держатся вокруг точек пути path_home. В атаке бросаются на врага, если враг внутри home_min радиуса, иначе прячутся в укрытия. Отсюда следует, что home_min -радиус желательно делать таким, чтобы внитри было достаточно каверов. В айдле тоже обычно расходятся по каверам. Home_max радиус сделан по принципу большого рестриктера в схеме «гнездо».&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавлена возможность задания минимального и максимального радиусов для схемы mob_home в флагах первой точки пути (path_home). Для этого введены флаги minr и maxr. В случае, если радиусы заданы и в секции и во флагах, то значение радиуса берется из секции. Если не задано ни там, ни там, то берутся дефолтные значения 20 и 40 соответственно.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.5.9. Mob_fake_death==&lt;br /&gt;
&lt;br /&gt;
Появилась схема mob_fake_death для зомби. Необходимо для сценок, когда игрок идёт, а вокруг него начинают подниматься зомби...&amp;lt;br&amp;gt;&lt;br /&gt;
Использование:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[logic]&amp;lt;br&amp;gt;&lt;br /&gt;
active = mob_fake_death&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[mob_fake_death]&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_dist_le = 5 | nil&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При входе в схему зомби падает, при выходе из схемы встает.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.6. Оверрайды для монстров:==&lt;br /&gt;
actor_friendly = если true, то монстр не атакует актера, до первой атаки на него&amp;lt;br&amp;gt;&lt;br /&gt;
npc_friendly = если true, то монстр не атакует сталкеров и монстров, до первой атаки на него&amp;lt;br&amp;gt;&lt;br /&gt;
friendly = если true, то монстр не атакует никого до первой атаки на него&amp;lt;br&amp;gt;&lt;br /&gt;
braindead = если true, то монстр игнорирует любые атаки.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Секции для монстров&amp;lt;br&amp;gt;&lt;br /&gt;
[mob_death], [mob_hit]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.7. Секция spawner==&lt;br /&gt;
Эта секция, которая присутствует как у NPC, так и у монстров, спавнит их по определенному условию (выводит в онлайн). Для того, чтобы они появились в данной точке, им надо поставить в настройках в Level editor флажок no_move_in_offline и отключен can_switch_offline. Спавнер прописывается в кастом дату объекта перед секцией logic&amp;lt;br&amp;gt;&lt;br /&gt;
Работает spawner следующим образом:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[spawner]&amp;lt;br&amp;gt;&lt;br /&gt;
cond = {+info -info =func  !func}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примечание. Если условия спавна не будет выполняться, то объект не заспавниться, а если он заспавнился и условие перестает выполняться, то объект будет спавнером уведен в оффалйн.&amp;lt;br&amp;gt;&lt;br /&gt;
Пример: &amp;lt;br&amp;gt;&lt;br /&gt;
[spawner]&amp;lt;br&amp;gt;&lt;br /&gt;
cond = {=is_day}&amp;lt;br&amp;gt;&lt;br /&gt;
(объект заспавниться днем и уйдет в оффлайн ночью)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После того, как объект заспавнился, его берет под управление скрипт Logic&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==3.7.1. Спавн монстров дневных и ночных.==&lt;br /&gt;
[spawner]&amp;lt;br&amp;gt;&lt;br /&gt;
cond = {=is_day} – спавнить монстра только днем (если надо ночью, то пишем {!is_day})&amp;lt;br&amp;gt;&lt;br /&gt;
check_distance = true – проверка на наличие персонажа рядом.&amp;lt;br&amp;gt;&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 писать не надо!)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Скрипт logic управляет переключением схем. &amp;lt;br&amp;gt;&lt;br /&gt;
В customdata любого персонажа (кроме свободных) должна присутствовать секция [logic]. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Функции, на которые ссылается секция [logic] должны находится в файлах \gamedata\scripts\xr_effects.script или \gamedata\scripts\xr_conditions.script.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В секции должно присутствовать одно из полей: &amp;lt;br&amp;gt;&lt;br /&gt;
active = активная схема, запускающаяся первой.&amp;lt;br&amp;gt;&lt;br /&gt;
cfg = имя_ltx_файла_с_настройками&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если задано поле cfg, то в качестве настроек персонажа будет использовано содержимое указанного файла. &amp;lt;br&amp;gt;&lt;br /&gt;
Пример. Настройки простого walker-а: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[logic]&amp;lt;br&amp;gt;&lt;br /&gt;
active = walker&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[walker]&amp;lt;br&amp;gt;&lt;br /&gt;
path_walk = walk1&amp;lt;br&amp;gt;&lt;br /&gt;
path_look = look1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Переключение схем выполняется с помощью дополнительных условий схемы logic, которые прописываются в секции текущей активной схемы. Существуют следующие условия переключения: &amp;lt;br&amp;gt;&lt;br /&gt;
Список доступных схем перечислен в главе схемы.&amp;lt;br&amp;gt;&lt;br /&gt;
Примечание: если logic переключает между несколькими одноименными схемами (например несколькими walker), то их можно нумеровать (walker1, walker2) или через @ давать более информативные названия walker@day, walker@alarm и т.д.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on_actor_dist_le = number | scheme - дистанция до игрока &amp;lt;= number&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_dist_le_nvis = number | scheme - дистанция до игрока &amp;lt;= number без проверки на видимость&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_dist_ge = number | scheme - если дистанция до игрока &amp;gt; number&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_dist_ge_nvis = number | scheme - если дистанция до игрока &amp;gt; number без проверки на видимость&amp;lt;br&amp;gt;&lt;br /&gt;
on_signal = signal | scheme - срабатывает по приходу сигнала signal от текущей активной схемы&amp;lt;br&amp;gt;&lt;br /&gt;
on_info = scheme - срабатывает всегда&amp;lt;br&amp;gt;&lt;br /&gt;
on_timer = msec | scheme - срабатывает через msec мс после включения схемы&amp;lt;br&amp;gt;&lt;br /&gt;
on_game_timer = sec| scheme – срабатывает через sec секунд игрового времени, после включения схемы&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_in_zone = restrictor_name | scheme – если актер в зоне, (указывается имя рестриктора)&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_not_in_zone = restrictor_name | scheme – если актер не в зоне, (указывается имя рестриктора)&amp;lt;br&amp;gt;&lt;br /&gt;
on_npc_in_zone = npc_story_id | restrictor_name | scheme – если NPC в зоне, указывается story_id NPC, и имя рестриктора&amp;lt;br&amp;gt;&lt;br /&gt;
on_npc_not_in_zone = npc_story_id | restrictor_name | scheme - если NPC не в зоне, указывается story_id NPC, и имя рестриктора&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_inside = scheme - зона проверяет, находится ли игрок внутри нее&amp;lt;br&amp;gt;&lt;br /&gt;
on_actor_outside = scheme - зона проверяет, находится ли игрок за ее пределами&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NB: с любыми из вышеперечисленных параметров можно работать следующим образом:&amp;lt;br&amp;gt;&lt;br /&gt;
on_info = {….} %...%&amp;lt;br&amp;gt;&lt;br /&gt;
on_info2 = {….} %...%&amp;lt;br&amp;gt;&lt;br /&gt;
on_info3 = {…} %...%&amp;lt;br&amp;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;
combat_ignore_cond = &amp;lt;br&amp;gt;&lt;br /&gt;
on_hit = &amp;lt;br&amp;gt;&lt;br /&gt;
on_death = &amp;lt;br&amp;gt;&lt;br /&gt;
on_combat = &amp;lt;br&amp;gt;&lt;br /&gt;
on_use =&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Часть 3]]===&lt;br /&gt;
&lt;br /&gt;
[[Категория:A-Life]][[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>93.186.101.147</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_spawn_section</id>
		<title>CoP: Разбор spawn section</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_spawn_section"/>
				<updated>2011-02-03T19:55:36Z</updated>
		
		<summary type="html">&lt;p&gt;93.186.101.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В целом, этот тутор можно использовать и в других версиях игры. Но тут есть несколько подводных камней. Например в ТЧ невозможно в этом файле прописать стори_айди&lt;br /&gt;
&lt;br /&gt;
Файл spawn_section иногда упускают из виду многие модмейкеры. Многие даже не подозревают, что можно в нем наворотить. Поэтому здесь написан полный разбор секции, которую можно создать в этом файле:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[zat_b14_stalker_1]:stalker				     --id непися или монстра с указанием родительского профиля*.&lt;br /&gt;
$spawn = &amp;quot;respawn\zat_b14_stalker_1&amp;quot;			     --параметр для левел эдитора&lt;br /&gt;
character_profile = zat_b14_stalker_1	          	     --профиль непися в character_desc.xml. Для монстров не надо, понятно.&lt;br /&gt;
spec_rank = regular					     --ранг непися&lt;br /&gt;
rank = 17						     --ранг непися значением. То же самое, что и spec_rank, но точнее.&lt;br /&gt;
community = stalker					     --группировка&lt;br /&gt;
story_id = zat_b14_stalker_1				     --sid непися. рекомендуется задавать для эксклюзивов, обрабатываемых скриптами&lt;br /&gt;
custom_data = scripts\zaton\zat_b22_stalker_cop_body.ltx     --кастом дата непися. Используется для объектов, спавнящихся скриптом не под смартом.&lt;br /&gt;
set_visual = actors\stalker_neutral\stalker_neutral_2	     --задание визуала. Используется в биндере мотиватора при спавне. Сделано для катсцен.&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
* Родительские профили по умолчанию указаны в spawn_sections_general.ltx. Можно добавлять и свои. Или использовать ЛЮБЫЕ другие подходящие секции.&lt;br /&gt;
&lt;br /&gt;
Еще можно задавать параметры из m_stalker.ltx (как пример), видимо, они будут перекрывать параметры оттуда. Примеры есть такие:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
1. Звуковая схема непися:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sound_death						=&lt;br /&gt;
sound_anomaly_death				=&lt;br /&gt;
sound_hit						= &lt;br /&gt;
&lt;br /&gt;
sound_humming					= &lt;br /&gt;
sound_alarm						= &lt;br /&gt;
sound_backup					= &lt;br /&gt;
sound_detour					= &lt;br /&gt;
sound_friendly_fire				= &lt;br /&gt;
sound_panic_human				= &lt;br /&gt;
sound_panic_monster				= &lt;br /&gt;
sound_tolls						= &lt;br /&gt;
sound_wounded					= &lt;br /&gt;
sound_grenade_alarm				= &lt;br /&gt;
sound_friendly_grenade_alarm	= &lt;br /&gt;
sound_need_backup				= &lt;br /&gt;
sound_running_in_danger			= &lt;br /&gt;
sound_walking_in_danger			= &lt;br /&gt;
sound_kill_wounded				= &lt;br /&gt;
sound_enemy_critically_wounded	= &lt;br /&gt;
sound_enemy_killed_or_wounded	= &lt;br /&gt;
&lt;br /&gt;
sound_attack_no_allies				= &lt;br /&gt;
sound_attack_allies_single_enemy	= &lt;br /&gt;
sound_attack_allies_several_enemies	= &lt;br /&gt;
sound_search1_no_allies				= &lt;br /&gt;
sound_search1_with_allies			= &lt;br /&gt;
sound_enemy_lost_no_allies			= &lt;br /&gt;
sound_enemy_lost_with_allies		= &lt;br /&gt;
sound_throw_grenade					= &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
2. Настройки рэгдолла (в игре, например, используется для падения Проповедника):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
random_death_animations = ragdoll_sniper_body_front_2&lt;br /&gt;
kill_enertion           =&lt;br /&gt;
kill_burst				=&lt;br /&gt;
kill_shortgun	        =&lt;br /&gt;
kill_headshot			=&lt;br /&gt;
kill_sniper_headshot	=&lt;br /&gt;
kill_sniper_body		=&lt;br /&gt;
kill_grenade            =&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
3. Настройки иммунитета:&amp;lt;code&amp;gt;&lt;br /&gt;
immunities_sect = stalker_immunities_strong (ну и саму секцию можно тут же прописать, а можно из m_stalker брать)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
4. Разное&lt;br /&gt;
&lt;br /&gt;
у пси-псевдопса:&amp;lt;code&amp;gt;&lt;br /&gt;
Max_Phantoms_Count	= 5&lt;br /&gt;
Min_Phantoms_Count	= 2&lt;br /&gt;
Time_Phantom_Appear = 1000&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Есть мнение - можно безболезненно прописывать и многие другие настройки из m_stalker (или из глобальных конфигов монстров).&lt;br /&gt;
Фактически, большой простор кастомизации.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Послесловие:&lt;br /&gt;
&lt;br /&gt;
Вообще необязательно в spawn_section прописывать все параметры НПС. Допустим я в spawn_section пишу такие секции:&lt;br /&gt;
&amp;lt;code&amp;gt;[zat_b14_stalker_1]:stalker&lt;br /&gt;
$spawn              = &amp;quot;respawn\zat_b14_stalker_1&amp;quot;&lt;br /&gt;
character_profile   = zat_b14_stalker_1&amp;lt;/code&amp;gt;&lt;br /&gt;
Все остальные секции не обязательны. Хотя я думаю можно даже и $spawn не писать&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:KD87|KD87]]&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>93.186.101.147</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%9D%D0%9F%D0%A1_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_smart_terrain</id>
		<title>CoP: Спавн НПС через smart terrain</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%9D%D0%9F%D0%A1_%D1%87%D0%B5%D1%80%D0%B5%D0%B7_smart_terrain"/>
				<updated>2011-01-30T11:35:24Z</updated>
		
		<summary type="html">&lt;p&gt;93.186.101.147: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
Итак:&lt;br /&gt;
&lt;br /&gt;
Для того чтобы заспавнить НПС необходимо сначала заспавнить смарт_терраин. Создадим секцию в алл.спавне для смарта:&lt;br /&gt;
&amp;lt;code&amp;gt;[9045] ; Уникальный номер секции&lt;br /&gt;
; cse_abstract properties&lt;br /&gt;
section_name = smart_terrain  ; не менять&lt;br /&gt;
name = predbannik_blokpost_sniper1_smart  ;Название смарта. Лучше всего называть смарты так: локация_место_чей_смарт_smart. Тогда вы точно не запутаетесь&lt;br /&gt;
position = -540.07904052734,28.130836486816,280.31533813477 ;позиция&lt;br /&gt;
direction = -0.991485774517059,0,-0.130215004086494&lt;br /&gt;
&lt;br /&gt;
; cse_alife_object properties&lt;br /&gt;
game_vertex_id = 1190 ;game_vertex&lt;br /&gt;
distance = 9.80000019073486&lt;br /&gt;
level_vertex_id = 120156 ;level_vertex&lt;br /&gt;
object_flags = 0xffffff3e ;не менять&lt;br /&gt;
custom_data = &amp;lt;&amp;lt;END&lt;br /&gt;
[smart_terrain]&lt;br /&gt;
cfg = scripts\predbannik\smart\predbannik_blokpost_sniper1.ltx  ;путь до файла с логикой&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
; cse_shape properties&lt;br /&gt;
shapes = shape0  ; здесь задается количество зон и их имена где будет работать смарт&lt;br /&gt;
shape0:type = sphere ;тип. Здесь - круг. Еще есть тип box&lt;br /&gt;
shape0:offset = 0,0,0 ;смещение&lt;br /&gt;
shape0:radius = 20 ;радиус&lt;br /&gt;
&lt;br /&gt;
; cse_alife_space_restrictor properties&lt;br /&gt;
restrictor_type = 3 ;не менять&lt;br /&gt;
&lt;br /&gt;
; se_smart_terrain properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Дальше идем по пути configs\scripts\predbannik\smart\ и создаем файл predbannik_blokpost_sniper1.ltx (если папки нет, то создаем)&lt;br /&gt;
Я сейчас не буду заморачиваться настройкой смарта и поэтому просто создам стандартный смарт и задам только лишь макс_кол-во человек в смарте:&lt;br /&gt;
&amp;lt;code&amp;gt;[smart_terrain]&lt;br /&gt;
max_population = 1&lt;br /&gt;
&lt;br /&gt;
[exclusive]&lt;br /&gt;
;predbannik_blokpost_sniper1 = predbannik\blokpost_logic.ltx ;Здесь указываются эксклюзивные работы. Если вам нужно чтобы НПС выполнял какую-то работу, то создайте файл predbannik\blokpost_logic.ltx с логикой [logic@predbannik_blokpost_sniper1]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дальше создаем нужный нам сквард (на этом я тоже не буду заострять внимание, все это я опишу как нибудь потом) и идем в файл configs\misc\simulation.ltx&lt;br /&gt;
Там находим секцию [start_position_имя_локации] и после вставляем текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Имя_скварда = имя_ваше_смарта&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого заходим в игру и... О чудо, наш сталкер появился! Правда так как мы ему не прописали логику то он уходит из смарта в смарт, где есть работа.&lt;/div&gt;</summary>
		<author><name>93.186.101.147</name></author>	</entry>

	</feed>