Справочник по вылетам и багам серий игры S.T.A.L.K.E.R.

(четвертая редакция 2015)

Тема-справочник по вылетам S.T.A.L.K.E.R в большей степени ориентирован на чистый ТЧ, но в большинстве случаев причина и решение вылета одинакова для всех частей.
Информация собиралась со всего интернета, посему указывать источники не вижу смысла, если кого обидел - прошу прощения.

Тема справочника вылетов на форуме amk-team ColR_iT
Cоставил и портировал в формат *.chm ARayKo60

--------------
Внимание: Некоторые данные устарели и требуют исправления и дополнения.


Игра сталкер, а конкретно сам движок X-ray довольно капризный, и зачастую как в процессе модификации, так и во время игры игра вылетает. Чтобы мы знали причину вылета, движок нам оставляет лог вылета.
В окне багтрекера (только в ЧН и ЗП).

Лог - это файл в котором фиксируется вся работа движка S.T.A.L.K.E.R. во время игры, а также сохраняются сведения об обычных некритичных ошибках и ошибках, приводящих к вылету. В большинстве случаев важна сама ошибка (т.е. последние строчки лога).

Где искать файл с логом:
В Windows XP (По умолчанию) - C:\Documents and Settings\All Users\STALKER-SHOC\logs\xray_<ваше_имя_пользователя>.log
В Windows Vista (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\logs\xray_<ваше_имя_пользователя>.log
B Windows 7 (По умолчанию) - C:\Users\Public\Documents\STALKER-SHOC\logs\xray_<ваше_имя_пользователя>.log

А чтобы не мучатся искать лог, откройте блокнотом fsgame.ltx найдите строку:
$app_data_root$ = false| false| saves\
и замените на
$app_data_root$  = true|  false|  $fs_root$| user\
Если нет тогда добавьте эту строку и сохраните fsgame.ltx. После этой нехитрой манипуляции у нас изменился путь для сохранений, и теперь все будет сохранятся в папку с игрой ,и все логи будут в папке user

Лог вылета можно посмотреть несколькими способами:
1. После вылета создать текстовый документ и правой кнопкой мыши на свободном месте нажать Вставить или нажать Ctrl+V (Вставить) и появится ошибка
3. Можно использовать программу Punto Switcher включить в ней вести дневник, если даже полностью зависнет комп в его дневнике останется инфа.
4. В окне багтрекера (только в ЧН и ЗП).

После открытия файла с ошибкой видим много всего, пролистываем все это и в самом низу будет лог ошибки. Он начинается с FATAL ERROR или без него.
Еще бывают вылеты безголовые, в которых файл лога пустой. Здесь причины могут быть разные может проблемы с железом, либо со скачанными файлами или дело в скриптах.


Expression  : e_parent
Function    : xrServer::Process_event_reject
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line        : 11
Description : parent not found. id_parent=110 id_entity=117 frame=1791

Причина:

Возникает иногда произвольно при смерти NPC. Движок отрабатывая лут изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет.

Лечение:

Попробуйте загрузить последнее сохранение.


Expression  : e_entity
Function    : xrServer::Process_event_reject
File        : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line        : 12
Description : entity not found. id_parent=7540 id_entity=44047 frame=2075050

Причина:

Возникает иногда произвольно при смерти неписей. Движок отрабатывая лут изредка теряет серверный объект уничтожаемой вещи, в итоге происходит вылет.

Лечение:

Попробуйте загрузить последнее сохранение.

Expression  : e_entity
Function    : xrServer::Process_event_reject
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line        : 12
Description : entity not found.

Причина:

Ошибка 1.0004 патча.

Лечение:

Исправляется установкой более Новой версии патча для ТЧ.

Expression  : assertion failed
Function    : xrServer::Process_event_reject
File        : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line        : 12
Description : e_parent && e_entity

Причина:

Непись умер во время торговли или гранатометания, а движок не успел до удаления серверного объекта непися отрегистрировать его лут. Также происходит во время попытки удаления или смены владельца уже удаленного объекта.

Лечение:

В death_manager.script нужно заменить строки:

alife():release(alife():object(item:id()), true)

на

local obj = item and item:id()and alife():object(item:id())
if obj then alife():release( obj, true ) end
Аналогично, во всех других скриптах все операции с game_object, у которого se_obj может быть удален независимо

Они известны, но корни которых уходят в движок, конфиги, текстуры ...

Такие ошибки встречаются в любом моде и в оригинале и не воспроизводятся ...

[error]Expression  : assertion failed
[error]Function    : xrServer::Perform_destroy
[error]File        : D:\prog_repository\sources\trunk\xrGame\xrServer_sls_clear.cpp
[error]Line        : 12
[error]Description : object->ID_Parent == 0xffff

stack trace:

Лечение:

В death_manager.script нужно заменить строки:

alife ():set_switch_online  ( sobj.parent_id, false)
alife ():set_switch_offline ( sobj.parent_id, true )


Expression  : ini->section_exist(imm_sect)
Function    : CHitImmunity::LoadImmunities
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\hit_immunity.cpp
Line        : 22
Description : hunter_novice_resistance

Причина:

Ошибка в секции иммунитета, скорее всего костюма.

Лечение:

Поиском по файлам игры найти указанную секцию и проверить правильность её написания, а также её наличие в принципе.


Expression  : assertion failed
Function    : xrServer::Process_event_ownership
File        : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_ownership.cpp
Line        : 23
Description : e_parent

Причина:

При обработке события связанного с 'обладаемым' предметом - сам объект (parent) не был обнаружен.
Такое порой случается, когда или объект удаляется из игры без требуемой отрегистрации. Например, порой НПС, стреляя из ствола (отыгрываются партиклы), попав в аномалию, разрывается - сервер должен продолжить иль прекратить огонь из оружия -> ищет по владельцу стреляющий ствол и ... не находит.

Лечение:

Вылет вряд ли может быть стабильным, поэтому иногда достаточно просто загрузить последнее сохранение.
А бороться можно только выверяя все коды, в которых удаляются предметы/объекты на предмет необходимых отрегистраций и снижать заселяемость локаций. Чем меньше неписей/монстров - тем меньше вероятность такой коллизии.


Expression  : e_entity->ID_Parent == id_parent
Function    : xrServer::Process_event_reject
File        : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp
Line        : 24
Description : device_pda23827
Arguments   : gar_stalker_respawn_123826

Причина:

Description и Arguments как правило разные. Вылет движковый и достаточно редкий. Случается тогда, когда движок пытается присвоить parent предмету, в данном случае device_pda23827, нипесю (gar_stalker_respawn_123826), а предмет УЖЕ принадлежит ему, т.е. device_pda23827:parent() == gar_stalker_respawn_123826:id()

Лечение:

?


Expression  : !hud_snd.sounds.empty()
Function    : HUD_SOUND::LoadSound
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\HudSound.cpp
Line        : 27
Description : there is no sounds for:
Arguments   : wpn_rpg7

Причина:

Количество прописанных звуков в секции указанного оружия не соответствует количеству звуков класса прописанного там же.

Лечение:

Проверьте соответствие класса оружия и количества звуков на примере оригинальных файлов.


Expression  : no_assert
Function    : CALifeStoryRegistry::add
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_story_registry.cpp
Line        : 30
Description : Specified story object is already in the Story registry!

Причина:

Игра определила одинаковые story_id для двух и более объектов. Возникнуть это может в нескольких случаях:
1. Более явная причина: в all.spawn либо скриптом разным объектам присвоен один и тот же story_id;
2. При изменениях в спавне, т.е. добавлении или удалении секций, происходит переиндексация и секции, которые после добавленой/убавленной - получают иные индексы. В модах, в которых происходит спавн объектов по индексам из all.spawn'a (alife():create(индекс_из_all_spawn)), а это АМК, моды на его основе и не только, происходит ошибочное удаление (не того объекта) и соответственно дублированный спавн не удаленного объекта - вот вам и дублированный сид.

Лечение:

1. Найти поиском дублированные сиды и сделать их разными;
2. Добавлять секции в all.spawn исключительно с индексами превышающими максимальный в принципе в all.spawn, а не в файле. В случае удаления ситуация сложнее. Если всё же нужно избавиться от объекта в all.spawn, удаляйте его скриптом, тем самым не нарушая последовательность индексации.


Expression  : res!=-1
Function    : get_rank
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\Restrictions.cpp
Line        : 34
Description : cannot find rank for
Arguments   : wpn_rem870short

Причина:

Указанное оружие, в данном случае wpn_rem870short, не прописано в mp_ranks.ltx.

Лечение:

Добавить оружие в секции по аналогии с имеющимися. Либо избавиться от вылета на совсем посредством правки dll.

Expression  : fatal error
Function    : weapon_hud_value::load
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\WeaponHUD.cpp
Line        : 34
Description : <no expression>
Arguments   : There is no 'muzzle' bone for weapon 'wpn_usp_hud'.

Причина:

В указанной секции оружия (обычно это худ-модель), в данном случае wpn_usp_hud, для параметра fire_bone указана неверная кость (muzzle).

Лечение:

Найти и исправить ошибку.

Expression  : fatal error
Function    : weapon_hud_value::load
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\WeaponHUD.cpp
Line        : 34
Description : <no expression>
Arguments   : There is no 'joint4' bone for weapon 'wpn_rpg7_hud'.

Причина:

Смотри выше


Expression  : assertion failed
Function    : CLevelGraph::CLevelGraph
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\level_graph.cpp
Line        : 35
Description : header().version() == XRAI_CURRENT_VERSION

Причина:

Файл level.gct не соответствует game.graph, скорее всего файлы из разных частей частей игры, т.к. возникает зачастую во время переноса локаций из одной части игры (билды в том числе) в другую.

Лечение:

Проверьте соответствие файлов.

-----------------------------------------------------------

FATAL ERROR

[error]Expression    : pSettings->line_exist(section,"material")
[error]Function      : CMaterialManager::Load
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\material_manager.cpp
[error]Line          : 35
[error]Description   : Material not found in the section
[error]Arguments     : m_rat_e

stack trace:

Причина:

???

Лечение:

???


Expression  : fatal error
Function    : xrServer::Process_update
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_update.cpp
Line        : 37
Description : <no expression>
Arguments   : Beer from the creator of 'WP_SHOTG'

Причина:

Вылет движковый и рандомный. Название класса может быть другим: O_ACTOR, S_ACTOR, AI_CROW, WP_ASHTG. Побился нет-пакет объекта при апдейте. Также, возможной причиной является использование трейнеров, ArtMoney и прочих подобных программ.

Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true. И когда у дробовика максимальное количество заряженных патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом

Лечение:

Загрузка последнего сохранения.

Вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.


Expression  : fatal error
Function    : xrServer::Process_update
File        : D:\prog_repository\sources\trunk\xrGame\xrServer_process_update.cpp
Line        : 39
Description :
Arguments   : Beer from the creator of 'S_ACTOR '; initiator: 0x00000001, r_tell() = 66, pos = 5, objectID = 0

Возникает при загрузке игры

Возможная причина:
Неверно прописан параметр class в конфиге какого-либо объекта (необязательно указанного в строке arguments)

Лечение:
Проштудировать конфиги на предмет неверно указанного класса у какого-либо из предметов

Expression  : assertion failed
Function    : CItemMgr::Load
File        : E:\priquel\sources\engine\xrGame\ui\UIBuyWndShared.cpp
Line        : 39
Description : it!=m_items.end()

Причина:

B одном из файлов *_game.ltx (вместо * - название типа игры), находящихся по адресу configs\mp, в секции вида [*_base_cost] не прописан какой-то из доступных для покупки в мультиплеере предметов.


Expression  : assertion failed
Function    : CResourceManager::_GetBlender
File        : E:\stalker\patch_1_0004\xr_3da\ResourceManager.cpp
Line        : 42
Description : Name && Name[0]

Причина:

Возможно ошибка в одной из .ogf моделей.

Лечение:

?


Expression  : assertion failed
Function    : _VertexStream::Lock
File        : E:\stalker\patch_1_0004\xr_3da\R_DStreams.cpp
Line        : 44
Description : (bytes_need<=mSize) && vl_Count

Причина:

Переполнение видеобуфера на отрисовку.

Лечение:

Снизить настройки графики, либо ограничить дальность видимости на локации. Временным решением может послужить исправление всех silencer_light_range на значения заметно большие, чем silencer_light_var_range, в конфигах оружия. Проблема возникает при убийстве NPC\ мутанта. Типичный вылет по нехватке ресурсов.

Участник:Призрак - Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника ,искать на АМК-форуме .


Expression  : fatal error
Function    : CObjectAnimator::LoadMotions
File        : E:\stalker\patch_1_0004\xr_3da\ObjectAnimator.cpp
Line        : 46
Description :
Arguments   : Can't find motion file 'water_blow.anm'.

Причина:

Игра не может найти указанный файл анимации камеры.

Лечение:

Проверить наличие данного файла и проверить правильность написания пути до такового.

Expression  : assertion failed
Function    : CStepManager::reload
File        : E:\stalker\sources\trunk\xr_3da\xrGame\step_manager.cpp
Line        : 46
Description : param.cycles >= 1

Причина:

Ошибка при чтении параметров настройки анимации ходьбы. Ссылка на эту секцию указана в параметре секции непися step_params. А далее там таблица в которой, вероятнее всего и находится ошибка.

Лечение:

Найти и исправить ошибку в таблице.


Expression  : fatal error
Function    : CResourceManager::_GetBlender
File        : E:\stalker\patch_1_0004\xr_3da\ResourceManager.cpp
Line        : 49
Description :
Arguments   : Shader 'models\antigas_glass' not found in library.

Причина:

Не найден шейдер models\antigas_glass в библиотеке шейдеров shaders.xr, который может использоваться и библиотеке партиклов particles.xr

Лечение:

Добавить недостающий шейдерв библиотеку shaders.xr, либо избавиться от модели, который данный шейдер использует.

FATAL ERROR

[error]Expression  : 0
[error]Function    : ErrorLog
[error]File        : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
[error]Line        : 49
[error]Description : You are trying to spawn two or more objects with the same story_id:[pri_b35_jup_b43_stalker_assistant_squad] --> [pri_b35_jup_b43_stalker_assistant_squad10024] try to add:[pri_b35_jup_b43_stalker_assistant_squad10413]

stack trace:

Причина:

Дважды или больше раз вызывается спавн объектов с одинаковыми SID

Лечение:

Удалить лишние вызовы спавна

FATAL ERROR

[error]Expression  : 0
[error]Function    : ErrorLog
[error]File        : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
[error]Line        : 49
[error]Description : object 'pri_b36_sr_ahi_place_pda': activate_by_section: section 'sr_idle@game_started' does not exist

stack trace:

Причина:

В рестрикторе (в данном случае 'pri_b36_sr_ahi_place_pda') есть переключение, отсылка к несуществующей секции логики ('sr_idle@game_started').

Лечение:

Проверить наличие секции в логике рестриктора, проверить соответствие названий, или же удалить отсылку к логике


Expression  : fatal error
Function    : CStringTable::Load
File        : E:\stalker\sources\trunk\xr_3da\xrGame\string_table.cpp
Line        : 53
Description : <no expression>
Arguments   : string table xml file not found ui_st_pda.xml, for language rus

Причина:

Вместо rus может быть eng, но суть проблемы остаётся неизменной - в файле localization.ltx в строке language указано название папки (rus в данном случае) в config\text из которой будет браться текст, так вот в этой папке не найден указанный файл (ui_st_pda.xml).

Лечение:

Если добавляли свой файл локализации - проверьте правильно написания имени и наличие файла в нужной папке. Если устанавливали мод - переустановите его.


Expression  : fatal error
Function    : CObjectItemSingle<class CUIGameAHunt,1>::server_object
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\object_item_single_inline.h
Line        : 54
Description : <no expression>
Arguments   : Cannot instantiate server object, because server class is not declared!

Причина:

Переводчик даёт вполне адекватное определение. Но на самом деле вылет происходит по причине неопределённого состояния объекта, когда ему установлены оба флага для разрешения перехода в онлайн и оффлайн одновременно.

Лечение:

Найти и исправить ошибку.


Expression  : assertion failed
Function    : CEngineAPI::Initialize
File        : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp
Line        : 55
Description : hRender

Причина:

Такое бывает в основном если мод предназначенный для патча 1.0006 запустить на патче 1.0004.


Expression  : fatal error
Function    : IRender_Visual::Load
File        : E:\stalker\patch_1_0004\xr_3da\FBasicVisual.cpp
Line        : 58
Description : <no expression>
Arguments   : Invalid visual

Причина:

Ошибка модели какого-то объекта.

Лечение:

Найти объект и либо исправить модель, либо заменить, или же удалить сам объект.


Expression  : item().GetSlot() == NO_ACTIVE_SLOT
Function    : CHudItem::Load
File        : E:\stalker\sources\trunk\xr_3da\xrGame\HudItem.cpp
Line        : 60
Description : active slot is set, but hud for food item is not available

stack trace :

Причина:

Активный слот установлен, но HUD для предмета еды ( ???) не найден)


Expression  : W==1
Function    : CFileWriter::w
File        : e:\stalker\patch_1_0004\xrcore\FS_internal.h
Line        : 63
Description : Can't write mem block to file. Disk maybe full.
Arguments   : Invalid argument

Причина:

Переполнение дисковой памяти. Коварность данного вылета заключается в том, что часто вылет происходит в момент сохранения игры, и в результате сэйв будет битым.

Лечение:

Освободите место на диске, если не помогает обычная загрузка последнего рабочего сохранения.

Expression  : fatal error
Function    : CBlender_default::Compile
File        : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R1\BlenderDefault.cpp
Line        : 63
Description :
Arguments   : Not enought textures for shader, base tex: путь/до_текстуры

Причина:

Запуск модели/локации, на которой есть такая модель, не важно стат./динам. модель, на dx8, т.е статическом освещении. Возможно, из-за шейдера, его текстуры в настройке.

Лечение:

Временное решение запускать на освещении выше статики, любом динамическом, dx9, dx10, dx11.

Expression  : fatal error
Function    : CBlender_default::Compile
File        : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R1\BlenderDefault.cpp
Line        : 63
Description :
Arguments   : Not enought textures for shader, base tex: veh\veh_mi2

Причина:

Проблемы с шейдерами - у меня был такой влет только на статическом освещении из за объекта локации с шейдером default.

Лечение:

Заменить шейдер default на другой, например, на def_shaders\def_vertex.

Смотри предыдущий.


Expression  : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
Function    : CALifeSwitchManager::add_online
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_switch_manager.cpp
Line        : 64
Description : Invalid vertex for object
Arguments   : af_gravi22016

Причина:

Объект, в данном случае артефакт, заспавнился (перешёл в online) за пределами АИ сетки.

Лечение:

Если Вам нужно просто пройти какой-то момент в игре, то можете попробовать уменьшить радиус A-Life, посредством параметра switch_distance, пройти проблемный участок, а затем вернуть первоначальное значение параметра. Если же вы хотите избавиться от вылета, перебирайте объекты перед выходом в online и ищите нужный объект.


Expression  : wave&&wave->length()
Function    : CSoundRender_Source::LoadWave
File        : E:\stalker\patch_1_0004\xrSound\SoundRender_Source_loader.cpp
Line        : 65
Description : Can't open wave file:
Arguments   : ..ваш путь к игре..\gamedata\sounds\music\sound.ogg(или любой другой)

Причина:

Игра не может открыть звуковой OGG-файл под названием sound в папке gamedata\sounds\music\.

Лечение:

Проверяйте наличие файла, правильность написания пути и имени файла. Если звуковой файл по адресу отсутствует добавьте его , если присутствует замените его на подходящий и желательно настроенный через SDK.

FATAL ERROR

Expression    : hGame
Function      : CEngineAPI::Initialize
File          : E:\stalker\patch_1_0004\xr_3da\EngineAPI.cpp
Line          : 65
Description   : Game DLL raised exception during loading or there is no game DLL at all

stack trace:

Причина:

Случается когда одна из dll некорректна. Например такой вылет бывает если подсунуть в ТЧ 1.0004 xrGame.dll от шестого патча.

Лечение:

Если нет резервных копий, то вероятнее всего потребуется переустановка игры.


Expression  : ovi
Function    : CSoundRender_Source::LoadWave
File        : E:\stalker\sources\trunk\xrSound\SoundRender_Source_loader.cpp
Line        : 70
Description : Invalid source info:
Arguments   : ..ваш путь к игре..\gamedata\sounds\wepack\weapons\val\val_shoot.ogg

Причина:

Указанный звуковой файл имеет неправильные свойства или настройки.

Лечение:

Убедитесь в правильности настройки звукового файла.


Expression  : ovi->rate==44100
Function    : CSoundRender_Source::LoadWave
File        : E:\stalker\sources\trunk\xrSound\SoundRender_Source_loader.cpp
Line        : 72
Description : Invalid source rate:
Arguments   : ...\gamedata\sounds\characters_voice\new_voice\novikov\talk\neutral_greeting\greeting_1.ogg

Причина:

Указанный звуковой файл имеет неправильные свойства или настройки.

Лечение:

Убедитесь в правильности настройки звукового файла.


Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: ...\gamedata\scripts\xr_danger.script:116: attempt to index field 'ignore_types' (a nil value)

Причина:

Игра не понимает значения 0 в danger_ignore. Проще говоря в логике какого-то персонажа параметрdanger_ignore равен нулю, либо он отрицателен, либо его вообще нету. Также может быть причина в том, что у какого-то в логике что-то неправильно указано в секции danger.

Лечение:

Для исправления рекомендую перед 116 строкой (номер строки может отличаться) дописать следующий код:

get_console():execute(self.object:name())

То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: ...\gamedata\scripts\.script:34: attempt to call method 'section' (a nil value)

Причина:

Метод обращения в игре не предусмотрен. Возможно, стоит пересмотреть подход к тому или иному скрипту. Часто такое возможно, когда к серверному объекту применяют клиентские методы и наоборот.

Лечение:

Найти и исправить ошибку.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: ...\gamedata\scripts\<имя файла>.script:<номер строки>: attempt to perform arithmetic on a nil value

Причина:

Попытка выполнения арифметической операции над nil.

Лечение:

Найти и исправить ошибку. Обратите внимание на строку с указанным номером, попытка выполнения арифметической операции над nil происходит именно в ней.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: ...\gamedata\scripts\<имя файла>.script:<номер строки>: attempt to compare number with nil

Причина:

Попытка сравнения числа с nil.

Лечение:

Найти и исправить ошибку. Обратите внимание на строку с указанным номером, попытка сравнения числа с nil происходит именно в ней.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: ...\gamedata\scripts\<имя файла>.script:<номер строки>: attempt to perform arithmetic on field '?' (a nil value)

Причина:

Попытка получить значение таблицы по ключу nil.

Лечение:

Найти и исправить ошибку. Обратите внимание на строку с указанным номером, попытка получения значения по ключу nil происходит именно в ней.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: error in error handling

Причина:

Причину вылета назвать достаточно трудно, вероятно это что-то глубоко движковое. Такой вылет может вызывать передача клиенсткого объекта в функцию switch_offline.

Лечение:

В случае передачи клиентского объекта - устранить ошибку. Но определить причину в большинстве случаев крайне проблематично - попробуйте загрузить последнее сохранение.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: attempt to call a nil value

Причина:

Происходит при попытке вызвать конструктор класса, которого не существует.

Лечение:

Найти и исправить ошибку.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : D:\xray-svn\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: C stack overflow

Причина:

Ошибка также может появиться со строкой 74. Переполнение стека. Смотрим внимательно: lua_error. Ошибка возможно в скриптах.

Лечение:

Загрузка последнего сохранения.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: No such operator defined

Причина:

Попытка использовать для какого-то объекта, несуществующий метод. Зачастую путаница с серверными и клиентскими метода.

Лечение:

Найти и исправить ошибку.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line        : 73
Description :
Arguments   : LUA error: ...\gamedata\scripts\<имя файла>.script:<номер строки>: unfinished capture

Причина:

Единственной причиной данного вылета которую я нашёл, это попытка использовать для функции string.find в качестве шаблона "волшебный символ" открывающуюся круглую скобку, т.е. попытка найти скобку таким образом:

local p = string.find(str, "(")

Лечение:

Для поиска открывающейся круглой скобки используйте параметр plain для данной функции со значением true, он выключает возможность поиска по шаблону и в таком случае производится поиск подстроки как есть:

local p = string.find(str, "(", 1, true)

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   :
[error]Arguments     : LUA error: ...\gamedata\scripts\inv_system.script:1674: attempt to call function 'GetCommand_TakeSlot' (a nil value)

stack trace:

Казалось бы, причина ясна - вызов функции, которой не существует. Однако функция есть, и называется именно так, и с ней все в порядке. как и с самим файлом скрипта тоже - в нем нет синтаксических ошибок, игра не ругается на него самого, заявляя что он 'a nil value'

Причина оказалась вот в чем. В начале скрипта, есть таблица, такого вида:

tbl = {
    string_key1 = number,
    string_key2 = number,
...

а далее есть еще одна таблица. вот такого вида:

tb_funcs = {
        [tbl.string_key1] = function(args...)
            ...
        end,
...

то есть, значения ее - функции. а ключами являются значения из первой таблицы.

Ну так вот. в первой таблице поменял имя одного из ключей. А во второй - забыл это сделать. Получилось что во второй таблице, одна из функций находится по ключу, который вообще то равен nil.
А причем же тут та функция, которую мы вызывали, и вылетели с нею в лог? да вообще ни при чем, она просто находилась в том же файле ниже по тексту.

Вывод - когда делаете в таблицах ключи вида массив/модуль.значение - убедитесь что это значение не равно nil ) а то сталкер об этом нормально не скажет.

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File              : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line              : 73
[error]Description   : <no expression>
[error]Arguments   : LUA error: ...r\gamedata\scripts\dialogs_global.script:332: attempt to index a nil value

stack trace:

порожден вот такой строкой:

                aa[i] = dlg:AddPhrase(dialin[1], new_id, inp_id, -10000):GetPhraseScript()

Так вот, ни одна из переменных в этой строке, не является nil. Вопреки тому что утверждает лог.

Выводим данные перед этой строкой

   zander_utils.arguments_to_str({aa, i, dialin[1], new_id, inp_id})
                        aa[i] = dlg:AddPhrase(dialin[1], new_id, inp_id, -10000):GetPhraseScript()

И получаем такие данные:

 TABLE:;
   {
   [KEY:  NUMBER:1] = VALUE:  TABLE:;
   Table value:
      {
      [KEY:  NUMBER:1] = VALUE:  USERDATA;
      [KEY:  NUMBER:2] = VALUE:  USERDATA;
      }
   [KEY:  NUMBER:2] = VALUE:  NUMBER:3;
   [KEY:  NUMBER:3] = VALUE:  STRING:esc_s1_story1;
   [KEY:  NUMBER:4] = VALUE:  NUMBER:1;
   [KEY:  NUMBER:5] = VALUE:  NUMBER:1;
   }

FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...\gamedata\scripts\dialogs_global.script:332: attempt to index a nil value

stack trace:

Оказывается, id этой фразы, и id фразы к которой идет привязка, равны друг другу. оба - число 1. никто из них не равен nil, но вот такой вот неинформативный вылет.


Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : D:\xray-svn\xr_3da\xrGame\script_engine.cpp
Line        : 74
Description : <no expression>
Arguments   : LUA error: ...\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

Причина:

Обычная причина этих вылетов – передача некорректных значений родным функциям игры. Эти ошибки обычно возникают когда произошёл какой-то серьёзный сбой, и о таких вылетах желательно сообщать разработчикам. Если такой вылет случился желательно так же сбросить текст выше строки FATAL ERROR из лога. Если же этот вылет у вас происходит при загрузке сейва – сбросьте его разработчикам мода с логом вылета.

Лечение:

Ошибка распространённая. На первый взгляд кажется, что ошибка как раз в скриптах, но всё может быть иначе. Делаем так: открываем файл _g.script блокнотом, закомментируем 20 строку (ставим перед строкой --) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ. Автор прав в том что вылет очень распространен, но так его исправлять нельзя, т.к. nil передается в эту функцию только при каком-то форс мажоре.

Поэтому необходимо необходимо перейти в _g.script в функцию printf и перед

log1(string.format(fmr,..))

дописать:

get_console():execute(string.gsub(fmt, " ", "_"))

После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil.

Expression  : fatal error
Function    : CScriptEngine::lua_error
File        : D:\xray-svn\xr_3da\xrGame\script_engine.cpp
Line        : 74
Description : <no expression>
Arguments   : LUA error: C stack overflow

Причина:

Переполнение стека.

Лечение:

Смотрим внимательно: lua_error. Ошибка возможно в скриптах.


Expression  : fatal error
Function    : CPostprocessAnimator::Load
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\PostprocessAnimator.cpp
Line        : 76
Description : <no expression>
Arguments   : Can't find motion file 'amk_shoot.ppe'.

Причина:

Игра не может найти указанный файл постпроцесса.

Лечение:

Проверяйте наличие файла, правильность написания пути и имени файла.


Expression  : g_uiSpotXml->NavigateToNode(path_base,0)
Function    : CMapLocation::LoadSpot
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\map_location.cpp
Line        : 78
Description : XML node not found in file map_spots.xml
Arguments   : sleep_pointer

Причина:

Игра не может найти в указанном файле (map_spots.xml) указанный элемент (sleep_pointer).

Лечение:

Найти и исправить ошибку.


[error]Expression  : source
[error]Function    : CPHSkeleton::Spawn
[error]File        : E:\priquel\sources\engine\xrGame\PHSkeleton.cpp
[error]Line        : 80
[error]Description : no source

Причина:

Свойства cse_ph_skeleton properties у НПС в all.spawn

Лечение:

НПС взят из all.spawn gsc, после редактирования локации (изменение геометрии и АИ-сетки) в собранном спавне, нпс заспавненные GSC оказались проблемными, т.к. вызывали вылет. У всех у них было: (значения могут отличаться)

; cse_ph_skeleton properties
skeleton_name = 5
skeleton_flags = 2
source_id = 0x2

А у новых, заспавненых мной нпс, этого не было. Поэтому просто удалите эти строчки.


Expression  : assertion failed
Function    : CSafeFixedRotationState::create
File        : e:\stalker\sources\trunk\xr_3da\xrgame\phvalidevalues.h
Line        : 81
Description : dBodyStateValide(b)

Причина:

Как правило - при попытке зомбировании неписей контролером, но не только. Также может появиться при неправильной настройки костей модели. Ещё может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался.

Лечение:

В случае кривой модели - определить модель и исправить, для этого достаточно обратно перегнать в СДК, настроить все шейпы, и обратно в огф. В случае скриптом - найти и избавиться от ошибки.


FATAL ERROR

[error]Expression  : i < (int)m_text.size()
[error]Function    : CUISubLine::Cut2Pos
[error]File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UISubLine.cpp
[error]Line        : 86
[error]Description : CUISubLine::Cut2Pos - invalid parameter

stack trace:

Причина:

Обычная причина этих вылетов - передача некорректных значений родным функциям игры. Эти ошибки обычно возникают когда произошёл какой-то серьёзный сбой, и о таких вылетах желательно сообщать разработчикам. Если такой вылет случился желательно так же сбросить текст выше строки FATAL ERROR из лога. Если же этот вылет у вас происходит при загрузке сейва - сбросьте его разработчикам мода с логом вылета.

text = string.format("%s %s %s", t1, t2, t3)

- если один из элементов t1, t2, t3 является пустой строкой, то будет этот вылет. т.е. видимо причина - два пробела подряд в строке? или два пробела по бокам от пустой строки.

Изменил формирование строки на такое

text = string.format("%s; %s; %s", t1, t2, t3)

- и вылет исчез, при том что t-параметры оставались какими угодно, и пустыми строками в том числе.

Еще достаточно нередко в этой же ситуации вылет происходит безлоговый. Например, если метод give_talk_message вызывался не из какой-то произвольной функции, а из метода класса. В этом случае всегда без лога. Такая вот чертовщина.


Expression  : false
Function    : CXml::Init
File        : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp
Line        : 87
Description : XML file:gameplay\game_tasks.xml value: errDescr:Error reading end tag.

Причина:

В указанном файлe, в данном случае gameplay\game_tasks.xml, не соответствуют открывающийся и закрывающийся теги.

Лечение:

Найти и исправить ошибку. Для этого в помощь придёт любой браузер. Откройте указанный файл через него, он поможет локализовать место ошибки.

Expression  : false
Function    : CXml::Init
File        : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp
Line        : 87
Description : XML file:gameplay\dialogs_escape.xml value: errDescr:Error reading Attributes.

Причина:

В указанном файле неправильно заданы атрибуты какого-то тега. Зачастую это написанное значение атрибута на русском языке.

Лечение:

Найти и исправить ошибку. Для этого в помощь придёт любой браузер. Откройте указанный файл через него, он поможет локализовать место ошибки.

Expression  : xml_doc.NavigateToNode(path,index)
Function    : CUIXmlInit::InitWindow
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIXmlInit.cpp
Line        : 87
Description : XML node not found
Arguments   : global_wnd

Причина:

В одном из .xml файлов отсутствует один общий тег для всех элементов. Например, если в файле encyclopedia.xml удалить теги и , то появится именно такая ошибка.

Лечение:

Найти и исправить ошибку.


Expression  : assertion failed
Function    : CUIFrameLine::UpdateSize
File        : E:\stalker\sources\trunk\xr_3da\xrGame\ui\UIFrameLine.cpp
Line        : 89
Description : back_width > 0

Причина:

Недопустимая ширина графического элемента - нет места по ширине для части текстуры. Как известно, текстуры на некоторых элементах графического интерфейса состоят из нескольких частей. Например, текстура текстового поля складывается из трех текстур: ui_linetext_d_b(левая граница), ui_linetext_d_back(середина(основная)), ui_linetext_d_e(правая граница). Ширина левой и правой текстуры 9, что вместе составляет 18. Значит ширина графического элемента должна быть больше 18, что бы было место для средней текстуры. Иначе средней текстуре негде будет расположится и произойдет такой вылет.

Лечение:

Указывать верные ширину и высоту графических элементов.


Expression  : ai().game_graph().header().levels().end() != I
Function    : CALifeGraphRegistry::setup_current_level
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_graph_registry.cpp
Line        : 91
Description : Graph point level ID not found!

Причина:

В версии за 10.09.08 аивраппера бардака, если соединять новые левелы, level_changer'ы(переходы между уровнями) нормально не работали, в последующей версии это исправлено.
Вы забыли добавить в геймдату файл game.graph.
В спавне указан несуществующий game_vertex_id.

Лечение:

Найти и исправить ошибку.


Expression  : m_available_count
Function    : CID_Generator::tfGetID
File        : e:\priquel\sources\engine\xrgame\id_generator.h
Line        : 92
Description : Not enough IDs

Причина:

В игре закончились идентификаторы. В игре может быть не более 65534 объектов. Видимо, у Вас на создавалось столько, как - это другой вопрос.

Лечение:

Почистить игру от лишних объектов.

Expression  : pm->m_animations.size()
Function    : player_hud_motion_container::load
File        : D:\prog_repository\sources\trunk\xrGame\player_hud.cpp
Line        : 92
Description : motion not found [aks74u_shootr]

Причина:

Игра не может найти анимацию худовой модели оружия, указанную в худовой секции в одном из параметров вида anm_*.

Лечение:

1) Проверить название указанной анимации на наличие опечаток
2) Убедиться, что путь к визуалу худа в параметре item_visual прописан правильно
3) Убедиться, что анимация с указанным названием действительно существует в соответствующем OGF или OMF файле
4) Убедиться, что в случае использования отдельного OMF-файла для хранения анимаций Вы не забыли его в АЕ СДК подключить к модели.

Expression  : pm->m_animations.size()
Function    : player_hud_motion_container::load
File        : D:\prog_repository\sources\trunk\xrGame\player_hud.cpp
Line        : 92
Description : motion not found [idle]

При детальном рассмотрении конфига видим, что нигде данное название анимации не прописано.

Причина:

Дело в том, что в ЧН\ЗП для худа используется две модели: рук и оружия. Когда мы прописываем им общую анимацию, движок в анимациях оружия сначала пытается найти указанную. Если это не удается - то пытается воспроизвести анимацию с названием idle. Если и эта его попытка оказывается безуспешной - вылетает с выше обозначенным логом.

Лечение:

Есть 2 варианта:
а) Добавить для оружия анимацию с названием idle
б) Явно задать в конфиге названия реально существующих для модели оружия анимаций


Expression  : false
Function    : CGameGraph::distance
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h
Line        : 96
Description : There is no proper graph point neighbour!

Причина:время от времени.Некорректное место спавна

Некий мутант или непись заспавнился в некорректном месте. Причина этого в том, что А-лайф спавнит их в некотором произвольном радиусе от точки спавна, что позволяет каждый раз спавн разнообразить. К сожалению, иногда он умудряется поместить живность в точку снаружи уровня – под землю или в стену, или заспавненый объект проваливается под уровень.

А также возможно вылет с граф поентом что и именем граф поента или два одинаковых графа или у одного из граф поента нету уникального имени или возможно вылет в аллспавне в левел changere в низу пишится точка графа старта ставится 1 или 2 ,а имя у самого графа может быть допусти 3. Возможно вылет происходит и за нпс если они у тебя через скрипт заспавнены и когда допусти ты одного нпс убил а торой тебя то когда грузим сейв вылет типо неуспел заспавнить труп или потерял его вообще. Если у Вас есть нпс заспавнены через скрипт переспавнь их лучше через аллспавн

Лечение:

Обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место.


Expression  : start_node && path
Function    : CXml::NavigateToNode
File        : E:\stalker\sources\trunk\xrXMLParser\xrXMLParser.cpp
Line        : 97
Description : NavigateToNode failed in XML file
Arguments   : gameplay\alex_mod_dialogs.xml

Причина:

В указанном файле в одном из диалогов игра не может найти первую фразу. Запомните, первые фразы во всех диалогах должны быть с id равными нулю!

Лечение:

Найти и исправить ошибку.


Expression  : rpoints[0].size()
Function    : game_sv_Deathmatch::Create
File        : D:\prog_repository\sources\trunk\xrGame\game_sv_deathmatch.cpp
Line        : 99
Description : rpoints for players not found

Причина:

На мультиплеерной карте не найдены точки респавна игроков.

Лечение:

В SDK должен быть красный пацанчик. Настроить Team = 0


Expression  : hFile>0
Function    : FileDownload
File        : E:\stalker\patch_1_0004\xrCore\FS.cpp
Line        : 106
Description : ..ваш путь к игре..\gamedata\config\

Причина:Иногда при загрузке сэйвов, все битые, кроме авто_сэйва

Возникает только при загрузке сохранений. А вылетает из-за несоответствие конфигов с версией игры. Такое точно случается, если подсунуть шестому патчу system.ltx от четвёртого (Вылет из за строки в system.ltx - current_server_entity_version = 6 , такой вылет бывает если в игре патча 1.0006, файл system.ltx заменить от патча 1000.4), получается ли данный вылет с другими конфигами или нет я не знаю.

Правда, на просторах встречал этот же вылет, только в описании были явно указаны или .ogg или .ltx файл - в данном случае ничего сказать не могу.

Или ошибка конфигов некоторые написаны с ошибками или неподключены допустим к system.ltx или к другим файлам.

Лечение:

Переустановка игры/мода.

Игра для патча 1.0005 и 1.0006 файле system.ltx в строке current_server_entity_version = (за место 6 поставить 7).


Expression  : fatal error
Function    : CObjectAnimator:  lay
File        : E:\stalker\sources\trunk\xr_3da\ObjectAnimator.cpp
Line        : 108
Description : <no expression>
Arguments   : OBJ ANIM::Cycle '(null)' not found.

Причина:

Причиной вылета служит неправильный путь для проигрывания партикла (пример: аномалия в Х-18, она двигается по зацикленному пути из .anm файла).

Лечение:

Либо удалить глючную аномалию (в частном случае партикл), либо исправить проблему.


Expression  : fatal error
Function    : CModelPool::Instance_Load
File        : E:\stalker\patch_1_0004\xr_3da\xrRender\ModelPool.cpp
Line        : 111
Description : <no expression>
Arguments   : Can't find model file 'physics\mesh.ogf'.

Причина:

Не найдена трёхмерная OGF-модель, в данном случае mesh.ogf из папки meshes\physics.

Лечение:

Проверяйте наличие файла, правильность написания пути и имени файла.

Expression  : ini_file.section_exist(section)
Function    : CTradeParameters::process
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\trade_parameters_inline.h
Line        : 111
Description : cannot find section h?

Причина:

?

Лечение:

?


Expression  : no_assert
Function    : CXML_IdToIndex<class CCharacterInfo>::GetById
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\xml_str_id_loader.h
Line        : 112
Description : item not found, id
Arguments   : amk_artem_kulinar

Причина:

Игра не находит id какого-то профиля... или диалога... или квеста. В общем указанный id в .xml файле..

Лечение:

Проверяйте правильность написания идентификатора, либо добавьте его, если таковой отсутствует.

FATAL ERROR
Expression  : no_assert
Function    : CXML_IdToIndex<class CInfoPortion>::GetById
File        : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
Line        : 112
Description : item not found, id
Arguments   : encyclopedy_zone_artifact_af-mercury-ball

Причина:вылет произошел при загрузке новой игры.

Игра не нашла id этого профиля . То есть указанный id в .xml файле.

Лечение:

Решение ; строка "encyclopedy_zone_artifact_af-mercury-ball" ссылается на несуществующий id, так как строка присутствует в файле xr_info.script ее надо удалить


Expression  : cross_table().header().game_guid() == game_graph().header().guid()
Function    : CAI_Space::load
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ai_space.cpp
Line        : 121
Description : graph doesn't correspond to the cross table

Причина:

game.graph не соответствует кросс-таблице одной из локаций.

Лечение:

Скорее всего - забыли закинуть в геймдату level.gct после правки в СДК и компиляции AI. Помните, level.gct нужно обновить для всех локаций, а не только для тех, которые подвергались правке.


Expression  : assertion failed

Function    : CTextureDescrMngr::LoadTHM
File        : E:\stalker\patch_1_0004\xr_3da\TextureDescrManager.cpp
Line        : 122
Description : F->find_chunk(THM_CHUNK_TYPE)

Причина:

Игра не смогла прочесть thm файлы.

Лечение:

Имеются thm в папке текстуры. Их необходимо удалить.


Expression  : !save_guid || (*save_guid == header().guid())
Function    : CALifeSpawnRegistry::load
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_spawn_registry.cpp
Line        : 124
Description : Saved game doesn't correspond to the spawn : DELETE SAVED GAME!

Причина:

Происходит при попытке загрузки сохранения, которое было сделано на другом "наборе" gamedata.

Лечение:

Если делали какие-то изменения собственноручно, то верните папку gamedata в первоначальный вид. В противном случае следуйте совету - удалите сохранение.


Expression  : assertion failed
Function    : CInventory::Take
File        : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp
Line        : 127
Description : CanTakeItem(pIItem)

Причина:

Странно, но данный вылет происходит только в моде Lost World Trops Of Doom с патчами ниже 3.5.2. Причиной этому якобы большой вес ноги псевдогиганта (inv_weight = 20.0).

Лечение:

Уменьшить вес ноги до 12.

Expression  : 0
Function    : attachable_hud_item::set_bone_visible
File        : D:\prog_repository\sources\trunk\xrGame\player_hud.cpp
Line        : 127
Description : model [dynamics\weapons\wpn_usp45\wpn_usp45_hud.ogf] has no bone [wpn_scope]

Причина:

Отображение и сокрытие съемных аддонов на оружии в сталкере осуществляется при помощи отображения и сокрытия меша, привязанного к определенной кости в моделе. Существует три таких кости: wpn_scope, wpn_silencer и wpn_launcher. В данном случае мы попытались прописать оружию съемный прицел, но указанный худовый визуал не содержит кости wpn_scope.

Лечение:

Сделать аддон несъемным (либо отключить его вообще) путем редактирования конфига либо добавить в худовую модель указанную кость.


Expression  : current_level.guid() == level_graph().header().guid()
Function    : CAI_Space::load
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ai_space.cpp
Line        : 129
Description : graph doesn't correspond to the AI-map

Причина:

game.graph и файл level.ai одной из локаций не соответствуют друг другу.

Лечение:

Вероятно также, что и у предыдущего вылета.


Expression  : BI_NONE!=f_bones.back()
Function    : P_build_Shell
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\PhysicsShell.cpp
Line        : 131
Description : wrong fixed bone

Причина:

Одна из моделей на локации зафиксирована (посредством параметра fixed_bones в all.spawn) за неизвестную кость.

Лечение:

Найти и исправить ошибку.


Expression  : Ran out of memory
Function    : TW_LoadTextureFromTexture
File        : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp
Line        : 132
Description : D3DXCreateTexture( HW.pDevice, top_width,top_height, levels_exist,0,t_dest_fmt, D3DPOOL_MANAGED,&t_dest )

Причина:Вылет происходит редко и рандомно на локации Затон в ТЧ

Вылет из-за железа, а точнее - оптимизации ОС. Скорее всего проблема с драйверами.

Лечение:

Обновите драйвера на видеокарту. Снизьте графические настройки.


Expression  : it!=WeatherCycles.end()
Function    : CEnvironment::SetWeather
File        : E:\stalker\patch_1_0004\xr_3da\Environment.cpp
Line        : 133
Description : Invalid weather name.
Arguments   : boloto

Причина:

Игра не находит идентификатор указанной погоды, в данном случае boloto, в файле environment.ltx.

Лечение:

Варианта два:
1. Поменять погоду прописанную одной из локаций в файле game_maps_single.ltx;
2. Добавить идентификатор погоды в секцию weathers, файле environment.ltx.


Expression  : assertion failed
Function    : CUIMMShniaga::CreateList
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIMMShniaga.cpp
Line        : 134
Description : height

Причина:

Данная ошибка, как правило указывает на "криворучие" при создании меню игры. Например: ползунок который увеличивает опции меню при прокрутке задран очень высоко. И в большей степени относится к изменениям худа.

Лечение:

Смотри, где, что наковыряли и исправляйте.


Expression  : motion_ID.valid()
Function    : CKinematicsAnimated::ID_Cycle
File        : E:\stalker\patch_1_0004\xr_3da\SkeletonAnimated.cpp
Line        : 136
Description : ! MODEL: can't find cycle:
Arguments   : waunded_1_idle_0

Причина:

Игра не нашла в какой-то модели анимацию с именем waunded_1_idle_0.

Лечение:

В первую очередь проверьте правильность написания имени анимации. Если в названием всё в порядке, тогда либо заменить/удалить модель, либо добавить/переименовать анимацию.


Expression  : !phrase_dialog->m_PhraseVector.empty()
Function    : CPhraseDialog::SayPhrase
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\PhraseDialog.cpp
Line        : 140
Description : No available phrase to say, dialog[esc_dialog]

Причина:

В диалоге, в данном случае это esc_dialog, нет доступной для отображения фразы (например все заткнуты инфопоршенами и не одно из условий не выполнилось).

Лечение:

Убедиться в том, чтобы хотя бы одна из фраз диалога будет доступна.

_____________

Пример

При попытке заговорить с Сяком вылет:

[error]Line : 140

[error]Description : No available phrase to say, dialog[sak_hello_dialog] Все квесты Сяка выполнены (инструменты, сейф, рыбка, обмен денег на СКАТ). Соль от 13.12+патч от 22.01+ фотозона с адаптацией.

Arhara, решил проблему.

Всем, кто столкнется: после выполнения всех квестов для Сяка, ему нечего сказать ГГ и игра вылетает (нет опций в ветке диалога приветствия). Решается просто: в dialogs_escape.xml в секции <dialog id="sak_hello_dialog"> меняем

исходное

<text />

<next>5</next>

<next>6</next>

<next>7</next>

<next>8</next>

заменой на

<text />

<next>5</next>

<next>6</next>

<next>7</next>

<next>8</next>

<next>11</next>

В этот же файл (в секцию того же диалога) добавляем

добавить

<phrase id="11">

<text>sak_hello_dialog_6</text>

</phrase>

В файл sak_strings.xml добавляем

добавить

<string id="sak_hello_dialog_6">

<text>Привет, Меченый</text>

</string>

___________________


Expression  : fatal error
Function    : CIni_IdToIndex<1,struct COMMUNITY_DATA,class shared_str,int,class CHARACTER_COMMUNITY>::GetByIndex
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\ini_id_loader.h
Line        : 147
Description : <no expression>
Arguments   : item by index not found in section game_relations, line communities

Причина:

В файле game_relations.ltx допущена ошибка. Вероятнее всего для параметра communities заданы неправильные значения.

Лечение:

Проверить данный файл на ошибки.


Expression  : fatal error
Function    : ALife::g_tfString2HitType
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\alife_space.h
Line        : 152
Description : <no expression>
Arguments   : Unsupported hit type!

Причина:

Для какого-то оружия не верно прописан тип нанoсимого урона.

Лечение:

Найти и исправить ошибку.


Expression  : vertex || show_restrictions(m_object)
Function    : CPatrolPathManager::select_point
File        : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp
Line        : 155
Description : any vertex in patrol path [rostok_sniper_3_walk] in inaccessible for object [rostok_stalker_0002]

Причина:Вылет по вертексам:

Проблемы самой игры. Мод не причем. Это конечная точка пути какого-то НПС или монстра совпадает с точкой появившейся аномалии (одна логика наложилась на другую логику, вот и вылет из-за этого). Такая ошибка будет возникать все чаще и чаще с вводом динамических аномалий.

Лечение:

Решение банальное - или перезайти на локацию (загрузить автоматическую запись по заходу на локацию) или сделать запись и опять загрузиться, возможно аномалия образуется в другом месте и тогда ошибок наложения точек логики не будет.

Expression  : vertex || show_restrictions(m_object)
Function    : CPatrolPathManager::select_point
File        : E:\stalker\sources\trunk\xr_3da\xrGame\patrol_path_manager.cpp
Line        : 155
Description : any vertex in patrol path [sniper_3_walk] in inaccessible for object [stalker_0002]

Причина:Вылет по вертексам::

Какая то вершина (вейпоинт) пути sniper_3_walk стоит в неположенном месте (например не на аи-сетке). Объект stalker_0002 (в данном случае сталкер), который якобы двигался по пути sniper_3_walk, попал на эту точку, а заодно ушёл за аи-сетку. Этого движок не терпит.
Тоже самое произойдет если координаты(вейпоинт) пути sniper_3_walk совпадет с координатами места? где нпс запрещено находится будь то рестриктор или аномалия в схеме обхода аномалий. Также этот вылет наблюдается при попытке отправить нпс за пределы места работ параметр out_rest = "имя_рестриктора", в файле загрузки работ гулага. Попробуйте любого сталкера из лагеря новичков отправить допустим к остановке получите этот самый вылет.

Лечение:

Найти и исправить ошибку.


Expression  : fatal error
Function    : mem_usage_impl
File        : E:\stalker\sources\trunk\xrCore\memory_usage.cpp
Line        : 156
Description :
Arguments   : bad node in heap

Причина:

Движковый вылет.

Лечение:

Говорят от него помогает установка третьего сервис пака на ХР.

[error]Expression  : m_textures.find(def_texture_name)!=m_textures.end()
[error]Function    : CUITextureMaster::FindItem
[error]File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UITextureMaster.cpp
[error]Line        : 156
[error]Description : wpn_bm16f_410

stack trace:

ТЧ, 1,0004. + Луа-расширение RvP. Такая необычная реакция на неправильно указанное имя текстуры в xml-описателе.

См. также справку по вылетy Line 764


Expression  : Ran out of memory
Function    : Fvisual::Load
File        : E:\stalker\patch_1_0004\xr_3da\xrRender\FVisual.cpp
Line        : 159
Description : HW.pDevice->CreateIndexBuffer(iCount*2,dwUsage,D3DFMT_INDEX16,D3DPOOL_MANAGED,&p_rm_Indices,0)

Причина:

Судя по логу - проблемы с видео памятью. Причины не известны.
- Неверная установка мода.
- Проблемы с драйверами видеокарты или Direct X.
- Проблемы с операционной системой и прочее.

Лечение:

?


Expression  : xml_result
Function    : CXML_IdToIndex<class CSpecificCharacter>::InitInternal
File        : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
Line        : 162
Description : error while parsing XML file
Arguments   : kolivan_trader.xml

Причина:

Игра не находит указанного файла.

Лечение:

Либо добавить файл, либо убрать регистрацию этого файла в конфигах, зачастую это либо system.ltx, либо localization.ltx.


Expression  : ai().level_graph().valid_vertex_id(vertex->data().level_vertex_id())
Function    : CPatrolPathManager::select_point
File        : E:/stalker/patch_1_0004/xr_3da/xrGame/patrol_path_manager.cpp
Line        : 164
Description : patrol path[mil_mercs_walker_3_walk], point on path [name07],object [ros_killer_respawn_230016]

Причина:

В игре даже пропатченной до версии 1.0005 всё ещё есть проблемы с маршрутами.

Лечение:

Обычно достаточно просто загрузить последний сейв и не сохраняться рядом с местами, где происходят такие вылеты.

Дополнительное обсуждение и информация - в этом и этом постах.


Expression  : I
Function    : CInifile::Load
File        : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line        : 166
Description : Can't find include file:
Arguments   : prefetch\prefetch.ltx

Причина:

Игра не может найти указанный файл по указанному пути.

Лечение:

Либо находите в .ltx файлах строку #include "prefetch\prefetch.ltx" и удаляйте, либо добавляйте сам файл.


Expression  : header().graph_guid() == ai().game_graph().header().guid()
Function    : CALifeSpawnRegistry::load
File        : E:\stalker\sources\trunk\xr_3da\xrGame\alife_spawn_registry.cpp
Line        : 167
Description : Spawn doesn't correspond to the graph : REBUILD SPAWN!

Причина:

all.spawn не соответствует game.graph. Когда компилировали AI, видно, забыли пересобрать спавн.

Лечение:

Привести all.spawn и game.graph в соответствие.


Expression  : I != levels().end()
Function    : GameGraph::CHeader::level
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h
Line        : 171
Description : there is no specified level in the game graph : 63

stack trace:

Scheduler tried to update object m_tushkano_normal21511
или
Expression  : I != levels().end()
Function    : GameGraph::CHeader::level
File        : e:\stalker\patch_1_0004\xr_3da\xrgame\game_graph_inline.h
Line        : 171
Description : there is no specified level in the game graph : 96

Причина:Некорректное место спавна:

Вылет говорит о том, что объект попал в вертекс (96), которого нет на данной карте.

Причина: некий мутант или непись заспавнился в некорректном месте. Причина этого в том, что А-лайф спавнит их в некотором произвольном радиусе от точки спавна, что позволяет каждый раз спавн разнообразить. К сожалению, иногда он умудряется поместить живность в точку снаружи уровня - под землю или в стену, или заспавненый объект проваливается под уровень.

Лечение:

Если загрузка последнего сохранения не помогает, то можете попробовать уменьшить радиус A-Life, посредством параметра switch_distance, пройти проблемный участок, а затем вернуть первоначальное значение параметра.

Или обычно достаточно просто загрузить последний сейв и вылет пропадает. В особо тяжких случаях, когда вы умудрились сохранится рядом с уже застрявшим так неписем или монстром вам придётся убежать на другую локацию, чтобы эта животина в оффлайне ушла в нормальное место.

[error]Expression  : I != levels().end()
[error]Function    : GameGraph::CHeader::level
[error]File        : e:\stalker\sources\trunk\xr_3da\xrgame\game_graph_inline.h
[error]Line        : 171
[error]Description : there is no specified level in the game graph : 153

Возникает при попытке взять имя уровня по его ID c помощью вызова alife():level_name(level_id), если число level_id не соответствует ни одному из существующих уровней.


Expression  : xml_doc.NavigateToNode(path,index)
Function    : CUIXmlInit::InitStatic
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIXmlInit.cpp
Line        : 172
Description : XML node not found
Arguments   : cs_inviz

Причина:

Игра не находит в каком-то .xml файле указанный элемент.

Лечение:

Найти и исправить ошибку.

Expression  : xml_doc.NavigateToNode(path,index)
Function    : CUIXmlInit::InitStatic
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIXmlInit.cpp
Line        : 172
Description : XML node not found
Arguments   : dmx_speedometr

Причина:Вылет DMX мода

Сажусь в машину вылет, но раньше ездил на всех

Лечение:

Смотри выше


Expression  : fatal error
Function    : CInifile::Load
File        : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp
Line        : 175
Description : <no expression>
Arguments   : Duplicate section 'wpn_noou_sig220_hud' found

Причина:

Продублирована указанная секция в .ltx файлах.

Лечение:

Найти и исправить ошибку.


Expression  : _valid( c )
Function    : CPhysicsShellHolder::correct_spawn_pos
File        : D:\prog_repository\sources\trunk\xrGame\PhysicsShellHolder.cpp
Line        : 178
Description : object: wpn_val17095 model: dynamics\weapons\wpn_val\wpn_val

Причина:

Вы присвоили какому-то объекту визуал, у которого забыли сгенерировать шейпы. Как вариант - случайно были перепутаны мировая и худовая модели оружия. Имя объекта и сбойный визуал указаны в строке description

Лечение:

Есть несколько вариантов:

а) Сгенерировать у указанной модели шейпы, используя Actor Editor (AE) из состава СДКб)заменить указанную модель на "заведомо рабочую" Найти, где в конфиге прописан неверный визуал, и исправить параметр на другой

Expression  : _valid( c )
Function    : CPhysicsShellHolder::correct_spawn_pos
File        : D:\prog_repository\sources\trunk\xrGame\PhysicsShellHolder.cpp
Line        : 178
Desсription : object: wpn_ak1030024 model: dynamics\weapons\wpn_ak103\wpn_ak103

=WareZ= сказал(а)

    Добавил новую модель (ПДА заменил). Запускаю игру, ловлю вылет: Все было проставлено правильно, СДК не бунтовал при экспорте... Делал на основе кости старого ПДА АПД.

    Все, спасибо, разобрался. Нужно было в СДК во вкладке Object поставить make progressive


Код:
[error][ 183] : Cannot create a file when that file already exists.

Причина:Две или более ошибки друг за другом.

Обычно это просто две одинаковых ошибки, произошедших одновременно.

Лечение:

В логе обычно есть и первая ошибка из серии. Разбирайтесь с ней так, как описано выше для ошибок этого вида


Expression   : m_pItemDataVector->end() == t_it
Function     : CXML_IdToIndex<class CInfoPortion>::InitInternal
File         : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
Line         : 184
Description  : duplicate item id
Arguments    : my_info_porsh

Причина:

Игра определила повторяющиеся id в .xml файле, чего быть не должно.

Лечение:

Найти и исправить ошибку.


Expression  : fs
Function    : CResourceManager::_CreateVS
File        : E:\stalker\patch_1_0004\xr_3da\ResourceManager_Resources.cpp
Line        : 185
Description : shader file doesnt exist
Arguments   : d:\stalker\gamedata\shaders\r2\deffer_impl_flat.vs

Причина:

Либо не найден файл шейдера deffer_impl_flat.vs, либо проблема вся в том, что неправильно закомпилился шейдер, при компиляции уровня на качестве, более высоком чем Draft. Для ЗП (ЧН) это может ещё быть из-за отсутствия thm'ок для текстур терраина уровня.

Лечение:

В первом случае - проверить наличие файла. Во втором - нужно скачивать исправление шейдеров от товарища Haron.


Expression  : motion_ID.valid()
Function    : CKinematicsAnimated::ID_Cycle
File        : D:\prog_repository\sources\trunk\Layers\xrRender\SkeletonAnimated.cpp
Line        : 210
Description : ! MODEL: can't find cycle:
Arguments   : death_init

Причина:

Игра не нашла в модели трёхмерную анимацию с именем death_init.


Expression  : fs
Function    : CRender::LoadBuffers
File        : D:\prog_repository\sources\trunk\Layers\xrRenderPC_R2\r2_loader.cpp
Line        : 212
Description : Could not load geometry. File 'level.geom?' corrupted.

Причина:

Проблема с геометрией при втором рендере при чтении level.geom.

Лечение:

Решение: проверить файл level.geom


FATAL ERROR

[error]Expression    : false
[error]Function      : CStepManager::reload_foot_bones
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\step_manager.cpp
[error]Line          : 222
[error]Description   : section [foot_bones] not found in monster user_data

stack trace:

Причина:Вылет при запуске новой игры

Возникает при добавлении нового мутанта(напр:крысы). Отсутствует секция [foot_bones] с параметрами костей, в файле конфига монстра(напр:крысы) m_rat.ltx, но присутствующая в файле rat_captures.ltx

Лечение:

Попробуйте добавить отсутствующую секцию в файл конфига монстра(напр:крысы) m_rat.ltx


Expression  : An undetermined error occurred
Function    : CResourceManager::_CreateVS
File        : E:\stalker\sources\trunk\xr_3da\ResourceManager_Resources.cpp
Line        : 232
Description : _hr

Причина:

Проблемы с шейдером water.vs.

Лечение:

Удалите/переустановите папку gamedata\shaders.


Expression  : assertion failed
Function    : CSE_Abstract::Spawn_Read
File        : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_Object_Base.cpp
Line        : 236
Description : M_SPAWN==dummy16

Причина:

Неизвестна, но есть вот такой комментарий:

malandrinus сказал(а)

    Странно, даже не знаю, как такую ошибку можно скриптом вызвать. Суть этой проверки в том, что первое значение нетпакета для CSE_Abstract всегда должно быть 1. Но до этой части нетпакета скриптами не добраться никак. Соответственно и испортить там не получиться. Разве что можно грешить на фатально битый сейв.

Лечение:

Загружайте другое сохранение.


FATAL ERROR

[error]Expression  : m_foot_bones[leg_type] != BI_NONE
[error]Function    : CStepManager::get_foot_position
[error]File        : D:\prog_repository\sources\trunk\xrGame\step_manager.cpp
[error]Line        : 253
[error]Description : foot bone had not been set

Причина:

Конфиг какого-то монстра неправильно настроен - указаны несуществующие кости для ног.


Expression  : assertion failed
Function    : CPHSkeleton::RestoreNetState
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\PHSkeleton.cpp
Line        : 254
Description : bone<obj->PHGetSyncItemsNumber()

Причина:

Проблема с .ogf моделью. Часто данный вылет получали в Солянке из-за кривой модели одного из бандитов.

Лечение:

Найти и заменить/исправить модель.


FATAL ERROR

[error]Expression  : next_phrase_node
[error]Function    : CPhraseDialog::AddPhrase
[error]File        : E:\stalker\patch_1_0004\xr_3da\xrGame\PhraseDialog.cpp
[error]Line        : 288
[error]Description : 2199

stack trace:

Причина:

?


Expression  : next_phrase_node
Function    : CPhraseDialog::AddPhrase
File        : E:\stalker\sources\trunk\xr_3da\xrGame\PhraseDialog.cpp
Line        : 289
Description : 5

Причина:

Отсутствие следующей фразы в каком-то диалоге. Например:

<next>5</next>

</phrase>

<phrase id="3">

Цифра может быть любой, и не обязательно ошибка будет в том диалоге, во время которого происходит вылет.

Лечение:

Найти и исправить ошибку.


Expression  : fatal error
Function    : CRender::texture_load
File        : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp
Line        : 295
Description : <no expression>
Arguments   : Can't find texture 'act\act_corp_monolit'

Причина:

Игра не может найти текстуру act_corp_monolit в папке textures\act.

Лечение:

Проверьте правильность написания пути и убедитесь, что таковая текстура присутствует по указанному адресу. Добавить отсутствующую текстуру(act_corp_monolit.dds) в папку act.

Expression  : !lst.empty()
Function    : CHudItem::animGet
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\HudItem.cpp
Line        : 295
Description : sprint

Причина:

Игра не находит в худ-модели какого-то оружия анимации sprint.

Лечение:

Если добавляли какое-то оружие, то причина в нём. Проверяйте соответствие заданных анимаций в конфиге и в модели оружия.


Expression  : assertion failed
Function    : CSkeletonX::_Load
File        : E:\stalker\patch_1_0004\xr_3da\SkeletonX.cpp
Line        : 307
Description : data->find_chunk(OGF_VERTICES)

Причина:

Движок хочет прочитать чанк, который по его мнению должен быть в модели, но не может найти его заголовок. В дикой природе не встречается, может произойти только из-за криворуких ковыряний модели в hex-редакторе. Возможно получить данный вылет при попытки напрямую подсунуть игре билдовские модели.

Лечение:

Если изменяли название текстуры какой-то модели, то убедитесь, что число символов в названии осталось неизменным.


Expression  : Invalid call
Function    : CRender::texture_load
File        : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp
Line        : 309
Description : D3DXGetImageInfoFromFileInMemory (S->pointer(),S->length(),&IMG)
Arguments   : ..ваш путь до игры..\gamedata\textures\ui\ui_icon_equipment.dds

Причина:

Размеры длины или ширины указанной текстуры не являются значением числа два в какой-то степени, например 512х512 или 2048х1024.

Лечение:

Попробуйте для начала снизить временно настройки освещения. Если не поможет, тогда нужно исправить размеры текстуры при помощи любого удобного графического редактора.


Expression  : *read_path.c_str()=='$'
Function    : CLocatorAPI::LoadArchive
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 322
Description : %ошибочное_значение_entry_point%

Причина:

При запаковке в параметре entry_point секции хидера была допущена опечатка. Начинаться этот параметр всегда должен с одной из "игровых" директорий, определенных в файле fsgame.ltx, то есть первым символом в этом параметре всегда должен идти $


Expression  : fatal error
Function    : out_of_memory_handler
File        : E:\priquel\sources\engine\xrCore\xrDebugNew.cpp
Line        : 323
Description : <no expression>
Arguments   : Out of memory. Memory request: 4118772 K

Предполагаемая причина:

Модель оружия, запакованная с ошибкой в db-архив.

Лечение:

Не запаковывать модели оружия, или определить, какие именно модели некорректно запаковываются.


Expression  : count==1
Function    : CLocatorAPI::LoadArchive
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 325
Description : %ошибочное_значение_entry_point%

Причина:

"Корень" из параметра entry_point извлекается движком при помощи функции sscanf. При этом используется шаблон %[^\]s. Вылет произошел из-за того, что возвращённое данной функцией значение (равное числу найденных вхождений) отлично от 1.


Expression  : SG
Function    : CRender::model_CreateParticles
File        : E:\stalker\patch_1_0004\xr_3da\xrRender_R2\r2.cpp
Line        : 330
Description : Particle effect or group doesn't exist
Arguments   : hit_fx\hit_water_00

Причина:

Не найдена система частиц (партикл), в данном случае это hit_water_00 в директории hit_fx файла particles.xr.

Лечение:

Убедитесь, что Вы используете нужный particles.xr, а также проверьте правильность написания имени и пути до партикла, или добавить отсутствующий партикл (hit_water_00) в раздел hit_fx, в файле particles.xr(или gamemtl.xr) или заменить все строки hit_water_00 на hit_water_01

Expression  : Invalid call
Function    : CHW::CreateDevice
File        : E:\stalker\patch_1_0004\xr_3da\HW.cpp
Line        : 330
Description : R

Причина:

Причины неизвестны. Большинство, кто получали данный вылет, играли на видеокартах от nVidia - грешили на них.

Лечение:

Попробуйте установить драйвера для видеокарты на более раннюю версию.


Expression  : Invalid call
Function    : CHW::CreateDevice
File        : D:\xray-svn\xr_3da\HW.cpp
Line        : 331
Description : R

Причина:

Это наверное самая глупая ошибка. Выхода 2:

Лечение:

1- переустановить игру.

2- сделать «бэкап» папки gamedata.

См. также справку по вылетy Line 330


Expression  : !m_DefaultCharacters.empty()
Function    : CSE_ALifeTraderAbstract::specific_character
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_Objects_ALife_Monsters.cpp
Line        : 333
Description : no default specific character set for class
Arguments   : esc_dan

Причина:

Профилю НПС, в данном случае esc_dan, не соответствует указанный класс в npc_profile.xml.

Лечение:

проверьте правильность написании имён профиля и класса. Добавьте в файл npc_profile.xml соответствие классу, если такового нет.


Expression  : fatal error
Function    : out_of_memory_handler
File        : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line        : 336
Description :
Arguments   : Out of memory. Memory request: 55965 K

Причина:

Нехватка оперативной памяти.
Вылет происходит в основном при переходе из одной локации в другую. Потому что STALKER игра крайне требовательная к ресурсам, она перегружена даже в чистом виде, и в особенности некоторые карты Кордон, Тёмная Долина, Армейские Склады, Рыжий Лес, Припять, Юпитер… Текстуры новых костюмов оружия не должны превышать 2 731 КБ желательно 1 366 КБ. При этом совершенно НЕ ИМЕЕТ ЗНАЧЕНИЯ сколько у вас оперативной памяти! Для процессов 32-битной версии Windows доступная память ограничена.

Лечение:

Снизьте графические настройки игры,или увеличить объем оперативной памяти, путем покупки новой оперативки.

См. также справку по вылетy Line 764


Expression  : assertion failed
Function    : CLocatorAPI::ProcessArchive
File        : E:\stalker\patch_1_0004\xrCore\LocatorAPI.cpp
Line        : 337
Description : hdr

Причина:

До конца не ясны.

Лечение:

В папке gamedata/texstures/ui, имеется скрытый системный файл Thumbs.db, его нужно удалить. Если ошибка повторяется, то зайдите в меню Пуск -> Панель управления -> Оформление и темы -> Свойства папки -> Вид (ХР) и поставьте галочку "Не кешировать эскизы". Этот файл и есть тем кешем эскизов и пересоздастся заново (возможно уже без проблем для игрока).


Expression  : 0
Function    : CLocatorAPI::LoadArchive
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 340
Description : unsupported

Причина:

Архив не поддерживается игрой. Вероятно, версия не совпадает с требуемой


Expression  : fatal error
Function    : CInifile::r_section
File        : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line        : 342
Description : <no expression>
Arguments   : Can't open section 'bandage_test_kick1'

Причина:

Игра не может найти секцию. Это может быть предмет, нпс и многое другое. Возможно, вы написали название с ошибками. Либо когда добавляли его в: продажу, скрипт, NPC, выпадение из NPC а в редких случаях это может быть иммунитет чего либо(определить потому трудно). Часто такое бывает связано с названием

Лечение:

Проверьте правильность написании имени секции. Либо добавьте соответствующую секцию в один из файлов .ltx читаемые игрой.

Expression  : fatal error
Function    : CInifile::r_section
File        : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line        : 342
Description :
Arguments   : Can't open section 'wpn_ak101'

Причина:

Can't open section 'wpn_ak101' – ошибка из-за того, что игра не может найти файл пушки АК 101.

Лечение:

Смотри выше.

FATAL ERROR

[error]Expression  : fatal error
[error]Function    : CInifile::r_section
[error]File        : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
[error]Line        : 342
[error]Description : <no expression>
[error]Arguments   : Can't open section 'wpn_addon_scope_m2'

stack trace:

Причина:

Игра не нашла секцию wpn_addon_scope_m2.

Лечение:

Смотри в конфигах оружия, может что не правильно написал.


Expression  : sz<(tgt_sz-1)
Function    : IReader::r_string
File        : E:\stalker\patch_1_0004\xrCore\FS.cpp
Line        : 349
Description : Dest string less than needed.

Причина:

Достаточно редкий вылет. Одной из причин является повреждённый user.ltx.

Лечение:

Если вы видите данную ошибку, обратите внимание на то, какой файл был обработан последним, до строки FATAL ERROR, если это user.ltx - удаляйте его и запускайте игру, она сама создаст его по новой, правда уже со стандартными настройками.


Expression  : fatal error
Function    : CInifile::r_string
File        : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp
Line        : 352
Description :
Arguments   : Can't find variable ammo_mag_size in [wpn_addon_grenade_launcher]

Причина:

Не найден параметр, в данном случае ammo_mag_size, в секции указанного предмета (wpn_addon_grenade_launcher)

Лечение:

Правильно добавить недостающий параметр. Добавить отсутствующую переменную (ammo_mag_size = ваше число) подстрокой [wpn_addon_grenade_launcher] . Не сохраняйтесь с нестандартными подствольными гранатами в подствольниках автоматов и в Бульдоге + не оставляйте в нычках/рюкзаках/ящиках оружие с заряженными в подствольники гранатами

[error]File        : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp
[error]Line        : 352
[error]Description : <no expression>
[error]Arguments   : Can't find variable строка in [секция]

Причина:

Попытка чтения несуществующей переменной вида ini:r_string( секция, строка ) (или r_float, r_bool и т.д.)

1. Убедиться, что переменная действительно зачем-то нужна.
2. Исправить код на
local v -- или иное
if ini:section_exist( секция ) and ini:line_exist( секция, строка ) then
v = ini:r_string( секция, строка )
else более вменяемая диагностика
end

3. Поправить конфиг при необходимости (см. п1)

Expression  : fatal error
Function    : CInifile::r_string
File        : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line        : 352
Description : <no expression>
Arguments   : Can't find variable class in [test_no_klass_npc]

Причина:

Не найден класс персонажа. Возможно, NPC не прописан под своим классом в gamedata\npc_profile.xml, либо в creatures\spawn_section.ltx, либо в gameplay\character_desc.xml

Лечение:

Добавить недостающий параметр.

Expression  : fatal error
Function    : CInifile::r_string
File        : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line        : 352
Description : <no expression>
Arguments   : Can't find variable remove_time in [vehicle_btr]

Причина:

Не найдена переменная remove_time в секции [vehicle_btr]. А в данном случае ошибка в том что если вы делали предмет как физическую модель(т.e. которую нельзя использовать, говорить и вообще он похож на декорации типа деревьев, столов и прочего хлама) то необходимо указывать remove_time в его секции

Лечение:

Добавить недостающий параметр.

Expression  : fatal error
Function    : CInifile::r_string
File        : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp
Line        : 352
Description : <no expression>
Arguments   : Can't find variable artefact_activation_seq in [af_black_drops]

Причина:

Вылет произошел при активации аномалии. Отсутствует переменная artefact_activation_seq в секции [af_black_drops]

Лечение:

Добавить отсутствующую переменную (artefact_activation_seq = af_activation_mincer или af_activation_bold) подстрокой [af_black_drops]


Expression  : Ran out of memory
Function    : CRender::texture_load
File        : E:\stalker\sources\trunk\xr_3da\xrRender\Texture.cpp
Line        : 356
Description : D3DXCreateTextureFromFileInMemoryEx ( HW.pDevice,S->pointer(),S->length(), D3DX_DEFAULT,D3DX_DEFAULT, IMG.MipLevels,0, IMG.Format, D3DPOOL_SYSTEMMEM, D3DX_DEFAULT, D3DX_DEFAULT, 0,&IMG,0, &T_sysmem )
Arguments   : ..ваш путь к игре..\gamedata\textures\wpn\wpn_crosshair_bino.dds

Причина:

Проблема в железе, скорее всего в видеокарте.

Лечение:

Попробуйте установить другую версию драйвера видеокарты. Снизьте графические настройки в игре.


Expression  : fatal error
Function    : _out_of_memory
File        : E:\stalker\patch_1_0004\xrCore\xrDebugNew.cpp
Line        : 359
Description :
Arguments   : Out of memory. Memory request: 72230 K
или
* Log file has been saved successfully!
* Saving spawns...
* Saving objects...
* [x-ray]: crt heap[397281 K], process heap[1220448 K]
* [x-ray]: economy: strings[60232 K], smem[29450 K]

FATAL ERROR

Expression  : fatal error
Function    : _out_of_memory
File        : E:\stalker\patch_1_0004\xrCore\xrDebugNew.cpp
Line        : 359
Description : <no expression>
Arguments   : Out of memory. Memory request: 8192 K

Причина:

Судя из того, что вылет происходит при сохранении, и фигурирует число 8192, то можно предположить, что вылет следствие переполнения net-packet'а, то беж ошибка в скриптах. А может и игра где-то проглючила...Это вылет от недостатка памяти, и обычно встречается на 32 бит ОС. Если 7, то чаще чем на ХР.

Возникает от длительной игры с последствием перехода на новые локи, такие как : Волчье логово, Предбанник зоны, Болота

Лечение:

Попробуйте загрузить последнее сохранение. С раб.стола автосэйв грузится без проблем.Если вылет стабильный - ищите ошибку в скриптах.


Expression  : assertion failed
Function    : CLocatorAPI::LoadArchive
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 360
Description : hdr

Причина:

Игровой архив поврежден


Expression  : assertion failed
Function    : CActorCondition::UpdateTutorialThresholds
File        : E:\stalker\sources\trunk\xr_3da\xrGame\ActorCondition.cpp
Line        : 404
Description : ai().script_engine().functor<LPCSTR>(cb_name,fl)

Причина:

В _g.script есть набор колбеков, вызываемые движком. Это on_actor_psy, on_actor_radiation и т.д. Так вот вылет говорит о том, что один из таких колбеков не был найден.

Лечение:

Верните колбеки на место или верните дефолтный _g.script.


Expression  : assertion failed
Function    : CLocatorAPI::archive::open
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 406
Description : hSrcFile!=INVALID_HANDLE_VALUE

При инициализации архива игра использует функцию WinAPI CreateFileA, при этом вызов выглядит примерно так:

hSrcFile = CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0);

Если при этом функция вернула значение, равное INVALID_HANDLE_VALUE (т.е. вызов завершился неудачей), то возникает данный вылет. Наиболее вероятная причина - у вас отсутствуют права на чтение файла.


Expression  : assertion failed
Function    : CLocatorAPI::archive::open
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 408
Description : hSrcMap!=INVALID_HANDLE_VALUE

После успешного открытия файла-архива, игра пытается спроецировать его в память. Для этого используется функция CreateFileMapping, вызов которой происходит следующим образом:

hSrcMap = CreateFileMapping(hSrcFile, NULL, PAGE_READONLY, 0,0, NULL)

Вылет происходит из-за того, что попытка проецирования файла закончилась неудачно, т.е. функция возвратила значение =INVALID_HANDLE_VALUE. Возможно, стоит увеличить размер файла подкачки.


Expression  : assertion failed
Function    : CUILine::GetLength_inclusiveWord_1
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UILine.cpp
Line        : 410
Description : pos.word_1.exist()

Причина:

Это один из "старейших" вылетов в Сталкере ТЧ. В каком-то ui файле .xml динамично образуются "пустые" строки. Также не лишним будет проверить .xml файлы на наличие синтаксических ошибок или пустую строку текста или даже неправильный язык кодирования.
Также данный вылет возможен, когда в сообщение делаешь цветной текст и переносишь строку. Пример:

"Какой-нибудь текст.%c[255,0,200,0]\\nСталкер."

Если это произошло, "передвиньте" символ переноса следующим образом:

"Какой-нибудь текст.\\n%c[255,0,200,0]Сталкер."

И ещё, такой вылет, как говорили давно разработчики, связан с использованием "трейнеров".

Expression  : assertion failed
Function    : CLocatorAPI::archive::open
File        : D:\prog_repository\sources\trunk\xrCore\LocatorAPI.cpp
Line        : 410
Description : size>0

Вот так сюрприз - архив оказался пустым! То есть совсем пустым - размер файла в байтах равен нулю. Будьте в следующий раз аккуратнее с клавишей Delete и не открывайте без необходимости файлы для записи.
Переустановка игры должна исправить положение.


Expression  : sz<(tgt_sz-1)
Function    : IReader::r_string
File        : E:\priquel\sources\engine\xrCore\FS.cpp
Line        : 422
Description : Dest string less than needed.

Я бы не сказал, что вылет достаточно редкий. Причина его - движок пытается скопировать исходную строку в буфер, а размер этого буфера меньше длины копируемой строки. Рано или поздно возникает у тех, кто любит писать в одну строку конфига ОЧЕНЬ много (больше 4К) символов. Например, он прекрасно знаком любителям хитроумных скриптов на подмену секций оружия, которые запихивают все их названия в mp_ranks


Expression  : assertion failed
Function    : CResourceManager::_CreateTexture
File        : D:\prog_repository\sources\trunk\Layers\xrRender\ResourceManager_Resources.cpp
Line        : 424
Description : _Name && _Name[0]

Причина:

Может быть связанно с геометрией уровня (частично это подтверждается тем, что Свалка и Агропром (которые базируются на ЧН версии) работают вполне нормально, а вот Тёмная Лощина и Кордон (которые "вытянуты" из ТЧ) не запускаются и игра вылетает с этим логом).

Лечение:

Сменить рендер. Я такой вылет получил на DirectX 9.0c, на 9.0 и статическом освещении у меня его не было.


Expression  : xml_doc.NavigateToNode(path,index)
Function    : CUIXmlInit::InitDragDropListEx
File        : E:\stalker\sources\trunk\xr_3da\xrGame\ui\UIXmlInit.cpp
Line        : 426
Description : XML node not found
Arguments   : dragdrop_knife

Причина:

Данный вылет, в отличии от аналогичного 172, говорит более конкретно - не хватает элемента слота, в данном случае для ножа, в файле inventory_new(16).xml. Раньше вылет был наверно следствие кривых рук, уж простите, сейчас же с появлением движковых правок добавляющих новые слоты вполне естественен.

Лечение:

Добавьте недостающий элемент по аналогии с имеющимися.


Expression  : fatal error
Function    : CInifile::r_string
File        : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line        : 477
Description : <no expression>
Arguments   : Can't find variable bound_rect in [level_map]

Причина:

Такой лог бывает когда подключаешь локу с ТЧ в ЗП. Причина проста в ЗП уровнях файл строчка bound_rect пишется в файле gamedata\levels\имя_уровня\level.ltx , а в ТЧ строка bound_rect для каждого уровня непосредственно в файле gamedata\config\game_maps_single.ltx ...

Лечение:

Исправить просто, нужно изменить файл gamedata\levels\имя_уровня\level.ltx в подключенной локации, просто перенести строку bound_rect из game_maps_single.ltx в level.ltx перед строчкой texture .


Expression    : Ran out of memory
Function      : CRender::texture_load
File          : D:\prog_repository\sources\trunk\Layers\xrRenderDX10\dx10Texture.cpp
Line          : 493
Description   : D3DX11CreateTextureFromMemory ( HW.pDevice,S->pointer(),S->length(), &LoadInfo, 0, &pTexture2D, 0 )
Arguments     : d:\s.t.a.l.k.e.r. - Зов Припяти\gamedata\textures\veh\veh_gaz_22.dds

Причина: Возникает рандомно и жалуется на любые текстуры, то бишь не на какую-нибудь конкретную свежедобавленную, а вообще на любые.

Как правило, ошибки в описаниях анимаций в точках look вей-поинтов..

Лечение:

???

Есть подозрение, что движок вылетает при построении мипмапов (mipmaps - масштабных копий) текстур. Чтобы уменьшить кол-во занимаемой видеопамяти (и нагрузку на движок в целом) крайне рекомендуется делать текстуры с мипмапами. Даже если текстура одной размерности (н-р 512*512) без них, все равно движок строит масштабные копии сам (256*256 ... и вплоть до 1*1). Попытки оптимизации текстур без учета этого, приводят к существенному росту нагрузки, вплоть до вылетов...


Expression  : data
Function    : CVirtualFileReader::CVirtualFileReader
File        : E:\stalker\sources\trunk\xrCore\FS.cpp
Line        : 462
Description : ..ваш путь к игре..\gamedata\textures\wpn\wpn_gauss.dds
Arguments   : Not enough storage is available to process this command

Причина:

Нехватка памяти для обработки указанной текстуры. Вместо текстуры может быть практически любой файл: звук, модель, all.spawn, файл геометрии локации и т.д..

Комментарий:Этот вылет был один раз во время перехода в Предбанник. Почти так же как и Out of memory. С рабочего стола автосэйв загрузился без проблем..

Лечение:

Попробуйте загрузить последнее сохранение. Если не помогает - снизьте графические настройки игры.

Комментарий:Вылет на Болотах, во время загрузки последнего сэйва. С рабочего стола сэйв грузится без проблем.

Я бы его охарактеризовал, как вылет загрузки, т.к. при переходе на Кордон, этот вылет повторяется, но это уже, не вылет Кордона, а вылет загрузки, и и тем самым, с раб.стола, на Кордон выходим без проблем. Здесь рекомендую на Болотах, не делать частых сохраненок, т.к. вылетает с загрузки последних сохранок.


Expression  : fatal error
Function    : CInifile::r_section
File        : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line        : 502
Description :
Arguments   : Can't open section 'up_sect_fifthc_ak74u'. Please attach [*.ini_log] file to your bug report

Причина:

Достаточно хитрая разновидность вылета в ЧН\ЗП, возникающая при попытке добавления нового апгрейда. Можно очень долго сидеть и чесать голову, почему из двух секций, расположенных рядом в одном файле, одна читается, а вторая - нет...

Лечение:

По умолчанию в ЧН/ЗП все конфиги апгрейдов необходимо инклудить в две(!) ветки. Первая берет начало в system.ltx, вторая - в item_upgrades.ltx.

Кроме того, можно заставить игру обходиться без инклудов файлов во вторую ветку. Для этого в файле inventory_upgrades.script необходимо найти строку.

local char_ini = ini_file("item_upgrades.ltx")

и заменить её на

local char_ini = system_ini()


Expression  : 0
Function    : CUICellContainer::FindFreeCell
File        : E:\stalker\patch_1_0004\xr_3da\xrGame\ui\UIDragDropListEx.cpp
Line        : 508
Description : there are no free room to place item

Причина:

Попытка вставить в слот предмет который в этот слот не влезает, т.е. у предмета inv_grid_width и inv_grid_height больше чем слот.

Лечение:

Найти и исправить ошибку.


Expression  : bone_id!=BI_NONE
Function    : SArtefactDetectorsSupport::SetVisible
File        : D:\prog_repository\sources\trunk\xrGame\Artefact.cpp
Line        : 525
Description : link

Причина:

Неправильно указано имя кости для артефакта.

Возникает при создании или добавлении чужих артефактов. В artefacts.ltx, в секции af_base есть параметр particles_bone=link. Это имя косточки, которая принимается за центр при проигрывании партикла. Если кость в артефакте называется по иному, например joint2, и это не указанно в секции нового арта, которая наследуется от базовой и подразумевает естественно наличие link, получаем вылет.

Лечение:

В artefacts.ltx, в секции af_base есть параметр particles_bone=link. Это имя косточки, которая принимается за центр при проигрывании партикла. Если кость в артефакте называется по иному, например joint2, и это не указанно в секции нового арта, которая наследуется от базовой и подразумевает естественно наличие link, получаем вылет. Решается конвертированием модели арта в .object, просмотром в SDK и выяснением имени косточки с занесением в конфиг. Если "не дружите" с SDK, то можете воспользоваться вот этим perl-скриптом: ссылка, распаковываете архив и кидаете .ogf файл на батник, появиться текстовый файл с весьма подробным описанием модели, где среди прочего будут имена костей.

Решается конвертированием модели арта в .object, просмотром в sdk и выяснением имени косточки с занесением в конфиг.

Expression  : npos != comma1_pos
Function    : CUILines::GetColorFromText
File        : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line        : 525
Description : CUISubLine::GetColorFromText -- can't find first comma
Expression  : npos != comma2_pos
Function    : CUILines::GetColorFromText
File        : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line        : 526
Description : CUISubLine::GetColorFromText -- can't find second comma
Expression  : npos != comma3_pos
Function    : CUILines::GetColorFromText
File        : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line        : 527
Description : CUISubLine::GetColorFromText -- can't find third comma

Фактически, это - 3 разновидности одного вылета. Начать надо с того, что в игре существует возможность назначения цвета тексту путем специальной служебной последовательности символов внутри этого текста. Эта последовательность имеет вид %с[color], где color может быть либо текстовым названием цвета, либо четырьмя разделенными запятыми числами, задающими цвет в формате RGBA. Если цвет задан некорректно - то мы имеем счастье наблюдать один из вышеуказанных вылетов.

Лечение:
Найти некорректно заданный цвет, и исправить

P.S.Вообще, у этого вида вылетов долгая и захватывающая история. Как оказалось, почти ВСЕ строки в игре подвержены подобному "разукрашиванию". Не стали исключением и строки сообщений, отправляемые в чат игроками в мультиплеере. Из-за этого любой игрок получил возможность введением специальным образом заданного сообщения устроить на сервере вылет у всех игроков сразу.


Expression  : npos != comma2_pos
Function    : CUILines::GetColorFromText
File        : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line        : 526
Description : CUISubLine::GetColorFromText -- can't find second comma
Начать надо с того, что в игре существует возможность назначения цвета тексту путем специальной служебной последовательности символов внутри этого текста. Эта последовательность имеет вид %с[color], где color может быть либо текстовым названием цвета, либо четырьмя разделенными запятыми числами, задающими цвет в формате RGBA. Если цвет задан некорректно - то мы имеем счастье наблюдать один из вышеуказанных вылетов.

Лечение:
Найти некорректно заданный цвет, и исправить

P.S.Вообще, у этого вида вылетов долгая и захватывающая история. Как оказалось, почти ВСЕ строки в игре подвержены подобному "разукрашиванию". Не стали исключением и строки сообщений, отправляемые в чат игроками в мультиплеере. Из-за этого любой игрок получил возможность введением специальным образом заданного сообщения устроить на сервере вылет у всех игроков сразу.


Expression  : npos != comma3_pos
Function    : CUILines::GetColorFromText
File        : E:\priquel\sources\engine\xrGame\ui\UILines.cpp
Line        : 527
Description : CUISubLine::GetColorFromText -- can't find third comma

Причина:

Начать надо с того, что в игре существует возможность назначения цвета тексту путем специальной служебной последовательности символов внутри этого текста. Эта последовательность имеет вид %с[color], где color может быть либо текстовым названием цвета, либо четырьмя разделенными запятыми числами, задающими цвет в формате RGBA. Если цвет задан некорректно - то мы имеем счастье наблюдать один из вышеуказанных вылетов.

Лечение:

Найти некорректно заданный цвет, и исправить

P.S.Вообще, у этого вида вылетов долгая и захватывающая история. Как оказалось, почти ВСЕ строки в игре подвержены подобному "разукрашиванию". Не стали исключением и строки сообщений, отправляемые в чат игроками в мультиплеере. Из-за этого любой игрок получил возможность введением специальным образом заданного сообщения устроить на сервере вылет у всех игроков сразу.


Expression  : assertion failed
Function    : CKinematicsAnimated::Load
File        : E:\stalker\sources\trunk\xr_3da\SkeletonAnimated.cpp
Line        : 589
Description : set_cnt<MAX_ANIM_SLOT

Причина:

В SDK в меню Motion в поле Motion reference присоединили больше массивов анимации, чем поддерживает движок. Для ТЧ это 3 массива, для ЧН/ЗП - 4 или 5( не проверено).

Лечение:

Исправить количество прописанных файлов анимации у модели посредством SDK.


Expression  : fatal error
Function    : CKinematiicsAnimated::Load
File        : E:\stalker\sources\trunk\xr_3da\SkeletonAnimated.cpp
line        : 602
Description : <no expression>
Arguments   : Can't find motion file 'monsters\zombi_animation.omf'

Причина:

Игра не может найти указанный файл с анимациями.

Лечение:

Проверьте правильность написание имени файла и его пути. Либо найдите и удалите/исправьте модель, которая использует данный файл анимаций.


Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : ...\gamedata\scripts\xxx.script:<номер_строки>: attempt to index global 'имя_функции|имя_файла' (a nil value)

Причина:

Если в ошибке указано имя функции, то игра не может определить данную функцию в указанном файле. Причин на это три: либо её действительно нет; либо её имя написано с ошибкой; либо в некоторых случаях, функция находится ниже по коду от того места, где идёт её вызов.
Если же в ошибке указано имя файла, то либо файла не существует (возможно неправильное имя файла), либо в указанном файле синтаксическая ошибка.

Лечение:

Найти и исправить ошибку.

Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : ...cop\gamedata\scripts\ui_si.script:383: attempt to perform arithmetic on a string value
Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : ...cop\gamedata\scripts\ui_si.script:383: attempt to compare string with number

Причина:

В одном из скриптов Вы пытаетесь выполнять арифметические операции со строкой либо сравнивать её с числом

Лечение:

Возможно, вы забыли вызвать tostring, либо вместо операции '..' (конкатенация строк) использовали '+' (сложение чисел).
Если ничего из вышеописанного вы не делали, то так как LUA - язык с динамической типизацией, вполне возможно, что что-то изменило тип вашей переменной

Уточнение:

Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : ...cop\gamedata\scripts\ui_si.script:383: attempt to call global 'qwe' (a nil value)

Возможен и такой вариант вылета при отсутствующей функции

Вылет ЗП:

Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : ...cop\gamedata\scripts\utils.script:355: attempt to perform arithmetic on local 't_pos' (a nil value)

stack trace:
0023:69737365 DINPUT8.dll

Причина:

Как правило, ошибки в описаниях анимаций в точках look вей-поинтов..

Лечение:

Внимательность, внимательность и еще раз внимательность...

Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : ...cop\gamedata\scripts\bind_stalker.script:231: attempt to index global 'ИМЯ_ФАЙЛА' (a nil value)

Причина:

Вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка.

Лечение:

Expression  : !m_error_code
Function    : raii_guard::~raii_guard
File        : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line        : 748
Description : error in error handling

Причина:вылет происходит после 10 - 15 минут игры.

Этот вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка.

Лечение:

Если мод-переустановка,если оригинальная игра,попробуй накати версию повыше.


Expression  : error handler is invoked!
Function    : handler_base
File        : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line        : 764
Description : application is aborting

Возникает на этапе загрузки игры.

Возможная причина:
Что-то намудрили с анимациями объекта. Возможно, число костей в объекте не соответствует числу костей в анимации (например, прописан путь к чужому ОМФу). Также может возникать, если перемудрить с настройками костей в АЕ.
Кроме того, если нам посчастливится (например, я наблюдал это при попытке экспортить ОМФ с худовыми анимациями рук с использованием "родной" ЧНовской их модели, пропущенной через всем известным "конвертер всего и вся"), то можем увидеть такое:

Expression  : fatal error
Function    : mem_usage_impl
File        : E:\priquel\sources\engine\xrCore\memory_usage.cpp
Line        : 156
Description :
Arguments   : bad node in heap

и даже такое:

Expression  : fatal error
Function    : out_of_memory_handler
File        : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line        : 336
Description :
Arguments   : Out of memory. Memory request: 4063232 K

Кстати, вызывать вылеты "Out of memory" может и некорректно собранный игровой db-архив. Причина может быть в файлах, подвергшихся паковке. Например, будем получать вылет по памяти при попытке упаковать файлы револьвера GP100 из Gosuke Weapon Mod для ЧН. Другой пример - когда-то давно в ТЧ мной было замечено подобное поведение при попытке подсунуть игре db-шники с "чужой" локалью.

Лечение:
Будьте внимательнее.


Expression  : error handler is invoked!
Function    : invalid_parameter_handler
File        : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line        : 800
Description :

Причина:

Подобный вылет говорит о том, что в игре инициализируется некий объект у которого в параметрах присутствует некорректное значение (например нулевое).

Лечение:

Искать в конфигах некорректно прописанную строку. Ошибка очень редка и без раб.сэйва, на котором эта ошибка воспроизводится, устранить ее не представляется возможным.


Expression  : error handler is invoked!
Function    : invalid_parameter_handler
File        : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line        : 804
Description :

Причина:

Данный вылет бывает когда у какого либо из объектов установлено некорректное значение. Или же если данный вылет происходит при вызове класса, то проблема в том что в методе __init() класса прописано super()


Expression  : error handler is invoked!
Function    : invalid_parameter_handler
File        : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line        : 815
Description :

Возможно повреждение игрового архива (например, возникнет, если "забыть" указать entry_point в хидере)

[error]Expression  : error handler is invoked!
[error]Function    : invalid_parameter_handler
[error]File        : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
[error]Line        : 815
[error]Description :

Причина:

Вылет скорее всего связан с функцией формирования лога игры, и может возникать по разным причинам, но чаще всего когда в какую то движковую функцию был передан nil или же когда в конфиге указаны пустые значения.

Пример #1: Вызвать движковую функцию установки метки на карту, и забыть этой функции передать текст с описанием (nil)
Пример #2: В конфиге предмета указать пустое имя "inv_name = " - при попытке взять предмет появиться вылет.

Лечение:

Найти источник вылета и устранить его.


FATAL ERROR

Expression  : false
Function    : CGameObject::ef_detector_type
File        : E:\stalker\sources\trunk\xr_3da\xrGame\GameObject.cpp
Line        : 857
Description : Invalid detector type request, virtual function is not properly overridden!
Arguments   : C_HLCP_S

stack trace:

Причина:

'C_HLCP_S' - это что-то вертушка заплуталась в Темной долине... Встречается подобное, хотя очень редко, поэтому до сих пор не отловлено.

Лечение:

???


Expression  : assertion failed
Function    : CInventory::Eat
File        : E:\stalker\sources\trunk\xr_3da\xrGame\Inventory.cpp
Line        : 892
Description : pIItem->m_pCurrentInventory==this

Причина:

Вылет встречается только на 6 патче при попытке съедается из трупа.

Лечение:

Ищите, исправленную Kolmogor'om, xrGame.dll в Интернете.


Expression  : fatal error
Function    : WinMain
File        : D:\prog_repository\sources\trunk\xrEngine\x_ray.cpp
Line        : 946
Description : <no>
Arguments   : stack overflow

Причина: Жук появляется сразу после проверки диска,где зелёная заставка, т.е игра даже не включается.

Накопление очень большого объёма сейвов (У меня их было 1600,или же 3200 файлов,т.е 1.6 гигабайта(!))

Лечение:

Удалите почти все свои сейвы,оставьте штуки 2-3,что бы продолжить играть.


Вылеты при нехватке памяти:

Симптом: любой вылет со ссылкой на "out of memory" или аналогично "insufficient resources available" или "no more data is available". Кроме того, некоторые вылеты с "Can't open section" тоже могут быть связаны с нехваткой памяти.

Причина:

STALKER – игра крайне требовательная к ресурсам, она перегружена даже в чистом виде, и в особенности некоторые карты - Кордон, Тёмная Долина, Армейские Склады, Припять. При этом совершенно НЕ ИМЕЕТ ЗНАЧЕНИЯ сколько у вас оперативной памяти! Для процессов 32-битной версии Виндовс доступная память ограничена 2 Гб и не больше.

Лечение:

Снизьте качество текстур, или в особо тяжких случаях, перейдите на статичное освещение. Кроме того, можно попробовать играть с опцией командной строки " -noprefetch". Эту опцию без кавычек можно вбить в свойства ярлыка сталкера через пробел сразу за ссылкой на экзешник игры. Если же вы играете на Висте, можно попробовать играть, запустив сначала команду "bcdedit /SetIncreaseUserVA 2700", за логинившись с административными правам и.


stack trace:

001B:0188B3B6 xrRender_R1.dll
or
001B:02C09EE6 xrRender_R2.dll
Причина: Вылеты рендера.

Это проблема с видеодрайвером, связанная с тем, что игра передала функции драйвера неверные данные или возможно подвисшим потоком обработки видеоданных...

Лечение:

Хорошо в этом вылете то, что он обычно только временная проблема, и лечится простой загрузкой с последнего сейва. Основная локация таких вылетов – Янтарь, они часто случаются к северо-востоку от бункера экологов.