Тема-справочник по вылетам S.T.A.L.K.E.R в большей степени ориентирован на чистый ТЧ, но в большинстве случаев причина и решение вылета одинакова для всех частей.
Информация собиралась со всего интернета, посему указывать источники не вижу смысла, если кого обидел - прошу прощения.
Файл лога находится в папке путь к которой прописан в качестве параметра app_data_root в файле fsgame.ltx, который находится в корневой директории игры. В конце файла .log, в случае вылета, после строк FATAL ERROR сохраняется описание ошибки (к сожалению в большинстве случаев не совсем очевидное), по которой можно попытаться определить причину вылета и исправить её. Если же после вылета .log файл пуст, то определить причину вылета становиться практически невозможным.
Поскольку список вылетов весьма обилен, то предлагаю небольшую рекомендацию того, как быстрее и эффективнее найти именно то, что Вам нужно, при условии, что оно здесь вообще есть.
Открываете спойлера всех частей. Открываете поиск в браузере (Ctrl F) и введите неизменяемое выражение из строк вылета. Например, если у Вас случился вылет Can't find texture 'act\act_corp_monolit', то не нужно вводить в поиске название текстуры, с 99% гарантией говорю, что таковой здесь нет, из-за чего поиск ничего не найдёт. Введите выражение "Can't find texture" - это движковая запись и она никогда не изменится. Тоже самое касается остального: моделей, звуков, шейдеров, партиклов, имён файлов, функций и секции и т.д. Также избегайте табуляции в строке поиска - форум не распознаёт её и преобразует в пробелы, таким образом поиск также ничем не увенчается. Либо Вы можете просмотреть все вылеты подряд. Для облегчения поиска вылеты расположены в порядке возрастания значения строки Line в логе.
Данный справочник не гарантирует того, что Вы найдёте решение проблемы (хотя я на это очень надеюсь), так как указанные причины и способы лечения могут не соответствовать истинной причине вылета.
Пожалуйста, если Вы наткнулись на вылет, которого нет в данной теме - не поленитесь сообщить об этом здесь. Возможно кому-то в дальнейшем это поможет решить свою проблему. Также буду рад любому справедливому замечанию касательно содержимого выше.
Также прошу не писать в данной теме уже те вылеты, которые здесь есть, по причине того, что Вы не понимаете чего-то. Не нужно писать сюда и посты с тем, что у Вас вылетает какой-то мод, с каким-то логом. Зачастую такой вылет скриптовый и никому кроме Вас он не нужен, лучше будет, если Вы обратитесь к разарботчикам данного мода. Не нужно писать всякие любезности, для этого есть личка.
ПОЖАЛУЙСТА, НЕ ЗАХЛАМЛЯЙТЕ ТЕМУ!
В противном случае буду жаловаться на подобные посты администрации форума, без каких-либо угрызений совести.
P.S. Поскольку форум ограничивает размер текста в сообщениях, поэтому пришлось разбить весь справочник на несколько постов.
Сообщение отредактировал ColR_iT - Четверг, 25.07.2013, 17:34
Подскажите что за вылет, с таким никогда не сталкивался, вылет происходит редко и рандомно на локации Затон в ТЧ
Expression : Ran out of memory Function : TW_LoadTextureFromTexture File : E:\stalker\patch_1_0004\xr_3da\xrRender\Texture.cpp Line : 132 Description : D3DXCreateTexture( HW.pDevice, top_width,top_height, levels_exist,0,t_dest_fmt, D3DPOOL_MANAGED,&t_dest )
ARayKo60, странно, но только сейчас заметил, что части вылетов в спойлере нет, в том числе и твоего... видимо форум покромсал тест при вставке. Вот причина и возможное решение данного вылета:
Причина: Вылет из-за железа, а точнее - оптимизации ОС. Скорее всего проблема с драйверами.
Лечение: Обновите драйвера на видеокарту. Снизьте графические настройки.
Такая проблема: в общем при попытка достать одновременно болт и детектор или нож и детектор или пистолет и детектор, второй предмет просто исчезает, т.е. на худе не отображается !there is no part named [left_hand] !there is no part named [right_hand] !there is no part named [left_hand] !there is no part named [left_hand] !there is no part named [right_hand] stack trace:
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: ...blishing\s.t.a.l.k.e.r\gamedata\scripts\utils.script:123: attempt to index local 'object' (a nil value)
Вылет произошёл при вызове ф-ии condlist = {=have_item(pda_bos)} 10 из логики тайника, которую по ощибке прописал в xr_effects.script вместо xr_conditions.script
И ещё один странный вылет:
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: ....l.k.e.r\gamedata\scripts\state_mgr_animation.script:176: attempt to index field 'animations' (a nil value)
Код
176: if state_mgr_animation_list.animations[self.states.target_state] ~= nil then
На сей раз он происходит из-за синтаксической ошибки в скриптах, а точнее из-за лишнего end в xr_effects.script
Этот вылет, ставит меня в тупик, т.к. он происходит не в момент синхронизации, а через секунду, другую после загрузки игры. И при этом ругается на state_mgr_animation.script. Объясните этот парадокс.
Сообщение отредактировал ins33 - Суббота, 24.08.2013, 02:44
ins33, всё это частные случаи, причины которых придётся выяснять самостоятельно всем кто,столкнулся с ними. Общее описание есть в первой части. Оба вылета:
Код
attempt to index local 'object/animations' (a nil value)
происходят по причине того, что игдекс хеш-таблицы равен nil, это явная ошибка скриптов и нужно смотреть " выше" по коду почему отсутствует искомый индекс, либо возможно мы в принципе обращаемся к несуществующему индексу при попытке получить значение из таблицы. Как ты сам можешь заметить, по своей сущности два одинаковых вылета происходят в абсолютно разных ситуациях, и произойти такой вылет может для каждой таблицы в скриптах - ты можешь хотя бы представить их количество, я не говорю уже о том, чтобы подсчитать их? Посему лепить справочник для каждого частного случая - это мазохизм, к тому же бесполезный, т.к. в каждом моде таких таблиц добавляется больше десятка, если не сотни, в случае если мод глобальный.
Народ, у кого-нибудь есть более подробная информация о значении вылета: pure virtual function call? Ловлю этот вылет практический каждый раз при авто переходе на новую локацию
Rap4ik,Этот вылет происходит в двух случаях - когда скрипт пытается вызвать функцию из несуществующего файла или когда в файле допущена синтаксическая ошибка.Лечение:если мод-переустановка,если оригинальная игра,попробуй накати версию повыше.
Rap4ik, причина вылета, по всей видимости, движковая, т.е. что-то, где-то ему не понравилось, вот он и крашиться. Точно возникает такой вылет, при передаче клиентского объекта в функцию switch_offline. Лечения, лично я, нигде не нашёл.
Сообщение отредактировал ColR_iT - Воскресенье, 08.09.2013, 13:22
причина вылета, по всей видимости, движковая, т.е. что-то, где-то ему не понравилось, вот он и крашиться. Точно возникает такой вылет, при передаче клиентского объекта в функцию switch_offline.
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)
Описание вылета как бы намекает на проблему с скриптами.А в нашем случае возникает небольшой баг и на выходе получается Description : error in error handling. Что в переводе выглядит как: Описание: Ошибка при обработке ошибок