Причины вылетов игры (разбираем логи) — S.T.A.L.K.E.R. Inside Wiki

Причины вылетов игры (разбираем логи)

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Привет всем! Игра сталкер, а конкретно сам движок X-ray довольно капризный, и зачастую как в процессе модификации, так и во время игры игра "вылетает". Чтобы мы знали причину вылета, движок нам оставляет лог вылета. Лог вылета можно посмотреть несколькими способами:

  • В текстовом редакторе нажать Ctrl+V (Вставить)
  • Посмотреть лог игры включая лог вылета в файле xray_имя_пользователя.log в папке C:\Documents and Settings\All Users\Документы\STALKER-***\logs
  • Посмотреть непосредственно в окне багтрекера (только в ЧН и ЗП).

Ну приступим. Начнём с простых:


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     : d:\stalker\gamedata\sounds\music\sound.ogg

Здесь игра не может найти звуковой OGG-файл под названием sound в папке d:\stalker\gamedata\sounds\music\


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


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    : 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 (подробно опишу позже).


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

Не найден шейдер models\antigas_glass в библиотеке шейдеров.


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. --Added by Герр. Роммель Да нет. Тут проблема вся в том, что неправильно закомпилился шейдер, при компиляции уровня на качестве, более высоком чем Draft. Нужно скачивать исправление шейдеров от товарища Haron


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

Нехватка оперативной памяти.


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 ammo_mag_size in [wpn_addon_grenade_launcher]

Не найдена переменная ammo_mag_size в секции [wpn_addon_grenade_launcher].


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

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


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

Проблема возникает при убийстве НПС\мутанта. Типичный вылет по нехватке ресурсов. Встречается в основном на больший локациях.


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    : !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 нет доступной для отображения фразы (скажем все заткнуты инфопоршенами).


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.



  • Автор статьи - Pihan13
  • Дополнил статью - Fireman3000
  • Частично использовалась информация с сайта http://forum.stalker-simbion.ru/
Не стесняемся - дополняем, если знаем о чём идёт речь.

Дополнение к статье(От Fireman3000): Извините если где нибудь я нерпавильно пишу.Уж не родился я Колмагором :(


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

Причина вылета в том что игра не понимает значения 0 в danger_ignore.Проще говоря в логике какого то персонажа параметр danger_ignore = 0 либо в минусовом значении.Либо его вообще нету



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]

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



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'

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



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 в его секции



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

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


Другие места
LANGUAGE