<?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=%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA</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=%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA"/>
		<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/%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA"/>
		<updated>2026-04-29T17:54:35Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0_game_object._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_V.</id>
		<title>Описание класса game object. Часть V.</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0_game_object._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_V."/>
				<updated>2012-10-03T12:54:56Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: /* CWeapon */&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:#ccc;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#eaf1dd;&amp;quot; align=&amp;quot;left&amp;quot;|Навигация&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#f9f9f9;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[Описание класса game object. Часть I.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть II.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть III.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть IV.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть V.]]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
__TOC__&lt;br /&gt;
='''CAI_PhraseDialogManager'''=&lt;br /&gt;
Эти методы можно применять только для сталкеров и торговцев.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function restore_default_start_dialog()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void restore_default_start_dialog()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает стартовый диалог неписю дефолтным. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_start_dialog(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_start_dialog(string dialog_id)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает диалог dialog_id неписю в качестве стартового диалога.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CAI_Trader'''=&lt;br /&gt;
Эти методы можно применять только для торговцев.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function external_sound_start(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void external_sound_start(string sound)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
вроде как включает для торговца звук sound, но останавливает анимацию головы. Используется в начальном туторе.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_start_dialog()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void external_sound_stop()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
станавливает звук торговца. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_trader_global_anim(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_trader_global_anim(string anim)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает анимацию anim для тела торговца.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_trader_head_anim(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_trader_head_anim(string anim)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает анимацию anim для головы торговца.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_trader_sound(string, string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_trader_sound(string sound, string anim)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает торговцу анимацию головы anim и включает в голове звук sound.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CActor'''=&lt;br /&gt;
Эти методы можно работают для актора.&amp;lt;br /&amp;gt;Следующие методы не проверяют свой неявный аргумент, так что их можно применять хоть к бочкам. Объект в них берется с помощью actor()&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function give_task(CGameTask*, number, boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void give_task(CGameTask* t, int dt, bool bCheckExisting)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
выдает актору задание. Аргументы:&lt;br /&gt;
*t - задание в виде объекта CGameTask. Можно взять методом CGameTask() и загрузить в него данные методом load().&lt;br /&gt;
*dt - время на завершение&lt;br /&gt;
*bCheckExisting - проверять ли на наличие. Если bCheckExisting == true, то задание, при его присутствии у актора не выдается, в противном случае инициализируется заново.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_task_state(string, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;task get_task_state(string task_id, int objective_num)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние задания (поле task_state) для задания task_id и подзадания objective_num. Возвращает константу из класса-перечисления task.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_task_state(enum ETaskState, string, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_task_state(enum ETaskState state, string task_id, int objective_num)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает у подзадания таска одно из выбранных состояний. Аргументы:&lt;br /&gt;
*state - состояние (константа из класса-перечисления task)&lt;br /&gt;
*task_id - таск&lt;br /&gt;
*objective_num - номер подзадания &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function hide_weapon()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void hide_weapon()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
спрятать оружие актора. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function restore_weapon()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void restore_weapon()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
достать оружие актора. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function eat(game_object*)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void eat(game_object* item)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
заставляет актора съесть предмет item. Предмет должен наследовать от класса CEatableItem.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function give_talk_message(string, string, Frect, string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void give_talk_message(string text, string texture_name, Frect tex_rect, string templ_name)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
выводит сообщение в диалоговое окно. Пример - вывод списка доступных повторяющихся квестов в диалоге с торговцем. Аргументы:&lt;br /&gt;
*text - выводимый текст&lt;br /&gt;
*texture_name, tex_rect - параметры текстуры, где содержится выводимая картинка, можно получить через get_texture_info()&lt;br /&gt;
*templ_name - имя шаблона выводимой картинки. Регистрируется в talk.xml. Если не указано - движок считает, что это &amp;quot;iconed_answer_item&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function give_game_news(string, string, Frect, number, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool give_game_news(string news, string texture_name, Frect tex_rect, int delay, int show_time)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
выводит сообщение в виде новости. Аргументы:&lt;br /&gt;
*news - выводимый текст&lt;br /&gt;
*texture_name, tex_rect - параметры текстуры, где содержится выводимая картинка, можно получить через get_texture_info()&lt;br /&gt;
*delay - задержка выдачи новости&lt;br /&gt;
*show_time - время показа новости&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_fastcall(const function&amp;lt;boolean&amp;gt;&amp;amp; , object)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_fastcall(const function&amp;lt;boolean&amp;gt;&amp;amp; , object)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
установка быстрого обработчика.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Следующие методы проверяют, к кому применются, вызывать их следует только для актора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function run_talk_dialog(game_object*)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void run_talk_dialog(game_object* pToWho)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
запускает диалог между актором и объектом pToWho. Тот объект должен наследовать от класса CInventoryOwner. Разговор можно начать только если собеседник находится на расстоянии не больше трёх метров от актора. Если точнее, то можно попытаться вызвать её и на больших расстояниях. Что-то при этом происходит: появляется мышь, отключается движение актора и он начинает смотреть на &amp;quot;собеседника&amp;quot; даже при том, что окна разговора нет. Такое ощущение, что просто безбожно глючит. Проверка допустимого расстояния перед началом остаётся таким образом на совести скриптёра. Расстояние в 3 метра никакими настройками не изменить, похоже вшито прямо в код движка. Другой момент. Данная функция только открывает диалог разговора. Если не делать ничего дополнительно, то непись &amp;quot;разговаривая&amp;quot; пойдёт себе дальше, и как только выйдет за три метра - разговор прервётся. В игре непись удерживается от убегания специальной скриптовой схемой, которая заставляет его стоять на месте, смотреть на актора, может ещё анимации проигрывать, точно не знаю. Параметр need_osoznanie_mode в секции персонажа позволяет избежать ограничения в 3 метра на возможность начать разговор. Однако при этом окно разговора показывается не полностью. Отсутствуют окна с иконками собеседников и окно чата. Есть только нижняя часть - окно выбора варианта ответа или диалога. Фактически, это превращает окно общения в своеобразное диалоговое окно для выбора одного из нескольких вариантов. Это используется в игре для предоставления Меченому выбора - присоединяться к О-Сознанию или нет. В принципе ничто не мешает использовать это как-то иначе.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_actor_direction(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_actor_direction(float dir)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает для актора направление взгляда, передаваемое углом вращения dir (в радианах).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_actor_position(vector)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_actor_position(vector pos)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает для актора координаты, передаваемые вектором pos.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function switch_to_trade()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void switch_to_trade()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
активировать окно торговли в диалоге. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_current_holder()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;holder* get_current_holder()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает машину или стационарное оружие, связанные в данный момент с актором. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CInventoryBox'''=&lt;br /&gt;
Эти методы можно применять только для ящиков с инвентарем.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function is_inv_box_empty()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool is_inv_box_empty()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
проверяет, пустой ли ящик с инвентарем. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Появилось в ЧН&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function iterate_inventory_box(function&amp;lt;void&amp;gt;, object)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void iterate_inventory_box(function&amp;lt;void&amp;gt;, object)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
перебор предметов в ящике. Работает аналогично перебору по инвентарю актора.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CSpaceRestrictor'''=&lt;br /&gt;
Эти методы можно применять только для спейс рестрикторов и аномалий.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function inside(const vector&amp;amp;, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool inside(const vector&amp;amp; position, float epsilon) const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает true, если сфера с центром в position и радиусом epsilon персекается со спейс рестриктором. Аргументы:&lt;br /&gt;
*position - центр сферы, для которой проверяется пересечение со спейс-рестриктором (объект класса vector)&lt;br /&gt;
*epsilon - радиус сферы (float)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function inside(const vector&amp;amp;)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool inside(const vector&amp;amp; position) const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
см. inside(const vector&amp;amp;, number), epsilon берется по умолчанию 0,001.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CCustomZone'''=&lt;br /&gt;
Эти методы можно применять только для  аномалий.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function disable_anomaly()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void disable_anomaly()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
отключает аномалию. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_anomaly()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_anomaly()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
активирует аномалию. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_anomaly_power()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;float get_anomaly_power()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает max_power для объекта аномалиию. Максимальное значение вроде 1. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_anomaly_power(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_anomaly_power(float p)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает max_power для объекта аномалии. Установить можно любое значение. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CLevelChanger (ЧН и ЗП)'''=&lt;br /&gt;
Эти методы можно применять только для переходов.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function is_level_changer_enabled()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool is_level_changer_enabled()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние перехода (включен/выключен). Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_level_changer(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_level_changer(bool val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
включить/выключить переход.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_level_changer_invitation(string )''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_level_changer_invitation(string invitation)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
установить текст в окне запроса при переходе. Для ЗП не актуально.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CScriptZone'''=&lt;br /&gt;
Эти методы можно применять только для подходит только для скриптовых зон. Но в игре их вроде нет.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function active_zone_contact(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void active_zone_contact(int id)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает true, если зона находится в контакте с объектом с индексом id.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CProjector'''=&lt;br /&gt;
Эти методы можно применять только для прожекторов.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_current_direction()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;vector get_current_direction()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает текущее направление проектора. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CHudItem'''=&lt;br /&gt;
Эти методы можно применять только для артефактов, гранат и оружия.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function animation_slot()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int animation_slot() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает номер слота анимации для данного объекта. Это не слот в инвентаре! Примеры:&lt;br /&gt;
*для пистолета - 1&lt;br /&gt;
*для автомата - 2&lt;br /&gt;
*для дробовика - 3&lt;br /&gt;
*для артефакта - 11&lt;br /&gt;
*для бинокля - 13.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CExplosive'''=&lt;br /&gt;
Эти методы можно применять только для гранат и канистр.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function explode(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void explode(int level_time)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
подрывает итем. Несмотря на наличие аргумента level_time, он вроде в функции не используется, так что управлять подрывом не выйдет. UPDATE: данный аргумент вообще отсутствует у функции, поэтому функцию можно вызывать как explode()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CAttachableItem'''=&lt;br /&gt;
Эти методы можно применять для всех инвентарных предметов.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function attachable_item_enabled()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool attachable_item_enabled() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает, активен ли итем. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_attachable_item(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_attachable_item(bool value)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
делает активным/неактивным итем. Parent итема должен наследовать от класса CAttachmentOwner. Всегда активны: аптечки, бинты, детекторы, патроны для активного оружия, активное оружие. Короче, все то, что в слотах или на горяих клавишах.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CInventoryItem'''=&lt;br /&gt;
Эти методы можно применять для тех инвентарных предметов, у которых параметр class в конфиге не равен II_ATTCH.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function cost() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int cost() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает стоимость вещи. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function condition() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int condition() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние вещи. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_condition(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_condition(int val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает состояние вещи.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CTorch (только ЗП)'''=&lt;br /&gt;
Эти методы можно применять только для фонаря.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_night_vision(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_night_vision(bool val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
включить/отключить ночное видение.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function night_vision_enabled() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool night_vision_enabled() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние ночного видения. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_torch(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_torch(bool val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
включить/отключить фонарь.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function torch_enabled() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool torch_enabled() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние фонаря (включен/отключен). Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CWeapon'''=&lt;br /&gt;
Эти методы можно применять только для оружия.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_ammo_total() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int get_ammo_total() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает общее количество патронов для данного оружия в стволе и инвентаре, если ствол в инвентаре. Если не в инвентаре - просто количество патронов в обойме. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_ammo_in_magazine() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int get_ammo_in_magazine() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает количество патронов в стволе или в пачке патрон. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_ammo_elapsed(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_ammo_elapsed(int ammo_elapsed)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
заряжает магазин количеством патронов, равным ammo_elapsed. Размер магазина игнорируется.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CWeaponMagazined'''=&lt;br /&gt;
Эти методы можно применять только для оружия - кроме ножа и гранат.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_queue_size(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_queue_size(int queue_size)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает размер очереди из оружия.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function unload_magazine()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void unload_magazine()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
разряжает магазин оружия. Оружие должно быть в инвентаре/руках объекта CAI_Stalker. Патроны из ствола пропадают. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''Методы получения объектов &amp;quot;чистых&amp;quot; клиентских движковых классов'''=&lt;br /&gt;
Эти методы позволяют получить объект чистого движкового класса из объекта класса-обертки CScriptGameObject.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_car()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CCar* get_car()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект машины.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_holder_class()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;holder* get_holder_class()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает машину или стационарное оружие, связанные в данный момент с актором.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_hanging_lamp()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;hanging_lamp* get_hanging_lamp()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
озвращает объект лампочки.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_helicopter()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CHelicopter* get_helicopter()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект вертолета.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Следующие методы присутствуют начиная с ЧН.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_campfire()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CZoneCampfire* get_campfire()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект костра.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_artefact()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CArtefact* get_artefact()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект артефакта.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_physics_object()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CPhysicObject* get_physics_object()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект физических предметов (ящики, коробки).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Написано [[Участник:K.D.|K.D.]] 17:35, 19 декабря 2011 (UTC) по материалам malandrinus, материалам [http://www.amk-team.ru/forum/index.php?showtopic=7450 форума АМК] и собственным изысканиям.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0_game_object._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_V.</id>
		<title>Описание класса game object. Часть V.</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0_game_object._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_V."/>
				<updated>2012-10-03T12:54:06Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: /* CExplosive */&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:#ccc;&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! style=&amp;quot;background:#eaf1dd;&amp;quot; align=&amp;quot;left&amp;quot;|Навигация&lt;br /&gt;
 |-&lt;br /&gt;
 | style=&amp;quot;background:#f9f9f9;&amp;quot; align=&amp;quot;left&amp;quot;|&lt;br /&gt;
[[Описание класса game object. Часть I.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть II.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть III.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть IV.]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Описание класса game object. Часть V.]]&lt;br /&gt;
 |-&lt;br /&gt;
 |}&lt;br /&gt;
__TOC__&lt;br /&gt;
='''CAI_PhraseDialogManager'''=&lt;br /&gt;
Эти методы можно применять только для сталкеров и торговцев.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function restore_default_start_dialog()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void restore_default_start_dialog()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает стартовый диалог неписю дефолтным. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_start_dialog(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_start_dialog(string dialog_id)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает диалог dialog_id неписю в качестве стартового диалога.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CAI_Trader'''=&lt;br /&gt;
Эти методы можно применять только для торговцев.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function external_sound_start(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void external_sound_start(string sound)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
вроде как включает для торговца звук sound, но останавливает анимацию головы. Используется в начальном туторе.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_start_dialog()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void external_sound_stop()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
станавливает звук торговца. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_trader_global_anim(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_trader_global_anim(string anim)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает анимацию anim для тела торговца.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_trader_head_anim(string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_trader_head_anim(string anim)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает анимацию anim для головы торговца.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_trader_sound(string, string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_trader_sound(string sound, string anim)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает торговцу анимацию головы anim и включает в голове звук sound.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CActor'''=&lt;br /&gt;
Эти методы можно работают для актора.&amp;lt;br /&amp;gt;Следующие методы не проверяют свой неявный аргумент, так что их можно применять хоть к бочкам. Объект в них берется с помощью actor()&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function give_task(CGameTask*, number, boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void give_task(CGameTask* t, int dt, bool bCheckExisting)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
выдает актору задание. Аргументы:&lt;br /&gt;
*t - задание в виде объекта CGameTask. Можно взять методом CGameTask() и загрузить в него данные методом load().&lt;br /&gt;
*dt - время на завершение&lt;br /&gt;
*bCheckExisting - проверять ли на наличие. Если bCheckExisting == true, то задание, при его присутствии у актора не выдается, в противном случае инициализируется заново.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_task_state(string, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;task get_task_state(string task_id, int objective_num)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние задания (поле task_state) для задания task_id и подзадания objective_num. Возвращает константу из класса-перечисления task.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_task_state(enum ETaskState, string, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_task_state(enum ETaskState state, string task_id, int objective_num)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает у подзадания таска одно из выбранных состояний. Аргументы:&lt;br /&gt;
*state - состояние (константа из класса-перечисления task)&lt;br /&gt;
*task_id - таск&lt;br /&gt;
*objective_num - номер подзадания &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function hide_weapon()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void hide_weapon()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
спрятать оружие актора. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function restore_weapon()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void restore_weapon()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
достать оружие актора. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function eat(game_object*)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void eat(game_object* item)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
заставляет актора съесть предмет item. Предмет должен наследовать от класса CEatableItem.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function give_talk_message(string, string, Frect, string)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void give_talk_message(string text, string texture_name, Frect tex_rect, string templ_name)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
выводит сообщение в диалоговое окно. Пример - вывод списка доступных повторяющихся квестов в диалоге с торговцем. Аргументы:&lt;br /&gt;
*text - выводимый текст&lt;br /&gt;
*texture_name, tex_rect - параметры текстуры, где содержится выводимая картинка, можно получить через get_texture_info()&lt;br /&gt;
*templ_name - имя шаблона выводимой картинки. Регистрируется в talk.xml. Если не указано - движок считает, что это &amp;quot;iconed_answer_item&amp;quot;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function give_game_news(string, string, Frect, number, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool give_game_news(string news, string texture_name, Frect tex_rect, int delay, int show_time)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
выводит сообщение в виде новости. Аргументы:&lt;br /&gt;
*news - выводимый текст&lt;br /&gt;
*texture_name, tex_rect - параметры текстуры, где содержится выводимая картинка, можно получить через get_texture_info()&lt;br /&gt;
*delay - задержка выдачи новости&lt;br /&gt;
*show_time - время показа новости&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_fastcall(const function&amp;lt;boolean&amp;gt;&amp;amp; , object)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_fastcall(const function&amp;lt;boolean&amp;gt;&amp;amp; , object)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
установка быстрого обработчика.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Следующие методы проверяют, к кому применются, вызывать их следует только для актора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function run_talk_dialog(game_object*)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void run_talk_dialog(game_object* pToWho)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
запускает диалог между актором и объектом pToWho. Тот объект должен наследовать от класса CInventoryOwner. Разговор можно начать только если собеседник находится на расстоянии не больше трёх метров от актора. Если точнее, то можно попытаться вызвать её и на больших расстояниях. Что-то при этом происходит: появляется мышь, отключается движение актора и он начинает смотреть на &amp;quot;собеседника&amp;quot; даже при том, что окна разговора нет. Такое ощущение, что просто безбожно глючит. Проверка допустимого расстояния перед началом остаётся таким образом на совести скриптёра. Расстояние в 3 метра никакими настройками не изменить, похоже вшито прямо в код движка. Другой момент. Данная функция только открывает диалог разговора. Если не делать ничего дополнительно, то непись &amp;quot;разговаривая&amp;quot; пойдёт себе дальше, и как только выйдет за три метра - разговор прервётся. В игре непись удерживается от убегания специальной скриптовой схемой, которая заставляет его стоять на месте, смотреть на актора, может ещё анимации проигрывать, точно не знаю. Параметр need_osoznanie_mode в секции персонажа позволяет избежать ограничения в 3 метра на возможность начать разговор. Однако при этом окно разговора показывается не полностью. Отсутствуют окна с иконками собеседников и окно чата. Есть только нижняя часть - окно выбора варианта ответа или диалога. Фактически, это превращает окно общения в своеобразное диалоговое окно для выбора одного из нескольких вариантов. Это используется в игре для предоставления Меченому выбора - присоединяться к О-Сознанию или нет. В принципе ничто не мешает использовать это как-то иначе.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_actor_direction(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_actor_direction(float dir)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает для актора направление взгляда, передаваемое углом вращения dir (в радианах).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_actor_position(vector)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_actor_position(vector pos)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает для актора координаты, передаваемые вектором pos.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function switch_to_trade()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void switch_to_trade()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
активировать окно торговли в диалоге. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_current_holder()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;holder* get_current_holder()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает машину или стационарное оружие, связанные в данный момент с актором. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CInventoryBox'''=&lt;br /&gt;
Эти методы можно применять только для ящиков с инвентарем.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function is_inv_box_empty()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool is_inv_box_empty()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
проверяет, пустой ли ящик с инвентарем. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Появилось в ЧН&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function iterate_inventory_box(function&amp;lt;void&amp;gt;, object)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void iterate_inventory_box(function&amp;lt;void&amp;gt;, object)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
перебор предметов в ящике. Работает аналогично перебору по инвентарю актора.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CSpaceRestrictor'''=&lt;br /&gt;
Эти методы можно применять только для спейс рестрикторов и аномалий.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function inside(const vector&amp;amp;, number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool inside(const vector&amp;amp; position, float epsilon) const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает true, если сфера с центром в position и радиусом epsilon персекается со спейс рестриктором. Аргументы:&lt;br /&gt;
*position - центр сферы, для которой проверяется пересечение со спейс-рестриктором (объект класса vector)&lt;br /&gt;
*epsilon - радиус сферы (float)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function inside(const vector&amp;amp;)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool inside(const vector&amp;amp; position) const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
см. inside(const vector&amp;amp;, number), epsilon берется по умолчанию 0,001.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CCustomZone'''=&lt;br /&gt;
Эти методы можно применять только для  аномалий.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function disable_anomaly()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void disable_anomaly()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
отключает аномалию. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_anomaly()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_anomaly()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
активирует аномалию. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_anomaly_power()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;float get_anomaly_power()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает max_power для объекта аномалиию. Максимальное значение вроде 1. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_anomaly_power(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_anomaly_power(float p)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает max_power для объекта аномалии. Установить можно любое значение. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CLevelChanger (ЧН и ЗП)'''=&lt;br /&gt;
Эти методы можно применять только для переходов.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function is_level_changer_enabled()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool is_level_changer_enabled()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние перехода (включен/выключен). Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_level_changer(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_level_changer(bool val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
включить/выключить переход.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_level_changer_invitation(string )''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_level_changer_invitation(string invitation)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
установить текст в окне запроса при переходе. Для ЗП не актуально.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CScriptZone'''=&lt;br /&gt;
Эти методы можно применять только для подходит только для скриптовых зон. Но в игре их вроде нет.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function active_zone_contact(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void active_zone_contact(int id)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает true, если зона находится в контакте с объектом с индексом id.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CProjector'''=&lt;br /&gt;
Эти методы можно применять только для прожекторов.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_current_direction()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;vector get_current_direction()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает текущее направление проектора. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CHudItem'''=&lt;br /&gt;
Эти методы можно применять только для артефактов, гранат и оружия.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function animation_slot()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int animation_slot() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает номер слота анимации для данного объекта. Это не слот в инвентаре! Примеры:&lt;br /&gt;
*для пистолета - 1&lt;br /&gt;
*для автомата - 2&lt;br /&gt;
*для дробовика - 3&lt;br /&gt;
*для артефакта - 11&lt;br /&gt;
*для бинокля - 13.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CExplosive'''=&lt;br /&gt;
Эти методы можно применять только для гранат и канистр.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function explode(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void explode(int level_time)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
подрывает итем. Несмотря на наличие аргумента level_time, он вроде в функции не используется, так что управлять подрывом не выйдет. UPDATE: данный аргумент вообще отсутствует у функции, поэтому функцию можно вызывать как explode()&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''CAttachableItem'''=&lt;br /&gt;
Эти методы можно применять для всех инвентарных предметов.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function attachable_item_enabled()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool attachable_item_enabled() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает, активен ли итем. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_attachable_item(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_attachable_item(bool value)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
делает активным/неактивным итем. Parent итема должен наследовать от класса CAttachmentOwner. Всегда активны: аптечки, бинты, детекторы, патроны для активного оружия, активное оружие. Короче, все то, что в слотах или на горяих клавишах.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CInventoryItem'''=&lt;br /&gt;
Эти методы можно применять для тех инвентарных предметов, у которых параметр class в конфиге не равен II_ATTCH.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function cost() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int cost() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает стоимость вещи. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function condition() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int condition() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние вещи. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_condition(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_condition(int val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает состояние вещи.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CTorch (только ЗП)'''=&lt;br /&gt;
Эти методы можно применять только для фонаря.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_night_vision(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_night_vision(bool val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
включить/отключить ночное видение.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function night_vision_enabled() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool night_vision_enabled() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние ночного видения. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function enable_torch(boolean)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void enable_torch(bool val)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
включить/отключить фонарь.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function torch_enabled() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;bool torch_enabled() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает состояние фонаря (включен/отключен). Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
='''CWeapon'''=&lt;br /&gt;
Эти методы можно применять только для оружия.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_ammo_total() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int get_ammo_total() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает общее количество патронов для данного оружия в стволе и инвентаре, если ствол в инвентаре. Если не в инвентаре - просто количество патронов в обойме. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_ammo_in_magazine() const''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;int get_ammo_in_magazine() const&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает количество патронов в стволе. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_ammo_elapsed(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_ammo_elapsed(int ammo_elapsed)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
заряжает магазин количеством патронов, равным ammo_elapsed. Размер магазина игнорируется.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
='''CWeaponMagazined'''=&lt;br /&gt;
Эти методы можно применять только для оружия - кроме ножа и гранат.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function set_queue_size(number)''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void set_queue_size(int queue_size)&amp;lt;/cpp&amp;gt;&lt;br /&gt;
устанавливает размер очереди из оружия.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function unload_magazine()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;void unload_magazine()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
разряжает магазин оружия. Оружие должно быть в инвентаре/руках объекта CAI_Stalker. Патроны из ствола пропадают. Аргументов не принимает.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
='''Методы получения объектов &amp;quot;чистых&amp;quot; клиентских движковых классов'''=&lt;br /&gt;
Эти методы позволяют получить объект чистого движкового класса из объекта класса-обертки CScriptGameObject.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_car()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CCar* get_car()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект машины.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_holder_class()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;holder* get_holder_class()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает машину или стационарное оружие, связанные в данный момент с актором.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_hanging_lamp()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;hanging_lamp* get_hanging_lamp()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
озвращает объект лампочки.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_helicopter()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CHelicopter* get_helicopter()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект вертолета.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Следующие методы присутствуют начиная с ЧН.&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_campfire()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CZoneCampfire* get_campfire()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект костра.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_artefact()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CArtefact* get_artefact()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект артефакта.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavFrame collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavHead&amp;quot;&amp;gt;'''function get_physics_object()''' &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;NavContent&amp;quot;&amp;gt;&amp;lt;cpp&amp;gt;CPhysicObject* get_physics_object()&amp;lt;/cpp&amp;gt;&lt;br /&gt;
возвращает объект физических предметов (ящики, коробки).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;		&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Написано [[Участник:K.D.|K.D.]] 17:35, 19 декабря 2011 (UTC) по материалам malandrinus, материалам [http://www.amk-team.ru/forum/index.php?showtopic=7450 форума АМК] и собственным изысканиям.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>Призрак</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:Resrtictor_type</id>
		<title>Обсуждение:Resrtictor type</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:Resrtictor_type"/>
				<updated>2011-11-10T19:37:45Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: Новая страница: «Участник:Призрак  Аномальный, можешь проверить, какой тип рестрикторов OUT используется ...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Участник:Призрак]]&lt;br /&gt;
&lt;br /&gt;
Аномальный, можешь проверить, какой тип рестрикторов OUT используется в ЧН - 1 или 5?&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<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-11-08T15:40:58Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
[[Участник:Призрак]]: Автор прав в том что вылет очень распространен, но так его исправлять нельзя, т.к. nil передается в эту функцию только при каком-то форс мажоре. Поэтому необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute(&amp;quot;load &amp;quot;..fmt). После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil&lt;br /&gt;
&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;
[[Участник:Призрак]] - Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форум&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;
P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --[[Участник:Rekongstor|Rekongstor]] 14:01, 2 июня 2011 (UTC)&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;
На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : xrServer::Process_update&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp&lt;br /&gt;
Line          : 37&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Beer from the creator of 'WP_SHOTG'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.&lt;br /&gt;
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженых патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 477&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable bound_rect in [level_map]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредствено в файле gamedata\config\game_maps_single.ltx ... &lt;br /&gt;
&amp;lt;br /&amp;gt; Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключеной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .   &lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
By Призрак&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression : hGame&lt;br /&gt;
Function : CEngineAPI::Initialize&lt;br /&gt;
File : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp&lt;br /&gt;
Line : 65&lt;br /&gt;
Description : Game DLL raised exception during loading or there is no game DLL at all &amp;lt;/pre&amp;gt;&lt;br /&gt;
Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame от 6 патча&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : assertion failed&lt;br /&gt;
Function      : CInventory::Eat&lt;br /&gt;
File          : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp&lt;br /&gt;
Line          : 892&lt;br /&gt;
Description   : pIItem-&amp;gt;m_pCurrentInventory==this&amp;lt;/pre&amp;gt;&lt;br /&gt;
Вылет встречается только на 6 патче при попытке хаванья из трупа. Таблетки пока что нет, но разработывается&lt;br /&gt;
-----------------&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression : !m_error_code&lt;br /&gt;
Function : raii_guard::~raii_guard&lt;br /&gt;
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp&lt;br /&gt;
Line : 748&lt;br /&gt;
Description : d:\stalker cop\gamedata\scripts\bind_stalker.script:231: attempt to index global 'ИМЯ_ФАЙЛА' (a nil value)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка&lt;br /&gt;
-----------------&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CScriptEngine::lua_error&lt;br /&gt;
File          : E:\stalker\sources\trunk\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: attempt to call a nil value&amp;lt;/pre&amp;gt;&lt;br /&gt;
Происходит при попытке вызвать класс, которого не существует&lt;br /&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>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%92%D1%8B%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD_%D0%B2%D1%8B%D0%BB%D0%B5%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7_%D0%BB%D0%BE%D0%B3%D0%B0</id>
		<title>Выявление причин вылетов без лога</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%92%D1%8B%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%B8%D1%87%D0%B8%D0%BD_%D0%B2%D1%8B%D0%BB%D0%B5%D1%82%D0%BE%D0%B2_%D0%B1%D0%B5%D0%B7_%D0%BB%D0%BE%D0%B3%D0%B0"/>
				<updated>2011-11-07T13:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: Совсем маленькая правка&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Этот метод может помогать выявить некоторые стабильные или нестабильные (если у вас терпения хватит) безлоговые вылеты. Сам пользуюсь методом, часто помогает. Скажу сразу, этот метод только для скриптеров, остальные не поймут, что в логе написано.&lt;br /&gt;
Итак, будем изменять функцию ''printf()'' в файле '''_g.script'''. Смотрим ее и приводим к следующему виду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function printf(fmt,...)&lt;br /&gt;
local con = get_console()&lt;br /&gt;
con:execute(string.gsub(string.format(fmt,...), &amp;quot; &amp;quot;, &amp;quot;_&amp;quot;))&lt;br /&gt;
con:execute(&amp;quot;flush&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&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;
После выявления вылета нам нужно все вернуть обратно, чтобы игра не тормозила и не засоряла лог. Просто закомментируем строки с ''execute'', чтобы было так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function printf(fmt,...)&lt;br /&gt;
--local con = get_console()&lt;br /&gt;
--con:execute(string.gsub(string.format(fmt,...), &amp;quot; &amp;quot;, &amp;quot;_&amp;quot;))&lt;br /&gt;
--con:execute(&amp;quot;flush&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вот, в принципе, и все.&lt;br /&gt;
&lt;br /&gt;
Кстати, таким образом можно узнавать причины вылетов с логом, ругающимся на '''_g.script'''.&lt;br /&gt;
&lt;br /&gt;
'''Автор статьи: SkyLoader'''&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<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-11-06T19:34:37Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
[[Участник:Призрак]]: Автор прав в том что вылет очень распространен, но так его исправлять нельзя, т.к. nil передается в эту функцию только при каком-то форс мажоре. Поэтому необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute(&amp;quot;load &amp;quot;..fmt). После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil&lt;br /&gt;
&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;
[[Участник:Призрак]] - Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форум&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;
P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --[[Участник:Rekongstor|Rekongstor]] 14:01, 2 июня 2011 (UTC)&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;
На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : xrServer::Process_update&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp&lt;br /&gt;
Line          : 37&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Beer from the creator of 'WP_SHOTG'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.&lt;br /&gt;
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженых патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 477&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable bound_rect in [level_map]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредствено в файле gamedata\config\game_maps_single.ltx ... &lt;br /&gt;
&amp;lt;br /&amp;gt; Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключеной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .   &lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
By Призрак&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression : hGame&lt;br /&gt;
Function : CEngineAPI::Initialize&lt;br /&gt;
File : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp&lt;br /&gt;
Line : 65&lt;br /&gt;
Description : Game DLL raised exception during loading or there is no game DLL at all &amp;lt;/pre&amp;gt;&lt;br /&gt;
Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame от 6 патча&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : assertion failed&lt;br /&gt;
Function      : CInventory::Eat&lt;br /&gt;
File          : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp&lt;br /&gt;
Line          : 892&lt;br /&gt;
Description   : pIItem-&amp;gt;m_pCurrentInventory==this&amp;lt;/pre&amp;gt;&lt;br /&gt;
Вылет встречается только на 6 патче при попытке хаванья из трупа. Таблетки пока что нет, но разработывается&lt;br /&gt;
-----------------&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression : !m_error_code&lt;br /&gt;
Function : raii_guard::~raii_guard&lt;br /&gt;
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp&lt;br /&gt;
Line : 748&lt;br /&gt;
Description : d:\stalker cop\gamedata\scripts\bind_stalker.script:231: attempt to index global 'ИМЯ_ФАЙЛА' (a nil value)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка&lt;br /&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>Призрак</name></author>	</entry>

	<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-11-06T11:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
[[Участник:Призрак]]: Автор прав в том что вылет очень распространен, но так его исправлять нельзя, т.к. nil передается в эту функцию только при каком-то форс мажоре. Поэтому необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute(&amp;quot;load &amp;quot;..fmt). После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil&lt;br /&gt;
&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;
[[Участник:Призрак]] - Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форум&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;
P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --[[Участник:Rekongstor|Rekongstor]] 14:01, 2 июня 2011 (UTC)&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;
На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : xrServer::Process_update&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp&lt;br /&gt;
Line          : 37&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Beer from the creator of 'WP_SHOTG'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.&lt;br /&gt;
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженых патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 477&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable bound_rect in [level_map]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредствено в файле gamedata\config\game_maps_single.ltx ... &lt;br /&gt;
&amp;lt;br /&amp;gt; Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключеной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .   &lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
By Призрак&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression : hGame&lt;br /&gt;
Function : CEngineAPI::Initialize&lt;br /&gt;
File : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp&lt;br /&gt;
Line : 65&lt;br /&gt;
Description : Game DLL raised exception during loading or there is no game DLL at all &amp;lt;/pre&amp;gt;&lt;br /&gt;
Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame от 6 патча&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : assertion failed&lt;br /&gt;
Function      : CInventory::Eat&lt;br /&gt;
File          : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp&lt;br /&gt;
Line          : 892&lt;br /&gt;
Description   : pIItem-&amp;gt;m_pCurrentInventory==this&amp;lt;/pre&amp;gt;&lt;br /&gt;
Вылет встречается только на 6 патче при попытке хаванья из трупа. Таблетки пока что нет, но разработывается&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>Призрак</name></author>	</entry>

	<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-11-06T11:37:08Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
--------------&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;
[[Участник:Призрак]] - Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форум&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;
P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --[[Участник:Rekongstor|Rekongstor]] 14:01, 2 июня 2011 (UTC)&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;
На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : xrServer::Process_update&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp&lt;br /&gt;
Line          : 37&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Beer from the creator of 'WP_SHOTG'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.&lt;br /&gt;
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженых патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 477&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable bound_rect in [level_map]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредствено в файле gamedata\config\game_maps_single.ltx ... &lt;br /&gt;
&amp;lt;br /&amp;gt; Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключеной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .   &lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
By Призрак&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression : hGame&lt;br /&gt;
Function : CEngineAPI::Initialize&lt;br /&gt;
File : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp&lt;br /&gt;
Line : 65&lt;br /&gt;
Description : Game DLL raised exception during loading or there is no game DLL at all &amp;lt;/pre&amp;gt;&lt;br /&gt;
Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame от 6 патча&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : assertion failed&lt;br /&gt;
Function      : CInventory::Eat&lt;br /&gt;
File          : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp&lt;br /&gt;
Line          : 892&lt;br /&gt;
Description   : pIItem-&amp;gt;m_pCurrentInventory==this&amp;lt;/pre&amp;gt;&lt;br /&gt;
Вылет встречается только на 6 патче при попытке хаванья из трупа. Таблетки пока что нет, но разработывается&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>Призрак</name></author>	</entry>

	<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-10-25T13:09:22Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
Проблема возникает при убийстве НПС\мутанта. Типичный вылет по нехватке ресурсов. Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника&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;
P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --[[Участник:Rekongstor|Rekongstor]] 14:01, 2 июня 2011 (UTC)&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;
На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : xrServer::Process_update&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp&lt;br /&gt;
Line          : 37&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Beer from the creator of 'WP_SHOTG'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.&lt;br /&gt;
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженых патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 477&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable bound_rect in [level_map]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредствено в файле gamedata\config\game_maps_single.ltx ... &lt;br /&gt;
&amp;lt;br /&amp;gt; Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключеной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .   &lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&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>Призрак</name></author>	</entry>

	<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-10-25T12:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
Проблема возникает при убийстве НПС\мутанта. Типичный вылет по нехватке ресурсов. Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от от Кости V. Однако для данного вылета есть таблетка, в виде правленого экзешника&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;
P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --[[Участник:Rekongstor|Rekongstor]] 14:01, 2 июня 2011 (UTC)&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;
На мультиплеерной карте не найдены точки респавна игроков. В SDK должен быть красный пацанчик. Настроить Team = 0&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : xrServer::Process_update&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp&lt;br /&gt;
Line          : 37&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Beer from the creator of 'WP_SHOTG'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true.&lt;br /&gt;
Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженых патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CInifile::r_string&lt;br /&gt;
File          : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp&lt;br /&gt;
Line          : 477&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find variable bound_rect in [level_map]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредствено в файле gamedata\config\game_maps_single.ltx ... &lt;br /&gt;
&amp;lt;br /&amp;gt; Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключеной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .   &lt;br /&gt;
&lt;br /&gt;
--------------&lt;br /&gt;
&lt;br /&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>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Resrtictor_type</id>
		<title>Resrtictor type</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Resrtictor_type"/>
				<updated>2011-10-19T12:28:33Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Чтобы не потерялось пишу сюда типы рестрикторов. Тип рекстриктора можно указать при спавне в переменной restrictor_type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;restrictor_type = 0      ;eDefaultRestrictorTypeOut&lt;br /&gt;
restrictor_type = 3      :eRestrictorTypeNone&amp;lt;/code&amp;gt;&lt;br /&gt;
Эти два типа - простые рестрикторы. В чем их отличие - непонятно.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;restrictor_type = 1      ;eDefaultRestrictorTypeOut&lt;br /&gt;
restrictor_type = 5      ;eRestrictorTypeOut&amp;lt;/code&amp;gt;&lt;br /&gt;
Эти два типа имеют смысл для движка и подразумевают собой зону, откуда нельзя выйти. В природе не встречается&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;restrictor_type = 2      ;eDefaultRestrictorTypeIn&lt;br /&gt;
restrictor_type = 4      ;eRestrictorTypeIn&amp;lt;/code&amp;gt;&lt;br /&gt;
Эти два типа имеют смысл для движка и подразумевают собой зону, куда нельзя войти. Такими зонами накрывают костры и арену в баре&lt;br /&gt;
&lt;br /&gt;
И помните IN и OUT рестрикторы (типы 1,2,4,5) имеют смысл только для НПС&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Resrtictor_type</id>
		<title>Resrtictor type</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Resrtictor_type"/>
				<updated>2011-10-19T12:27:17Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: Новая страница: «Чтобы не потерялось пишу сюда типы рестрикторов. Тип рекстриктора можно указать при спавн...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Чтобы не потерялось пишу сюда типы рестрикторов. Тип рекстриктора можно указать при спавне в переменной restrictor_type&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;restrictor_type = 0      ;eDefaultRestrictorTypeOut&lt;br /&gt;
restrictor_type = 3      :eRestrictorTypeNone&amp;lt;/code&amp;gt;&lt;br /&gt;
Эти два типа - простые рестрикторы. В чем их отличие - непонятно.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;restrictor_type = 1      ;eDefaultRestrictorTypeOut&lt;br /&gt;
restrictor_type = 5      ;eRestrictorTypeOut&amp;lt;/code&amp;gt;&lt;br /&gt;
Эти два типа имеют смысл для движка и подразумевают собой зону, откуда нельзя выйти. В природе не встречается&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;restrictor_type = 2      ;eDefaultRestrictorTypeIn&lt;br /&gt;
restrictor_type = 4      ;eRestrictorTypeIn&amp;lt;/code&amp;gt;&lt;br /&gt;
Эти два типа имеют смысл для движка и подразумевают собой зону, куда нельзя войти. Такими зонами накрывают костры и арену в баре&lt;br /&gt;
&lt;br /&gt;
И помните IN и OUT рестрикторы (типы 1,2,4,5) имеют смысл только для НПС&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфиги]]&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA</id>
		<title>Участник:Призрак</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA"/>
				<updated>2011-06-24T09:25:12Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мои проекты&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Глобальные проекты'''&lt;br /&gt;
Пернос солянки на двигатель 3120. Закончено на 100%&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;
ОГСЕ 0.6.9.3&lt;br /&gt;
microSDK&lt;br /&gt;
Скриптование для сталкера для новичков&lt;/div&gt;</summary>
		<author><name>Призрак</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%9A%D0%B0%D0%BA_%D0%B7%D0%B0%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B8%D1%82%D1%8C_%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82</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%9A%D0%B0%D0%BA_%D0%B7%D0%B0%D1%81%D0%BF%D0%B0%D0%B2%D0%BD%D0%B8%D1%82%D1%8C_%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82"/>
				<updated>2011-05-23T20:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Просьба пояснить такой вопрос кто знает:&lt;br /&gt;
Координаты которые мы снимаем - это уровень земли или высоты ГГ&lt;br /&gt;
потому что, когда спавнишь несколько предметов они разлетаются по всей комнате падая с высоты. Как поставить тоже ведро на стол?&lt;br /&gt;
У меня заспавненные ящики почему то уходят углом в землю на пол корпуса, а пнёшь уже катятся и лежат нормально.&lt;br /&gt;
:*1. Координаты которые мы снимаем - это место, на котором стоит ГГ.&lt;br /&gt;
:*2. Просто у тебя неточно указаны координаты спавна. И обьект спавнится то в воздухе, то под землёй.&lt;br /&gt;
:*--[[Участник:THE ATLAS|THE ATLAS]] 16:05, 23 мая 2011 (UTC)&lt;br /&gt;
Привет, ты дежурный что ли?&lt;br /&gt;
Ну как он может спавнится то вверху то внизу, Работаю с позицион_информером, координаты до 7-го знака после точки. Может есть ещё какой-нибудь ньюанс который вызывает плавание точки спавна по высоте?. Кстати перепробовал все которые нашёл программы по определению координат. дирекшен по y ни одна не указывает.&lt;br /&gt;
&lt;br /&gt;
Нужно еще указывать direction - попробуй поиграться с этими цифрами и сам все увидишь&lt;/div&gt;</summary>
		<author><name>Призрак</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-11T18:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
обрабатываемых скриптами&lt;br /&gt;
custom_data = scripts\zaton\zat_b22_stalker_cop_body.ltx     --кастом дата непися. Используется для объектов, &lt;br /&gt;
спавнящихся скриптом не под смартом.&lt;br /&gt;
set_visual = actors\stalker_neutral\stalker_neutral_2	     --задание визуала. Используется в биндере мотиватора &lt;br /&gt;
при спавне. Сделано для катсцен.&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'''&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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_squad_descr</id>
		<title>CoP. Разбор squad descr</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_squad_descr"/>
				<updated>2011-02-05T16:02:38Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ЗП нету одиночных сталкеров. В ЗП есть только сквады состоящие из одного сталкера. Даже монстры ходят сквадами. Поэтому при создания сюжетного мода под ЗП просто необходимо знать какие параметры можно прописывать сквадам. &lt;br /&gt;
&lt;br /&gt;
Итак, поехали:&lt;br /&gt;
&amp;lt;code&amp;gt;[jup_a10_bandit_squad]:online_offline_group						   --id отряда с указанием скриптового класса. &lt;br /&gt;
Класс не менять.&lt;br /&gt;
faction	= bandit								           --группировка&lt;br /&gt;
npc = sim_default_bandit_3, sim_default_bandit_2, sim_default_bandit_2                     --четко заданные неписи для спавна*&lt;br /&gt;
story_id = jup_a10_bandit_squad							           --sid. Если отряд эксклюзив - обязательный &lt;br /&gt;
параметр&lt;br /&gt;
target_smart = {+jup_a10_vano_give_task_end} nil, {+jup_a10_fals} jup_a10_smart_terrain	   --скриптовая цель, смарт-террейн.&lt;br /&gt;
spawn_point = jup_a10_spawn_point							   --точка спавна.&lt;br /&gt;
sympathy = 0									           --симпатия отряда. Описание симпатии см. &lt;br /&gt;
в game_relations.ltx&lt;br /&gt;
relationship = neutral									   --отношение к актору.&lt;br /&gt;
on_death = %+zat_b38_default_bloodsucker_death%					           --кондлист на смерть отряда.&lt;br /&gt;
always_arrived = true									   --скорее всего, отряд всегда в текущем &lt;br /&gt;
таргете.&lt;br /&gt;
invulnerable = {+pri_a28_update_task_cover_strelok} false, true				   --бессмертие отряда&lt;br /&gt;
show_spot =	                 						           --не работает&lt;br /&gt;
level_spot =                 							           --не работает&lt;br /&gt;
always_walk =										   --не работает&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Можно делать рандомный спавн и рандомный же подспавн:&lt;br /&gt;
&amp;lt;code&amp;gt;npc_random = sim_default_bandit_3, sim_default_bandit_2, sim_default_bandit_2		   --неписи для рандомного спавна&lt;br /&gt;
npc_in_squad = 2,4									   --пределы числового рандома. &lt;br /&gt;
Min и Мах. Причем нужно сначала Min и только потом Max. Иначе вылет&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также, первый непись - командир отряда. Так говорит патрол_менеджер. &lt;br /&gt;
В случае рандома и тут будет рандом, но это и пофиг.&lt;br /&gt;
&lt;br /&gt;
'''Автор: KD87'''&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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-02-03T20:57:16Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;
Про настройку смартов можно почитать [[CoP:_Разбор_smart|&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 ;Здесь указываются эксклюзивные работы. Если вам нужно чтобы НПС выполнял какую-то работу,&lt;br /&gt;
то создайте файл predbannik\blokpost_logic.ltx с логикой [logic@predbannik_blokpost_sniper1]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Дальше создаем нужный нам сквард (для этого вам нужно создать секцию в файле configs\misc\squad_descr_локация. Почитать про настройку сквардов можно почитать [[CoP:_Разбор_squad_descr|тут]]) и идем в файл 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;br /&gt;
&lt;br /&gt;
--[[Участник:Призрак|Призрак]] 11:36, 30 января 2011 (UTC)&lt;br /&gt;
[[Категория:Конфигурационные файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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_smart</id>
		<title>CoP: Разбор smart</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_smart"/>
				<updated>2011-02-03T20:54:00Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Смарт-террейны добавляются в all.spawn. в секции смарт-террейна указывается кастом-дата, ведущая к конфигу. Варианты настройки конфига:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[smart_terrain]&lt;br /&gt;
squad_id = 34					        --видимо, id отряда РЕСПАВНА в этом смарте(!)&lt;br /&gt;
max_population = 1					--максимальное число отрядов в смарте&lt;br /&gt;
respawn_only_smart = true				--если true, из смарта не удаляются отряды в симуляции.&lt;br /&gt;
respawn_params = respawn@pri_sim_12			--сцылко на секцию параметров респавна&lt;br /&gt;
arrive_dist = 100					--на каком расстоянии от смарта спавнить.&lt;br /&gt;
def_restr = pri_a16_sr_noweap				--некая замена out_restr из ТЧ. Зона, где лагерь. За пределами - лагеря нет.&lt;br /&gt;
safe_restr = pri_surge_hide_a16; pri_a16_sr_light	--зоны, в которых неписи бессмертны&lt;br /&gt;
smart_control = smart_control				--сцылко на секцию контроля смарта&lt;br /&gt;
spawn_point = zat_sim_16_spawn_point 			--точка респавна&lt;br /&gt;
respawn_radius = 150					--радиус респавна. Если актер ближе - не спавнить. По умолчанию, понятно, 150.&lt;br /&gt;
respawn_sector = default				--сектор респавна. Если точка принадлежит группировке и вокруг нет врагов - уменьшаем капасити &lt;br /&gt;
до 1. Рабочих примеров нет. Работоспособность сомнительна&lt;br /&gt;
mutant_lair =						--не работает.&lt;br /&gt;
no_mutant =						--не работает.&lt;br /&gt;
forbidden_point =					--не работает.&lt;br /&gt;
&lt;br /&gt;
[respawn@pri_sim_12]					--параметры респавна - отряды.&lt;br /&gt;
sim_tushkano&lt;br /&gt;
&lt;br /&gt;
[sim_tushkano]&lt;br /&gt;
spawn_squads = simulation_tushkano			--какие отряды респавнить&lt;br /&gt;
spawn_num = {+pri_a18_use_idol_done}2, 0		--сколько респавнить, и когда можно это делать. Если написанно 0 то распавна не будет. Если&lt;br /&gt;
написано 2 то каждый респавн будут спавнится 2 скварда&lt;br /&gt;
&lt;br /&gt;
[smart_control]&lt;br /&gt;
noweap_zone = pri_a16_sr_noweap				--зона принудительного убора оружия&lt;br /&gt;
ignore_zone = pri_surge_hide_a16; pri_a16_sr_light	--зоны, в которых у неписей устанавливаются флаги combat_ignore_cond и &lt;br /&gt;
combat_ignore_keep_when_attacked = true&lt;br /&gt;
alarm_start_sound = {-pri_b305_fifth_cam_end} pri_a16_base_alarm, nil	--озвучка на начало атаки актора&lt;br /&gt;
alarm_stop_sound = {-pri_b305_fifth_cam_end} pri_a16_base_relax, nil	--озвучка на конец атаки актора&lt;br /&gt;
&lt;br /&gt;
[exclusive]&lt;br /&gt;
pri_b35_envoy_after = pripyat\pri_b35_envoy_logic.ltx			--ссылка на эксклюзивные работы для данного смарта.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Автор: KD87'''&lt;br /&gt;
[[Категория:Конфигурационные файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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_CoP:_%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_smart</id>
		<title>Редактирование CoP: Разбор smart</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_CoP:_%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_smart"/>
				<updated>2011-02-03T20:54:00Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[CoP: Разбор smart]]&lt;/div&gt;</summary>
		<author><name>Призрак</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_smart</id>
		<title>CoP: Разбор smart</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_smart"/>
				<updated>2011-02-03T20:48:01Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Смарт-террейны добавляются в all.spawn. в секции смарт-террейна указывается кастом-дата, ведущая к конфигу. Варианты настройки конфига:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[smart_terrain]&lt;br /&gt;
squad_id = 34					        --видимо, id отряда РЕСПАВНА в этом смарте(!)&lt;br /&gt;
max_population = 1					--максимальное число отрядов в смарте&lt;br /&gt;
respawn_only_smart = true				--если true, из смарта не удаляются отряды в симуляции.&lt;br /&gt;
respawn_params = respawn@pri_sim_12			--сцылко на секцию параметров респавна&lt;br /&gt;
arrive_dist = 100					--на каком расстоянии от смарта спавнить.&lt;br /&gt;
def_restr = pri_a16_sr_noweap				--некая замена out_restr из ТЧ. Зона, где лагерь. За пределами - лагеря нет.&lt;br /&gt;
safe_restr = pri_surge_hide_a16; pri_a16_sr_light	--зоны, в которых неписи бессмертны&lt;br /&gt;
smart_control = smart_control				--сцылко на секцию контроля смарта&lt;br /&gt;
spawn_point = zat_sim_16_spawn_point 			--точка респавна&lt;br /&gt;
respawn_radius = 150					--радиус респавна. Если актер ближе - не спавнить. По умолчанию, понятно, 150.&lt;br /&gt;
respawn_sector = default				--сектор респавна. Если точка принадлежит группировке и вокруг нет врагов - уменьшаем капасити &lt;br /&gt;
до 1. Рабочих примеров нет. Работоспособность сомнительна&lt;br /&gt;
mutant_lair =						--не работает.&lt;br /&gt;
no_mutant =						--не работает.&lt;br /&gt;
forbidden_point =					--не работает.&lt;br /&gt;
&lt;br /&gt;
[respawn@pri_sim_12]					--параметры респавна - отряды.&lt;br /&gt;
sim_tushkano&lt;br /&gt;
&lt;br /&gt;
[sim_tushkano]&lt;br /&gt;
spawn_squads = simulation_tushkano			--какие отряды респавнить&lt;br /&gt;
spawn_num = {+pri_a18_use_idol_done}2, 0		--сколько респавнить, и когда можно это делать. Если написанно 0 то распавна не будет. Если&lt;br /&gt;
написано 2 то каждый респавн будут спавнится 2 скварда&lt;br /&gt;
&lt;br /&gt;
[smart_control]&lt;br /&gt;
noweap_zone = pri_a16_sr_noweap				--зона принудительного убора оружия&lt;br /&gt;
ignore_zone = pri_surge_hide_a16; pri_a16_sr_light	--зоны, в которых у неписей устанавливаются флаги combat_ignore_cond и &lt;br /&gt;
combat_ignore_keep_when_attacked = true&lt;br /&gt;
alarm_start_sound = {-pri_b305_fifth_cam_end} pri_a16_base_alarm, nil	--озвучка на начало атаки актора&lt;br /&gt;
alarm_stop_sound = {-pri_b305_fifth_cam_end} pri_a16_base_relax, nil	--озвучка на конец атаки актора&lt;br /&gt;
&lt;br /&gt;
[exclusive]&lt;br /&gt;
pri_b35_envoy_after = pripyat\pri_b35_envoy_logic.ltx			--ссылка на эксклюзивные работы для данного смарта.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Автор: KD87'''&lt;br /&gt;
[[Категория:Конфигурационные файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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_squad_descr</id>
		<title>CoP. Разбор squad descr</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_squad_descr"/>
				<updated>2011-02-03T20:45:21Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ЗП нету одиночных сталкеров. В ЗП есть только скварды состоящие из одного сталкера. Даже монстры ходят сквардами. Поэтому при создания сюжетного мода под ЗП просто необходимо знать какие параметры можно прописывать сквардам. &lt;br /&gt;
&lt;br /&gt;
Итак, поехали:&lt;br /&gt;
&amp;lt;code&amp;gt;[jup_a10_bandit_squad]:online_offline_group						   --id отряда с указанием скриптового класса. Класс не менять.&lt;br /&gt;
faction	= bandit								           --группировка&lt;br /&gt;
npc = sim_default_bandit_3, sim_default_bandit_2, sim_default_bandit_2                     --четко заданные неписи для спавна*&lt;br /&gt;
story_id = jup_a10_bandit_squad							           --sid. Если отряд эксклюзив - обязательный параметр&lt;br /&gt;
target_smart = {+jup_a10_vano_give_task_end} nil, {+jup_a10_fals} jup_a10_smart_terrain	   --скриптовая цель, смарт-террейн.&lt;br /&gt;
spawn_point = jup_a10_spawn_point							   --точка спавна.&lt;br /&gt;
sympathy = 0									           --симпатия отряда. Описание симпатии см. в game_relations.ltx&lt;br /&gt;
relationship = neutral									   --отношение к актору.&lt;br /&gt;
on_death = %+zat_b38_default_bloodsucker_death%					           --кондлист на смерть отряда.&lt;br /&gt;
always_arrived = true									   --скорее всего, отряд всегда в текущем таргете.&lt;br /&gt;
invulnerable = {+pri_a28_update_task_cover_strelok} false, true				   --бессмертие отряда&lt;br /&gt;
show_spot =	                 						           --не работает&lt;br /&gt;
level_spot =                 							           --не работает&lt;br /&gt;
always_walk =										   --не работает&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Можно делать рандомный спавн и рандомный же подспавн:&lt;br /&gt;
&amp;lt;code&amp;gt;npc_random = sim_default_bandit_3, sim_default_bandit_2, sim_default_bandit_2		   --неписи для рандомного спавна&lt;br /&gt;
npc_in_squad = 2,4									   --пределы числового рандома. Min и Мах. Причем нужно сначала Min и только потом Max. Иначе вылет&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также, первый непись - командир отряда. Так говорит патрол_менеджер. В случае рандома и тут будет рандом, но это и пофиг.&lt;br /&gt;
&lt;br /&gt;
'''Автор: KD87'''&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%D1%85</id>
		<title>CoP: Регистрация новой локации в скриптах</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9_%D0%BB%D0%BE%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0%D1%85"/>
				<updated>2011-02-03T20:22:19Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Для того чтобы на локации работали некоторые скриптовые фишки, необходимо ее правильно прописать в скриптах. Как это сделать? Читайте:&lt;br /&gt;
&lt;br /&gt;
Примечание: В этом туторе я прописывал кордон. Поэтому вместо l01_escape напишите имя своей локации&lt;br /&gt;
&lt;br /&gt;
1.Добавление в симуляцию&lt;br /&gt;
&lt;br /&gt;
Файл: scripts\sim_board.script&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&amp;lt;code&amp;gt;local group_id_by_levels = {zaton = 1,&lt;br /&gt;
				pripyat = 2,&lt;br /&gt;
				jupiter = 3,&lt;br /&gt;
				labx8 = 4,&lt;br /&gt;
				jupiter_underground = 5,&lt;br /&gt;
				l01_escape = 6}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.Регистрация в менеджере смарт-террейнов&lt;br /&gt;
&lt;br /&gt;
Файл: scripts\smart_terrain.script&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&amp;lt;code&amp;gt;	local sim_squads = {&lt;br /&gt;
				[&amp;quot;zaton&amp;quot;] = {},&lt;br /&gt;
				[&amp;quot;jupiter&amp;quot;] = {},&lt;br /&gt;
				[&amp;quot;pripyat&amp;quot;] = {},&lt;br /&gt;
				[&amp;quot;l01_escape&amp;quot;] = {}&lt;br /&gt;
		}&lt;br /&gt;
	local sim_smarts = {&lt;br /&gt;
				[&amp;quot;zaton&amp;quot;] = {},&lt;br /&gt;
				[&amp;quot;jupiter&amp;quot;] = {},&lt;br /&gt;
				[&amp;quot;pripyat&amp;quot;] = {},&lt;br /&gt;
				[&amp;quot;l01_escape&amp;quot;] = {}&lt;br /&gt;
		}&lt;br /&gt;
	print_smarts_and_squads_by_level(&amp;quot;zaton&amp;quot;)&lt;br /&gt;
	print_smarts_and_squads_by_level(&amp;quot;jupiter&amp;quot;)&lt;br /&gt;
	print_smarts_and_squads_by_level(&amp;quot;pripyat&amp;quot;)&lt;br /&gt;
        print_smarts_and_squads_by_level(&amp;quot;l01_escape&amp;quot;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.Регистрация в менеджере выбросов&lt;br /&gt;
&lt;br /&gt;
Файл: scripts\surge_manager.script&lt;br /&gt;
&lt;br /&gt;
Пример: &lt;br /&gt;
&amp;lt;code&amp;gt;Стр.38	self.levels_respawn = {zaton = false, jupiter = false, pripyat = false, l01_escape = false }&lt;br /&gt;
Стр.323		self.levels_respawn 	= {zaton = true, jupiter = true, pripyat = true, l01_escape = true }&lt;br /&gt;
Стр.346		self.levels_respawn 	= {zaton = true, jupiter = true, pripyat = true, l01_escape = true }&lt;br /&gt;
Стр.632	        packet:w_bool(self.levels_respawn.zaton)&lt;br /&gt;
		packet:w_bool(self.levels_respawn.jupiter)&lt;br /&gt;
		packet:w_bool(self.levels_respawn.pripyat)&lt;br /&gt;
                packet:w_bool(self.levels_respawn.l01_escape)&lt;br /&gt;
Стр.658	        self.levels_respawn.zaton = packet:r_bool()&lt;br /&gt;
		self.levels_respawn.jupiter = packet:r_bool()&lt;br /&gt;
		self.levels_respawn.pripyat = packet:r_bool()&lt;br /&gt;
                self.levels_respawn.l01_escape = packet:r_bool()&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.Регистрация в менеджере межуровневых проводников&lt;br /&gt;
&lt;br /&gt;
Файл: scripts\task_objects.script&lt;br /&gt;
&lt;br /&gt;
Пример: &amp;lt;code&amp;gt;local guiders_by_level = {&lt;br /&gt;
[&amp;quot;zaton&amp;quot;]={[&amp;quot;jupiter&amp;quot;]=&amp;quot;zat_b215_stalker_guide_zaton&amp;quot;, [&amp;quot;pripyat&amp;quot;]=&amp;quot;zat_b215_stalker_guide_zaton&amp;quot;},&lt;br /&gt;
[&amp;quot;jupiter&amp;quot;]={[&amp;quot;zaton&amp;quot;]=&amp;quot;zat_b215_stalker_guide_jupiter&amp;quot;, [&amp;quot;pripyat&amp;quot;]=&amp;quot;jup_b43_stalker_assistant&amp;quot;},&lt;br /&gt;
	[&amp;quot;pripyat&amp;quot;]={[&amp;quot;zaton&amp;quot;]=&amp;quot;jup_b43_stalker_assistant_pri&amp;quot;, [&amp;quot;jupiter&amp;quot;]=&amp;quot;jup_b43_stalker_assistant_pri&amp;quot;},&lt;br /&gt;
[&amp;quot;l01_escape&amp;quot;]=…}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Автор: KD87'''&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>Призрак</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_squad_descr</id>
		<title>CoP. Разбор squad descr</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_squad_descr"/>
				<updated>2011-02-03T20:08:47Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В ЗП нету одиночных сталкеров. В ЗП есть только скварды состоящие из одного сталкера. Даже монстры ходят сквардами. Поэтому при создания сюжетного мода под ЗП просто необходимо знать какие параметры можно прописывать сквардам. &lt;br /&gt;
&lt;br /&gt;
Итак, поехали:&lt;br /&gt;
&amp;lt;code&amp;gt;[jup_a10_bandit_squad]:online_offline_group						   --id отряда с указанием скриптового класса. Класс не менять.&lt;br /&gt;
faction	= bandit								           --группировка&lt;br /&gt;
npc = sim_default_bandit_3, sim_default_bandit_2, sim_default_bandit_2                     --четко заданные неписи для спавна*&lt;br /&gt;
story_id = jup_a10_bandit_squad							           --sid. Если отряд эксклюзив - обязательный параметр&lt;br /&gt;
target_smart = {+jup_a10_vano_give_task_end} nil, {+jup_a10_fals} jup_a10_smart_terrain	   --скриптовая цель, смарт-террейн.&lt;br /&gt;
spawn_point = jup_a10_spawn_point							   --точка спавна.&lt;br /&gt;
sympathy = 0									           --симпатия отряда. Описание симпатии см. в game_relations.ltx&lt;br /&gt;
relationship = neutral									   --отношение к актору.&lt;br /&gt;
on_death = %+zat_b38_default_bloodsucker_death%					           --кондлист на смерть отряда.&lt;br /&gt;
always_arrived = true									   --скорее всего, отряд всегда в текущем таргете.&lt;br /&gt;
invulnerable = {+pri_a28_update_task_cover_strelok} false, true				   --бессмертие отряда&lt;br /&gt;
show_spot =	                 						           --не работает&lt;br /&gt;
level_spot =                 							           --не работает&lt;br /&gt;
always_walk =										   --не работает&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Можно делать рандомный спавн и рандомный же подспавн:&lt;br /&gt;
&amp;lt;code&amp;gt;npc_random = sim_default_bandit_3, sim_default_bandit_2, sim_default_bandit_2		   --неписи для рандомного спавна&lt;br /&gt;
npc_in_squad = 2,4									   --пределы числового рандома. Min и Мах. Причем нужно сначала Min и только потом Max. Иначе вылет&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также, первый непись - командир отряда. Так говорит патрол_менеджер. В случае рандома и тут будет рандом, но это и пофиг.&lt;br /&gt;
&lt;br /&gt;
Автор: [[Участник:Призрак|Призрак]]&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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-03T20:08:29Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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'''&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</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-03T20:07:56Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA</id>
		<title>Участник:Призрак</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA"/>
				<updated>2011-01-30T11:38:54Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Моды:&lt;br /&gt;
&lt;br /&gt;
Адаптация Народной солянки на двигатель билда 3120&lt;br /&gt;
&lt;br /&gt;
Адаптация АМК на ЗП&lt;br /&gt;
&lt;br /&gt;
Новый сюжет. Призрак (в разработке)&lt;br /&gt;
&lt;br /&gt;
Спецализация: Спавнер, квестер, скриптер&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA</id>
		<title>Участник:Призрак</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA"/>
				<updated>2011-01-30T11:38:30Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Моды:&lt;br /&gt;
&lt;br /&gt;
Адаптация Народной солянки на двигатель билда 3120&lt;br /&gt;
&lt;br /&gt;
Адаптация АМК на ЗП&lt;br /&gt;
&lt;br /&gt;
Новый сюжет. Призрак (в разработке)&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA</id>
		<title>Участник:Призрак</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA"/>
				<updated>2011-01-30T11:38:15Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Моды:&lt;br /&gt;
Адаптация Народной солянки на двигатель билда 3120&lt;br /&gt;
Адаптация АМК на ЗП&lt;br /&gt;
Новый сюжет. Призрак (в разработке)&lt;/div&gt;</summary>
		<author><name>Призрак</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:36:09Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &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;br /&gt;
&lt;br /&gt;
--[[Участник:Призрак|Призрак]] 11:36, 30 января 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D1%85_%D0%B0%D0%BD%D0%B8%D0%BC%D0%BF%D0%BE%D0%B8%D0%BD%D1%82%D0%BE%D0%B2</id>
		<title>CoP: Описание стандартных анимпоинтов</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CoP:_%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D1%85_%D0%B0%D0%BD%D0%B8%D0%BC%D0%BF%D0%BE%D0%B8%D0%BD%D1%82%D0%BE%D0%B2"/>
				<updated>2011-01-29T17:56:08Z</updated>
		
		<summary type="html">&lt;p&gt;Призрак: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Предоставляю вам список анимаций, которые использовались ПЫСами в анимпоинтах:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;zat_b14_give_artefact_idle - стоя рулим( Я так понял что этот анимпоинт связан с баржей на затоне)&lt;br /&gt;
zat_b14_give_artefact_act - стоя поворачиваем руль&lt;br /&gt;
zat_b38_stalker_break_lock - чиним замок&lt;br /&gt;
zat_b38_stalker_turn_on_lift - открываем лифт и спускаемся вниз по лестнице&lt;br /&gt;
zat_b38_stalker_jump_tonnel - прыгаем в люк&lt;br /&gt;
zat_b38_stalker_alert - идет как бандит, а потом оглыдывается и вскидывает оружие&lt;br /&gt;
zat_b20_noah_jump - отходим и прыгаем с разбега&lt;br /&gt;
pri_a17_ice_climb - вверх по лестнице&lt;br /&gt;
pri_a17_fall_down - попали в человека и он упал&lt;br /&gt;
pri_a17_pray_in - идет на тебя и помоему посылает&lt;br /&gt;
pri_a17_pray- идет на тебя и помоему посылает (много раз)&lt;br /&gt;
zat_b22_medic_turn_idle - чистит стол. Хотя не особо понятно что он делает (видимо эту анимацию исполняет медик на Складовске)&lt;br /&gt;
zat_b22_medic_turn_out - отворачиваемся от стола&lt;br /&gt;
zat_b22_medic_suicide - суицид&lt;br /&gt;
zat_b3_tech_drunk - спит (Кардан)&lt;br /&gt;
zat_b3_tech_drink - выпиваем водочки (Кардан)&lt;br /&gt;
zat_b3_tech_idle - сидим на стуле (Кардан)&lt;br /&gt;
zat_b3_tech_surprise - заснул сидя (Кардан)&lt;br /&gt;
give_orders - тоже самое что и анимка give_orders - оглядывемся по сторонам и посылаем на два стороны чуваков&lt;br /&gt;
bloodsucker_search - оглядываемся по сторонам&lt;br /&gt;
bloodsucker_panic - от бедра стреляем&lt;br /&gt;
jup_b10_drunk_ravings - спим сидя&lt;br /&gt;
pas_b400_vano_probe - тыкаем в детекторе что то&lt;br /&gt;
pri_a28_kirillov_sit_high_radio - сидим высоко и ковыряемся в радио&lt;br /&gt;
pri_a18_inspert_monolit_actor - идем и оглядываем все вокруг&lt;br /&gt;
pri_a20_colonel_radio - стоим оперевшись об стол и смотря в комп/радио&lt;br /&gt;
pri_a21_sentry_madness - стоим и отстреливаемся по кругу&lt;br /&gt;
pri_a21_sentry_madness_suicide - отстреливаемся и потом суицид&lt;br /&gt;
pri_a28_army_trance_out - Совсем не понятно&lt;br /&gt;
zat_b106_wounded_idle - лежит на кровате (раб)&lt;br /&gt;
zat_b38_cop_dead - Прикидываемся трупом&lt;br /&gt;
jup_b15_zulus_sit_drink - сидим в позе зулуса и пьем водку&lt;br /&gt;
jup_b15_zulus_sit_idle - сидим в позе зулуса&lt;br /&gt;
jup_b15_zulus_sit_out - слазием со стола&lt;br /&gt;
jup_b219_actor_one - оружие на плечо и смотрим&lt;br /&gt;
jup_b219_azot_all - стоим бъем кулаком по столу, указываем в стол&lt;br /&gt;
zat_b100_heli_2_serch - сидим и тыкаем в ПДА пальцем&lt;br /&gt;
jup_b217_guide_stand - оглядываемся потихоньку и идем к точке&lt;br /&gt;
jup_b217_nitro_stand - стоим у стены боком&lt;br /&gt;
jup_b41_novikov_stand - руки в кармане и стоим&lt;br /&gt;
pri_b305_actor - идем прямо потом крадемся вправо наставляем ногу на ящик и пушкой смотрим туда&lt;br /&gt;
jup_a9_cam2_actor - чуть чуть наклонились и рассмартиваем что то&lt;br /&gt;
pri_a25_psy_medic_idle - пси раненый&lt;br /&gt;
pri_a25_psy_medic_out - выход из пси ранения&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для того чтобы НПС занял анимпоинт и принялся проигрывать нужную анимацию, ему нужно задать логику:&lt;br /&gt;
&amp;lt;code&amp;gt;[logic@bar_stalker_sleep]&lt;br /&gt;
active = animpoint@animpoint_stalker_sleep&lt;br /&gt;
&lt;br /&gt;
[animpoint@animpoint_stalker_sleep]&lt;br /&gt;
cover_name = predbannik_bar_stalker_sleep_sc     ;Имя анимпоинта&lt;br /&gt;
avail_animations = zat_b106_wounded_idle         ;Анимация&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Помните что у некоторых этих анимаций уже прописанны направления, поэтому при развороте анимпоинта, НПС так и остаются проигрывать анимацию в каком-то направлении. Для того чтобы при развороте анимпоинта, разворачивался и НПС который проигрывает анимацию, необходимо в файле state_mgr_scenario.script найти свою анимацию и удалить direction = CSightParams.eSightTypeAnimationDirection&lt;br /&gt;
&lt;br /&gt;
--[[Участник:Призрак|Призрак]] 17:56, 29 января 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Призрак</name></author>	</entry>

	</feed>