Причины вылетов игры (разбираем логи)
Привет всем! Игра сталкер, а конкретно сам движок 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 строку (ставим перед строкой --) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ. 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 Частично использовалась информация с сайта http://forum.stalker-simbion.ru/ Не стесняемся - дополняем, если знаем о чём идёт речь.
Информация для всех--решение вылетов(по крайней мере большинства). Ставите игру,патч,мод,запускаем. Если дошли до меню (уже хорошо)но игра не запустилась -XR_3DA вылетает то ставте "МИНИМАЛЬНЫЕ НАСТРОЙКИ ГРАФИКИ ,СТАТИЧНОЕ ОСВЕЩЕНИЕ ОБЬЕКТОВ,ОРИГИНАЛЬНОЕ РАЗРЕШЕНИЕ vid_mode 1024x768 НЕ МЕНЯЕМ. ДАЖЕ ЕСЛИ ОНИ УЖЕ СТОЯТ!!! ПОДВИГАЙТЕ ПЛАНКИ И НАЖМИТЕ ПРИМЕНИТЬ", если запустилась игра-отлично. Запускаем игру играем минут 5 ,сохраняем и выходите в винду. Копируем папку игры-у меня в С:\Program Files\S.T.A.L.K.E.R. - Shadow of Chernobyl-В Любое удобное для вас место,Копируйте сохранение туда-же у меня в-С:documents and settings\all user\stalker-shoc. СНОСИМ НАХРЕН ИГРУ, по возможности чистим остатки. Из той папки которую скопировали из поддиректории bin делаем ярлык на рабочий стол для XR_3DA.exe и запускаем игру. Результат-1) начинает работать сохранение, даже быстрое.можно сохранятся без консоли. 2) совет-при быстром сохранении на открытом пространстве упритесь мордой в стену,дерево,угол.помогает 95%. 3)Действия при вылетах: сбрасывайте настройки на"МИНИМАЛЬНЫЕ НАСТРОЙКИ ГРАФИКИ ,СТАТИЧНОЕ ОСВЕЩЕНИЕ ОБЬЕКТОВ,ОРИГИНАЛЬНОЕ РАЗРЕШЕНИЕ vid_mode 1024x768 НЕ МЕНЯЕМ. ДАЖЕ ЕСЛИ ОНИ УЖЕ СТОЯТ!!! ПОДВИГАЙТЕ ПЛАНКИ И НАЖМИТЕ ПРИМЕНИТЬ". Может сработать не с первого раза а с 3-5. Если это не помогает то вытаскивайте из скопированной ранее папки сохранений файл user.ltx а также папку logs и копируйте в с заменой в папку С:documents and settings\all user\stalker-shoc. С помощью этих манипуляций можно вернуть к жизни даже "битые" сохранения с вероятностью 95%. РАБОТАЕТ СО ВСЕМИ МОДАМИ. В процессе игры настройки можно менять но при вылете смотри выше.При минимальных настройках XR_3DA всё находит и со всем справляется но в процессе игры при перемещении на другую локацию или загрузке сохранений все настройки "плавают" их нужно восстановить.проще сделать это с минимальных . если помогло вам помогите другим ,ссылка на автора желательна (qwertysher)
http://stalkerin.gameru.net/wiki/index.php/Причины_вылетов_игры_(разбираем_логи)
|