Перейти к контенту

Справочник вылетов (Line 1 - Line 100)


Авторы / Ссылка на тему форума / Как найти файл с логом и что с ним делать?

Авторы: @ColR_iT и другие пользователи форума AMK-Team.ru

 

В некоторых случаях дополнительную информацию

можно почерпнуть из темы Справочника вылетов на форуме (здесь).

 

Как найти файл с логом?

Файл лога находится в папке путь к которой прописан в качестве параметра app_data_root в файле fsgame.ltx, который находится в корневой директории игры.
В конце файла .log, в случае вылета, после строк FATAL ERROR сохраняется описание ошибки (к сожалению в большинстве случаев не совсем очевидное), по которой можно попытаться определить причину вылета и исправить её.
Если же после вылета .log файл пуст, то определить причину вылета становиться практически невозможным.

 


Line 11

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

Причина:

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

Лечение:

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

 

 

 


Line 12

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



 

 

 

[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:

Аналогично, подобное может происходить и в ДРУГИХ скриптах. Лечить - добавив такую же проверку.
 
Причина: открытый инвентарный ящик пытается уйти в офлайн (например, при "телепортации" актора).
Лечение: Необходимо переводить в оффлайн-онлайн сам инвентарный ящик 

 

 

 

 

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

 
И так далее: выяснять по id конкретный объект, разбираться, что с ним происходит, искать, где делается СТРАННОЕ, и исправлять.

 


Line 22

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

Причина:

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

Лечение:

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


Line 23

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

Лечение:

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


Line 24

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()

Лечение:

?


Line 27

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

Причина:

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

Лечение:

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


Line 30

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, удаляйте его скриптом, тем самым не нарушая последовательность индексации.


Line 34

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.

[hr]

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).

Лечение:

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


Line 35

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, скорее всего файлы из разных частей частей игры, т.к. возникает зачастую во время переноса локаций из одной части игры (билды в том числе) в другую.

Лечение:

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


Line 37

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 и прочих подобных программ.

Лечение:

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


Line 39

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)

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

[hr]

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] не прописан какой-то из доступных для покупки в мультиплеере предметов.


Line 42

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

Причина:

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

Лечение:

?


Line 44

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, в конфигах оружия. Также воспользуйтесь фиксом .exe файла избавляющий от данной проблемы.


Line 46

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'.

Причина:

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

Лечение:

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

 [hr]

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. А далее там таблица в которой, вероятнее всего и находится ошибка.

Лечение:

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


Line 49

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.

Лечение:

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

[hr]

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


Лечение:


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

[hr]

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').

Лечение:

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


Line 53

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).

Лечение:

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


Line 54

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!

Причина:

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

Лечение:

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


Line 58

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

Причина:

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

Лечение:

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


Line 63

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

Причина:

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

Лечение:

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

[hr]

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.

[hr]

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

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

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

 


Line 64

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 и ищите нужный объект.


Line 65

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\.

Лечение:

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

 [hr]

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

Причина:

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

Лечение:

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


Line 72

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

Причина:

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

Лечение:

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


Line 73

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)

[spoiler]

Причина:

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

Лечение:

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

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

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

[/spoiler]

[hr]

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)

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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: ...w of chernobyl\gamedata\scripts\<имя файла>.script:<номер строки>: attempt to perform arithmetic on a nil value

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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)

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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

[spoiler]

Причина:

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

Лечение:

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

[/spoiler]

[hr]

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

[spoiler]

Причина:

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

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

Лечение:

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

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

[/spoiler]

[hr]

[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: ...ing\s.t.a.l.k.e.r\gamedata\scripts\inv_system.script:1674: attempt to call function 'GetCommand_TakeSlot' (a nil value)
 

stack trace:

[spoiler]

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

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

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

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

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

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

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

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

[/spoiler]


Line 74

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 в функцию printf и перед

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

дописать:

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

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


Line 75

[error]Expression    : F
[error]Function      : CXml::Load
[error]File          : E:\priquel\sources\engine\xrXMLParser\xrXMLParser.cpp
[error]Line          : 75
[error]Description   : text\rus\new_dialog.xml

Причина:
Движок не может прочитать файл new_dialog.xml, т.к. он находится в сторонней папке, которая находится в директории text\rus\

Лечение:
Переместить файлы в папках, в корень директории text\rus\


Line 76

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'.

Причина:

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

Лечение:

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


Line 78

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).

Лечение:

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


Line 80

[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

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


Line 81

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

Причина:

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

Лечение:

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


Line 87

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, не соответствуют открывающийся и закрывающийся теги.

Лечение:

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

 [hr]
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.
Причина:

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

Лечение:

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

 [hr]
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 удалить теги window и /window, то появится именно такая ошибка.

Лечение:

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


Line 91

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.

Лечение:

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


Line 92

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

Причина:

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

Лечение:

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

[hr]

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
б) Явно задать в конфиге названия реально существующих для модели оружия анимаций


Line 96

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!

Причина:

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

Лечение:

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


Line 97

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 равными нулю!

Лечение:

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


×
×
  • Создать...