1


"Помощь в развитии Сайта "


"Торрент- трекер от Наших сайтов"


"Архив сайта"


"Народная Солянка за 17 декабря 2010 - утечка билда!!!!!"


Выбрать дизайн:
Страница 1 из 11
Модератор форума: Fagot 
Форум » Игровая Мастерская » Мастерская » Азбука мододела » Причины вылетов игры (разбираем логи) STALKER
Причины вылетов игры (разбираем логи) STALKER
LENA_D Дата: Чт, 16.07.2015, 13:49:48 | Сообщение # 1

Ветер
Страна: Украина
Твой город: Полтава
Сталкерша
В Зоне Реактора с 09.10.2010
Сообщений: 9955
Заслуги в Зоне Реактора
За отзывчевость
Игра S.T.A.L.K.E.R., а конкретно сам движок X-Ray довольно капризный, и зачастую как в процессе модификации, так и во время игры игра «вылетает».

Чтобы мы знали причину вылета, движок нам оставляет лог вылета. Лог вылета можно посмотреть несколькими способами:
В текстовом редакторе нажать Ctrl+V (Вставить)

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

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

Код
  : 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. Для ЗП (ЧН) это может ещё быть из-за отсутствия thm-ок для текстур террейна уровня!
Код
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   

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


 
LENA_D Дата: Чт, 16.07.2015, 13:52:42 | Сообщение # 2

Ветер
Страна: Украина
Твой город: Полтава
Сталкерша
В Зоне Реактора с 09.10.2010
Сообщений: 9955
Заслуги в Зоне Реактора
За отзывчевость
Код
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 строку (ставим перед строкой --) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ. Участник:Призрак: Автор прав в том что вылет очень распространен, но так его исправлять нельзя, так как nil передается в эту функцию только при каком-то форс-мажоре. Поэтому необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute("load "..fmt). После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil.
Код
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


Проблема возникает при убийстве НПС\мутанта. Типичный вылет по нехватке ресурсов. Участник:Призрак - Встречается в основном на больших локациях. Но не на всех. На болотах из ЧН такой вылет встречается, а вот с локации aver от Кости V такого вылета нет. Однако для данного вылета есть таблетка, в виде правленого экзешника. Искать на АМК-форуме.
Код
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



 
LENA_D Дата: Чт, 16.07.2015, 13:55:23 | Сообщение # 3

Ветер
Страна: Украина
Твой город: Полтава
Сталкерша
В Зоне Реактора с 09.10.2010
Сообщений: 9955
Заслуги в Зоне Реактора
За отзывчевость
Код
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 либо в минусовом значении. Либо его вообще нету

P.S. Также может быть причина в том, что в логике у какого-то АИ что-то неправильно указано. Для исправления рекомендую вставить строчку перед 116: get_console():execute(self.object:name()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой. --Rekongstor 14:01, 2 июня 2011 (UTC)
Код
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 в секции [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)


Метод обращения в игре не предусмотрен. Возможно, стоит пересмотреть подход к тому или иному скрипту.
Код
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    : 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'


Такое иногда бывает, когда ты (ГГ) или НПС заряжает дробовик или другое оружие со значением tri_state_reload = true. Это глюк. в игре что-то сбивается, и когда у дробовика максимальное количество заряженных патронов скажем 6, он заряжается за 6 и дальше.. дальше.. дальше.. и так пока не произойдёт вылет с вышеуказанным логом. вылет не значительный и редкий, но если он случается слишком часто, можно в конфигах всех дробовиков и ружей поменять значение tri_state_reload = true на tri_state_reload = false.
Код
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.

Код
By Призрак  
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.0004 xrGame от 6 патча.  
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 в Интернете
Код
[error]Expression    : error handler is invoked!
[error]Function      : invalid_parameter_handler
[error]File          : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
[error]Line          : 804
[error]Description   :


Данный вылет бывает когда у какого либо из объектов установлено некорректное значение (читал, сам не получал его) Или же если данный вылет происходит при вызове класса, то проблема в том что в методе __init() класса прописано super()
Код
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : d:\stalker cop\gamedata\scripts\bind_stalker.script:231: attempt to index global 'ИМЯ_ФАЙЛА' (a nil value)


Вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка.
Код
Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: attempt to call a nil value


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

Небольшой пример из практики по определению ошибки в особых случаях(для начинающих): Игра зависла, картинка на экране не меняется, на Ctrl + Alt+ Delete не реагирует. Только "Холодная перезагрузка" reset. Но при этом обычно в логе нет записи и обычным Ctrl + V ошибку не увидеть. Я пользуюсь программой Punto Switcher. Есть в ней опция "дневник", она ведёт запись всех нажатий клавиш и по нажатию сочетаний клавиш содержимое памяти может записывать в дневник. теперь когда игра зависла и картинка на экране не меняется, нажимаете Ctrl + Alt+ Delete. Внешне ничего не изменится, но ОС будет реагировать на клавиши, нажимаете сочетание клавиш "записать в дневник". Делаете перезагрузку, открываете дневник - Ваша ошибка записана. "дядя Саша"

Код
By tracker.  
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, получаем вылет. Решается конвертированием модели арта в .object, просмотром в sdk и выяснением имени косточки с занесением в конфиг.

Безлоговый вылет.

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

1. Безлоговые вылеты бывают в основном из-за завышенных настроек видео. Решение: В папке с игрой открыть папку gamedata, папку config, в ней файл alife, открыть любым текстовым редактором (блокнотом, или лучше word pad'ом) и найти строку switch distance = и изменить значение на 5, сохранить изменения.

Это только одна (не сильно вероятная) причина безлогового вылета. если вы знаете ещё одну причину, пожалуйста напишите здесь.

2. Вторая причина неправильно указано название пути в логике НПС или он полностью отсутствует в файле way_ all.spawn. Вылетать будет когда дойдёт время до спавна этого НПС.(дС)

3. Также, безлоговые вылеты происходят из-за ошибок в диалогах.

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


Вылет заканчивающийся строкой, то что выше не указываю роли не играет, здесь роль играет только "bad argument #3"
bad argument #3 to 'format' (string expected, got no value)

Если это появилось значит у Вас ошибка в файле с расширением .ltx (обращаю внимание, не путать с файлами .script), которая находится между [....] квадратными скобками в файле. Это может быть секция предмета, секция логики, секция пути файла way_, т.е. там где присутствуют квадратные скобки.(дС)


 
Форум » Игровая Мастерская » Мастерская » Азбука мододела » Причины вылетов игры (разбираем логи) STALKER
Страница 1 из 11
Поиск:

Сегодня в Баре - Реактор

Кто был:
Легенда условных обозначений : Призрак, Администратор, Модератор, Проводник, Сталкеры, Чистое небо, Тёмные, Свобода, Наёмники, Нейтралы, Военные, Долг, Монолит, Заблокированные .

Последние сообщения:

Чат

Активисты Форума:

Нужные темы:


Radio Унесённых Сталкером
Когда внутри все рвет, легче разрыдаться навзрыд, чем разрываться изнутриСталкер Призрак
LENA_D               (09.10.2010)
CMIT               (03.04.2016)
kapa               (09.01.2014)
Dimon02022               (08.11.2011)
Strelok               (01.11.2014)
ULTRA               (04.09.2015)
tyman21               (09.11.2013)
Этот               (01.08.2015)
vitto               (31.03.2011)

Пришедшие в Бар:


mag224               (05.12.2016)
mmmasterkill               (04.12.2016)
Инглинг               (04.12.2016)
Superman               (04.12.2016)
ДедМороз               (04.12.2016)
Водвадка               (03.12.2016)
Push 2 Check Рейтинг@Mail.ru Этот сайт защищен «Site Guard» Яндекс.Метрика