Причины вылетов игры (разбираем логи)
Материал из 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 попал на эту точку, а заодно ушёл за аи-сетку. Этого движок не терпит.
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 строку (ставим перед строкой --) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ.
- Автор статьи - Pihan13
- Частично использовалась информация с сайта http://forum.stalker-simbion.ru/