На чтение 5 мин Опубликовано
Разработчики игры Сталкер оставили для своих пользователей много проблем, которые связаны с вылетом игры. В принципе основная проблема заключается в недоработке игрового движка X-Ray, который зачастую ведет себя очень капризно. В этой статье вы найдете информацию о самых распространенных причинах Fatal Error Expression No Expression Function в Сталкере, а также методах их исправления.
Содержание
- Как найти ошибку?
- Что за ошибка, когда появляется?
- Причины возникающих ошибок
- Пути решения ошибок
Как найти ошибку?
Прежде чем фиксить проблему, требуется разобраться в том, как же ее найти и выявить . Узнать причину вылета игры легко, поскольку она оставляет в памяти компьютера специальный лог. Если ваша игра вылетает или зависает, она автоматически начинает создавать работающие файлы, которые записываются на системный диск С. Игра STALKER перезаписывает свой журнал каждый раз, когда вы запускаете игру. Этот подкаталог находится в папке «\Users\Public\Documents», а на Windows 8 и 10 это папка «\Users\Public\Public Documents».
Найти лог на системном диске С можно несколькими способами:
- В текстовом редакторе ввести Сtrl+V, чтобы скопировать туда текст «Fatal Error Expression No Function».
- Нажать кнопку «Пуск» на панели задач вашей ОС и ввести свое имя. Например, если ваше имя пользователя Сергей, вы найдете файл с именем xray_Sergey.log.
- Также можно сразу же открыть папку «Documents/STALKER» на диске C, чтобы отыскать ошибку.
- И последним вариантом поиска лога являются специальные программы для просмотра ошибок на Windows, которые требуют отдельной системной установки.
Что за ошибка, когда появляется?
Fаtal Error Expression No Function — это фатальная ошибка в Сталкере, которая говорит об отсутствующих функциях, битых файлах игры или нечитаемых библиотеках. Практически всегда ошибку сопровождает полный вылет игрока из игрового пространства. Чаще всего она преследует тех игроков, которые выбирают модифицированные версии «STALKER Тень Чернобыля», например: «Солянка», «Вектор отчуждения», «Конец света» и другие.
Ее появление связано с тем, что движок игры при любом баге в патчах начинает крошиться и вылетать. Стоит сразу же отметить — компьютерная игра STALKER в оригинальной версии имеет идентичные логи с ее модами. Когда происходит сбой «Fаtal Error Exprеssion No Expression Function», то на экране вашего ПК появится окошко «Fatal Error» с указанием файла, который дал сбой.
Причины возникающих ошибок
Как мы уже упомянули выше, основной причиной ошибки является некачественная разработка движка. Если углубиться в суть возникающих проблем, то встречаются следующие самые распространенные причины их появления:
- Не работает поиск структуры (аct corр monolit) и поиск шейдера (models\antigas glass).
- Отсутствует свободная оперативная память.
- Невозможно отыскать переменную.
- Переполнен стек. Чаще всего ошибка данного рода заключается в скриптах.
- «Bad argument #2» — это часто встречающаяся ошибка, которая может сигнализировать о проблеме в скриптах и не только. Одной из причин может стать некачественно модифицированный файл XR3D, но это происходит в пиратских версиях. Для ее устранения понадобится открыть файл «g.script» в блокноте и на двадцатой строке прописать «—», после вернуться в точный момент вылета.
- Ошибка в неверном визуале.
- Не воспринимает значение «ignore_types», проще говоря, какой-то из параметров персонажа.
- Отсутствует информация о классе, к которому принадлежит ключевой персонаж.
- «Bandage test kick1» не находит секцию.
- «Remove time» не может быть определен в секции.
- «Beer from the creator» — эта ошибка редкая и чаще всего возникает при перезарядке такого сложного оружия, как дробовик. Лаг заключается в том, что в обойму на шесть патронов начинает помещаться больше, что в итоге приводит к вылету игры.
- Вызов несуществующего класса. Это ошибка иногда может не прописаться в логе, поскольку игра зависает на одном месте.
Пути решения ошибок
К уже оглашенным выше способам решения «Fatal Error Expression No Expression Function в Сталкере» можно отнести следующие популярные:
- Банальный рестарт вашей техники. Порой «холодная перезагрузка» является во многих ситуациях самым действенным методом.
- Возобновление игры и проход сначала.
- Запуск новой сессии игры. Попробуйте войти в игру с отключенным антивирусом.
- Загрузка последнего сохранения. Если она не удается, то следует искать ошибку в скриптах.
- Удаление и переустановка игры. Полностью отключайте антивирус на момент установки.
- Перепроверка кэша папки «Gamedata» и сверхоперативной памяти. Ее можно найти на системной диске.
- Полное удаление папки «Gamedata».
- Уменьшение качества в настройках графики, также стоит уменьшить и другие параметры, влияющие на шейдеры.
- Немного изменить настройки действующего персонажа.
- Не использовать простой предмет в качестве физического объекта или же заранее прописать для него определенное значение.
- Постоянная загрузка и сохранение сейвов только при помощи консоли.
- Через Clear Sky удаление данных из папок, которые являются пользовательскими или же начинаются с FS.
Игра сейчас уже является довольно старой, но тем не менее она уже стала классикой жанра. И уже спустя столько лет, пользователи продолжают находить ошибки в этой игре. Некоторые из них достаточно свежие, т.к. возникают исключительно на Windows 10. Примером такой ошибки является FATAL ERROR со следующим кодом:
[error]Expression : sz<(tgt_sz-1)
[error]Function : IReader::r_string
[error]File : D:\prog_repository\sources\trunk\xrCore\FS.cpp
[error]Line : 426
[error]Description : Dest string less than needed.
Из нашей статьи вы узнаете, как же избавиться от данной неприятной ошибки.
Как исправить данную ошибку?
Для начала пробуем метод с проверкой файлов. Для этого нужно:
- Щелкнуть правой кнопкой мыши на exe файле или на ярлыке игры на рабочем столе.
- Выберите Свойства.
- Перейдите на вкладку Локальные файлы.
- Там нажмите Проверить игровые файлы.
- Если проверка файлов вам не помогла, то нужно перейти по пути C:\Documents and Settings\All Users\Документы\STALKER-SHOC и найти там файл user.ltx.
- Щелкаем на нем правой кнопкой мыши, выбираем “Открыть с помощью…” и там выбираем “Блокнот”.
- В этом файле найдите строку начинающуюся с vid_mode.
- В этой строке вам нужно выставить разрешение на одну ступень ниже, чем разрешение вашего монитора в настоящее время. Например, если вы используете экран 1080, то вам нужно поставить vid_mode 1600×900. Оно на одну ступень ниже, чем 1920х1080.
- В этом же .ltx файле отключите такие эффекты как God Rays, AA, AF и все остальные, которые могут препятствовать нормальному запуску игры. Для этого найдите строки с этими эффектами и вместо on напишите off.
- В том же файле установите значения для текстур, таких как тени и т. д. на средние.
- Закройте файл .ltx с сохранением изменений.
- Также убедитесь, что вы используете DirectX 9 или 11. Ни в коем случае не 10. Он подходит исключительно для использования на Windows Vista. Если у вас не установлен DirectX 9 или 11, то вам нужно скачать их с официального сайта Microsoft и запустить установку.
- После этого попробуйте запустить игру.
Это должно сработать. Удачной игры!
jaz240
Вот что нашёл по вашей теме:
Expression : fatal error
Function : CInifile::r_section
File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
Line : 502
Description :
Arguments : Can’t open section ‘up_sect_fifthc_ak74u’. Please attach [*.ini_log] file to your bug report
Достаточно хитрая разновидность вылета в ЧН\ЗП, возникающая при попытке добавления нового апгрейда. Можно очень долго сидеть и чесать голову, почему из двух секций, расположенных рядом в одном файле, одна читается, а вторая — нет.
Лечение:
По умолчанию в ЧН/ЗП все конфиги апгрейдов необходимо инклудить в две(!) ветки. Первая берет начало в system.ltx, вторая — в item_upgrades.ltx.
Кроме того, можно заставить игру обходиться без инклудов файлов во вторую ветку. Для этого в файле inventory_upgrades.script необходимо найти строку
local char_ini = ini_file(«item_upgrades.ltx»)
и заменить её на
local char_ini = system_ini()
Обновлено: 20.06.2023
Как в старое доброе время не запускается Сталкер ЗП — на этот раз лицензия Steam. Выдает стандартную ошибку: «Прекращена работа x-ray 1.6 engine», ну и в добавок всем знакомого «зеленого жука»:»A crash has been detected a BugTrap
This is XRay Engine v1.6 crash reporting client. To help the developments process, please. Submit Bug or save report and e mail it manually». К сожалению криворукие пиндосы не позаботились о предоставлении услуг использования разнообразных патчей самими игроками, и возникает вопрос как решить сию проблему? По системным требованиям вроде бы все нормально:
Операционная система Microsoft Windows 7 Home Basic, 32-разрядная
DirectX 11.0
Тип ЦП Mobile DualCore AMD Turion II M520, 2300 MHz
Видеоадаптер ATI Mobility Radeon HD 5470 (512 МБ)
Системная память 4000 МБ
Дрова в норме.
Порылся в Нете, пробовал переустановку игры, переустановку Steam, проверял целостность кэша, менял значения атрибутов в свойствах корневой папки, запускал от имени админа — ничего не помогло. Но ведь где-то есть решение этой загадки?
•Тема посвящена популярным вопросам насчёт сборки.
Для начала стоит сказать, что сборка не является аддоном, модом или подобным. Т.е, нельзя сборку ставить на другие сборки/моды. Также, не желательно ставить посторонние аддоны на сборку.
•Вопрос: Как поставить сборку на 6.03/Стасона?
•Ответ : Никак. Сборка не предназначена для установки на другие модификации.
•Вопрос:Вылет при переходе на Кладбище техники или ошибка «. Out of memory»
•Ответ: Загрузите Autosave. Если не помогло, снизьте настройки графики, закройте фоновые приложения.
•Вопрос: Не получается сдать задание, NPC не хочет разговаривать, что делать?
•Ответ: Кнопка быстрой загрузки игры + быстрое нажатие клавиш F («Говорить») и 1 («Задание выполнено»)
•Вопрос: Как включить спавнер? Что делать, если он не включается?
•Ответ: На букву S. Если спавнер не появляется, то вам следует дописать -dbg в пути ярлыка.
Возможно, проблема связана с тем, что официальная версия игры не поддерживает Windws 10, если ссылаться на системные требования, прописанные в Steam. Вы можете попробовать запустить игру в режиме совместимости со старыми системами. Для этого щёлкните правой кнопкой мыши на .exe файл или ярлык игры, выберите вкладку совместимость и установите Windows XP или Windows Vista (попробуйте оба варианта). Также проверьте, соответствует ли ваш компьютер указанным системным требованиям.
Существует и вероятность того, что вы скачали некачественную версию игры, содержащую ошибку. Если первый вариант вам не помог, то решением этой проблемы станет либо скачать другую версию, либо приобрести игру в Steam и попробовать её, в том числе в режиме совместимости. Если купленная игра по-прежнему не будет работать, то в Steam можно будет запросить возврат средств (при условии, что не наиграно более двух часов), так что деньги вы не потеряете.
Для лучшего поиска решения, конечно, в вопросах подобного рода желательно указывать составляющие вашего компьютера и ошибку, которая возникает (вероятно, там был какой-то текст, который может указать на причину ошибки).
Глючит или не запускается S.T.A.L.K.E.R.: Call of Pripyat? Решение есть! Постоянные лаги и зависания — не проблема! После установки мода S.T.A.L.K.E.R.: Call of Pripyat начала глючить или НПС не реагируют на завершение задания? И на этот вопрос найдется ответ! На этой странице вы сможете найти решение для любых известных проблем с игрой и обсудить их на форуме.
Игра тормозит и лагает
Скорее всего данная проблема носит аппаратный характер. Проверьте системные требования игры и установите корректные настройки качества графики. Подробнее об оптимизации игры можно почитать на форуме. Также загляните в раздел файлов, где найдутся программы для оптимизации S.T.A.L.K.E.R.: Call of Pripyat для работы на слабых ПК. Ниже рассмотрены исключительные случаи.
Проблемы с модами
Проблемы с модами
Игра не запускается
Тут собраны ответы на самые распространённые ошибки. В случае если вы не нашли ничего подходящего для решения вашей проблемы — рекомендуем перейти на форум, где более детально можно ознакомиться с любой ошибкой встречающийся в S.T.A.L.K.E.R.: Call of Pripyat .
Игра вылетает на рабочий стол без ошибок.
О: Скорее всего проблема в поврежденных файлах игры. В подобном случае рекомендуется переустановить игру, предварительно скопировав все сохранения. В случае если игра загружалась из официального магазина за сохранность прогресса можно не переживать.
S.T.A.L.K.E.R.: Call of Pripyat не работает на консоли.
О: Обновите ПО до актуальной версии, а так же проверьте стабильность подключения к интернету. Если полное обновление прошивки консоли и самой игры не решило проблему, то стоит заново загрузить игру, предварительно удалив с диска.
Ошибка 0xc000007b.
О: Есть два пути решения.
Первый — полная переустановка игры. В ряде случаев это устраняет проблему.
Второй состоит из двух этапов:
Ошибка 0xc0000142.
О: Чаще всего данная ошибка возникает из-за наличия кириллицы (русских букв) в одном из путей, по которым игра хранит свои файлы. Это может быть имя пользователя или сама папка в которой находится игра. Решением будет установка игры в другую папку, название которой написано английскими буквами или смена имени пользователя.
Ошибка 0xc0000906.
О: Данная ошибка связана с блокировкой одного или нескольких файлов игры антивирусом или “Защитником Windows”. Для её устранения необходимо добавить всю папку игры в исключени. Для каждого антивируса эта процедура индивидуально и следует обратиться к его справочной системе. Стоит отметить, что вы делаете это на свой страх и риск. Все мы любим репаки, но если вас часто мучает данная ошибка — стоит задуматься о покупке игр. Пусть даже и по скидкам, о которых можно узнать из новостей на нашем сайте.
Отсутствует msvcp 140.dll/msvcp 120.dll/msvcp 110.dll/msvcp 100.dll
О: Ошибка возникает в случае отсутствия на компьютере корректной версии пакета Microsoft Visual C++, в который и входит msvcp 140.dll (и подобные ему). Решением будет установка нужной версии пакета.
- Нажимаем на Windows + R;
- Вводим команду“regsvrЗ2 msvcp140.dll”(без кавычек);
- Нажимаем “ОК”;
- Перезагружаем компьютер.
Ошибка 0xc0000009a/0xc0000009b/0xc0000009f и другие
О: Все ошибки начинающиеся с индекса 0xc0000009 (например 0xc0000009a, где на месте “а” может находиться любая буква или цифра) можно отнести к одному семейству. Подобные ошибки являются следствием проблем с оперативной памятью или файлом подкачки.
Перед началом выполнения следующих действий настоятельно рекомендуем отключить часть фоновых процессов и сторонних программ, после чего повторно попробовать запустить S.T.A.L.K.E.R.: Call of Pripyat .
Увеличиваем размер файла подкачки:
- Клик правой кнопкой на значку компьютера, а далее: «Дополнительные параметры системы» — «Дополнительно» — «Быстродействие» — «Дополнительно» — «Виртуальная память» — «Изменить».
- Выбираем один диск, задаем одинаковый размер.
- Перезагружаемся.
Размер файла подкачки должен быть кратен 1024. Объём зависит от свободного места на выбранном локальном диске. Рекомендуем установить его равным объему ОЗУ.
Если ошибка 0xc0000009а сохранилась, необходимо проверить вашу оперативную память. Для этого нужно воспользоваться функциями таких программ как MemTest86, Acronis, Everest.
Ошибки загрузки/обновления
Проверьте стабильность подключения к интернету, а также скорость загрузки. При слишком высоком пинге или низкой пропускной способности обновление может выдавать ошибки.
Если магазин или лончер S.T.A.L.K.E.R.: Call of Pripyat не завершает обновления или выдает ошибки, то переустановите саму программу. При этом все скачанные вами игры сохранятся.
Запустите проверку целостности данных игры.
Проверьте наличие свободного места на том диске, на котором установлена игра, а также на диске с операционной системой. И в том и в другом случае должно быть свободно места не меньше, чем занимает игра на текущий момент. В идеале всегда иметь запас около 100Гб.
О специфических ошибках связанных с последними обновлениями можно узнать на форуме игры.
Как в старое доброе время не запускается Сталкер ЗП — на этот раз лицензия Steam. Выдает стандартную ошибку: «Прекращена работа x-ray 1.6 engine», ну и в добавок всем знакомого «зеленого жука»:»A crash has been detected a BugTrap
This is XRay Engine v1.6 crash reporting client. To help the developments process, please. Submit Bug or save report and e mail it manually». К сожалению криворукие пиндосы не позаботились о предоставлении услуг использования разнообразных патчей самими игроками, и возникает вопрос как решить сию проблему? По системным требованиям вроде бы все нормально:
Операционная система Microsoft Windows 7 Home Basic, 32-разрядная
DirectX 11.0
Тип ЦП Mobile DualCore AMD Turion II M520, 2300 MHz
Видеоадаптер ATI Mobility Radeon HD 5470 (512 МБ)
Системная память 4000 МБ
Дрова в норме.
Порылся в Нете, пробовал переустановку игры, переустановку Steam, проверял целостность кэша, менял значения атрибутов в свойствах корневой папки, запускал от имени админа — ничего не помогло. Но ведь где-то есть решение этой загадки?
•Тема посвящена популярным вопросам насчёт сборки.
Для начала стоит сказать, что сборка не является аддоном, модом или подобным. Т.е, нельзя сборку ставить на другие сборки/моды. Также, не желательно ставить посторонние аддоны на сборку.
•Вопрос: Как поставить сборку на 6.03/Стасона?
•Ответ : Никак. Сборка не предназначена для установки на другие модификации.
•Вопрос:Вылет при переходе на Кладбище техники или ошибка «. Out of memory»
•Ответ: Загрузите Autosave. Если не помогло, снизьте настройки графики, закройте фоновые приложения.
•Вопрос: Не получается сдать задание, NPC не хочет разговаривать, что делать?
•Ответ: Кнопка быстрой загрузки игры + быстрое нажатие клавиш F («Говорить») и 1 («Задание выполнено»)
•Вопрос: Как включить спавнер? Что делать, если он не включается?
•Ответ: На букву S. Если спавнер не появляется, то вам следует дописать -dbg в пути ярлыка.
Глючит или не запускается S.T.A.L.K.E.R.: Call of Pripyat? Решение есть! Постоянные лаги и зависания — не проблема! После установки мода S.T.A.L.K.E.R.: Call of Pripyat начала глючить или НПС не реагируют на завершение задания? И на этот вопрос найдется ответ! На этой странице вы сможете найти решение для любых известных проблем с игрой и обсудить их на форуме.
Игра тормозит и лагает
Скорее всего данная проблема носит аппаратный характер. Проверьте системные требования игры и установите корректные настройки качества графики. Подробнее об оптимизации игры можно почитать на форуме. Также загляните в раздел файлов, где найдутся программы для оптимизации S.T.A.L.K.E.R.: Call of Pripyat для работы на слабых ПК. Ниже рассмотрены исключительные случаи.
Ошибки загрузки/обновления
Проверьте стабильность подключения к интернету, а также скорость загрузки. При слишком высоком пинге или низкой пропускной способности обновление может выдавать ошибки.
Если магазин или лончер S.T.A.L.K.E.R.: Call of Pripyat не завершает обновления или выдает ошибки, то переустановите саму программу. При этом все скачанные вами игры сохранятся.
Запустите проверку целостности данных игры.
Проверьте наличие свободного места на том диске, на котором установлена игра, а также на диске с операционной системой. И в том и в другом случае должно быть свободно места не меньше, чем занимает игра на текущий момент. В идеале всегда иметь запас около 100Гб.
О специфических ошибках связанных с последними обновлениями можно узнать на форуме игры.
Возможно, проблема связана с тем, что официальная версия игры не поддерживает Windws 10, если ссылаться на системные требования, прописанные в Steam. Вы можете попробовать запустить игру в режиме совместимости со старыми системами. Для этого щёлкните правой кнопкой мыши на .exe файл или ярлык игры, выберите вкладку совместимость и установите Windows XP или Windows Vista (попробуйте оба варианта). Также проверьте, соответствует ли ваш компьютер указанным системным требованиям.
Существует и вероятность того, что вы скачали некачественную версию игры, содержащую ошибку. Если первый вариант вам не помог, то решением этой проблемы станет либо скачать другую версию, либо приобрести игру в Steam и попробовать её, в том числе в режиме совместимости. Если купленная игра по-прежнему не будет работать, то в Steam можно будет запросить возврат средств (при условии, что не наиграно более двух часов), так что деньги вы не потеряете.
Для лучшего поиска решения, конечно, в вопросах подобного рода желательно указывать составляющие вашего компьютера и ошибку, которая возникает (вероятно, там был какой-то текст, который может указать на причину ошибки).
Игра не запускается
Тут собраны ответы на самые распространённые ошибки. В случае если вы не нашли ничего подходящего для решения вашей проблемы — рекомендуем перейти на форум, где более детально можно ознакомиться с любой ошибкой встречающийся в S.T.A.L.K.E.R.: Call of Pripyat .
Игра вылетает на рабочий стол без ошибок.
О: Скорее всего проблема в поврежденных файлах игры. В подобном случае рекомендуется переустановить игру, предварительно скопировав все сохранения. В случае если игра загружалась из официального магазина за сохранность прогресса можно не переживать.
S.T.A.L.K.E.R.: Call of Pripyat не работает на консоли.
О: Обновите ПО до актуальной версии, а так же проверьте стабильность подключения к интернету. Если полное обновление прошивки консоли и самой игры не решило проблему, то стоит заново загрузить игру, предварительно удалив с диска.
Ошибка 0xc000007b.
О: Есть два пути решения.
Первый — полная переустановка игры. В ряде случаев это устраняет проблему.
Второй состоит из двух этапов:
Ошибка 0xc0000142.
О: Чаще всего данная ошибка возникает из-за наличия кириллицы (русских букв) в одном из путей, по которым игра хранит свои файлы. Это может быть имя пользователя или сама папка в которой находится игра. Решением будет установка игры в другую папку, название которой написано английскими буквами или смена имени пользователя.
Ошибка 0xc0000906.
О: Данная ошибка связана с блокировкой одного или нескольких файлов игры антивирусом или “Защитником Windows”. Для её устранения необходимо добавить всю папку игры в исключени. Для каждого антивируса эта процедура индивидуально и следует обратиться к его справочной системе. Стоит отметить, что вы делаете это на свой страх и риск. Все мы любим репаки, но если вас часто мучает данная ошибка — стоит задуматься о покупке игр. Пусть даже и по скидкам, о которых можно узнать из новостей на нашем сайте.
Отсутствует msvcp 140.dll/msvcp 120.dll/msvcp 110.dll/msvcp 100.dll
О: Ошибка возникает в случае отсутствия на компьютере корректной версии пакета Microsoft Visual C++, в который и входит msvcp 140.dll (и подобные ему). Решением будет установка нужной версии пакета.
- Нажимаем на Windows + R;
- Вводим команду“regsvrЗ2 msvcp140.dll”(без кавычек);
- Нажимаем “ОК”;
- Перезагружаем компьютер.
Ошибка 0xc0000009a/0xc0000009b/0xc0000009f и другие
О: Все ошибки начинающиеся с индекса 0xc0000009 (например 0xc0000009a, где на месте “а” может находиться любая буква или цифра) можно отнести к одному семейству. Подобные ошибки являются следствием проблем с оперативной памятью или файлом подкачки.
Перед началом выполнения следующих действий настоятельно рекомендуем отключить часть фоновых процессов и сторонних программ, после чего повторно попробовать запустить S.T.A.L.K.E.R.: Call of Pripyat .
Увеличиваем размер файла подкачки:
- Клик правой кнопкой на значку компьютера, а далее: «Дополнительные параметры системы» — «Дополнительно» — «Быстродействие» — «Дополнительно» — «Виртуальная память» — «Изменить».
- Выбираем один диск, задаем одинаковый размер.
- Перезагружаемся.
Размер файла подкачки должен быть кратен 1024. Объём зависит от свободного места на выбранном локальном диске. Рекомендуем установить его равным объему ОЗУ.
Если ошибка 0xc0000009а сохранилась, необходимо проверить вашу оперативную память. Для этого нужно воспользоваться функциями таких программ как MemTest86, Acronis, Everest.
Читайте также:
- Долго грузятся чанки в майнкрафт
- Скайрим серана приколы
- Titan quest увеличение опыта
- Корсары город потерянных кораблей параметры героя
- Взрываются механизмы industrial craft 2
Привет всем! Игра S.T.A.L.K.E.R., а конкретно сам движок 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 : !m_bAutoRemove Function : CParticlesObject::Init File : D:\prog_repository\sources\trunk\xrGame\ParticlesObject.cpp Line : 50 Description : Can't set auto-remove flag for looped particle system. Arguments : snow_steps\step
Не установлен интервал (время) проигрывания группы/эффекта партиклов. В Particle Group -> End Time(s) укажите время, через которое частицы должны исчезнуть. Заодно проверьте particle effect -> Kill Old -> Age limit.
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
Тут проблема вся в том, что неправильно закомпилился шейдер, при компиляции уровня на качестве, более высоком чем 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
Нехватка оперативной памяти.
[error]Expression : assertion failed [error]Function : CBuild::Load [error]File : .\Build_Load.cpp [error]Line : 98 [error]Description : B.dwMaterialGame<65536
Неправильно настроены шейдеры. В настройках шейдера, во вкладке R2-A поставьте текстуру, которая вдальнейшем будет накладываться
на террейн.
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)
Ошибка распространённая. На первый взгляд кажется, что ошибка как раз в скриптах, но всё может быть иначе. В одной из пиратских версий игры этот вылет наблюдается особенно часто из-за криво модифицированного файла «XR_3DA.exe». Если же вы уверены, что у вас лицензионная версия игры, можно попробовать сделать так: открываем файл _g.script блокнотом, закомменчиваем 20 строку (ставим перед строкой —) и идём к тому месту где поймали вылет. Так мы получим более развёрнутый ответ.
Участник: Призрак: Автор прав в том что вылет очень распространен, но так его исправлять нельзя, так как nil передается в эту функцию только при каком-то форс-мажоре. Поэтому необходимо перейти в _g.script в функцию printf и перед log1(string.format(fmr,..)) дописать: get_console():execute(«load «..fmt). После этого запустить еще раз игру и посмотреть при передачи какой строки игра вылетает. Потом найти эту строку в скриптах игры и прикинуть почему аргумент (у нас это аргумент №2 (bad argument #2)) равен nil. Возможность такового вылета из — за слишком быстрой скорости актера, слишком высокому прыжку. (Редактировать: config/creatures/actor.ltx)
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.
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()). То имя в логе, которое будет последним после вылета, указывает на персонажа с кривой логикой.
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.
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. Внешне ничего не изменится, но ОС будет реагировать
на клавиши, нажимаете сочетание клавиш «записать в дневник». Делаете перезагрузку, открываете дневник — Ваша ошибка записана.
«дядя Саша»
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 и выяснением имени косточки с занесением в конфиг.
Expression : error handler is invoked! Function : invalid_parameter_handler File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp Line : 815 Description : bad argument #3 to 'format' (string expected, got no value)
Вылет заканчивающийся строкой, то что выше не указываю роли не играет, здесь роль играет только «bad argument #3». Если это появилось значит у Вас ошибка в файле с расширением .ltx (обращаю внимание, не путать с файлами .script), которая находится между [….] квадратными скобками в файле. Это может быть секция предмета, секция логики, секция пути файла way_, т.е. там где присутствуют квадратные скобки.
Expression : cross_table().header().level_guid() == level_graph().header().guid() Function : CAI_Space::load File : D:\prog_repository\sources\trunk\xrGame\ai_space.cpp Line : 113 Description : cross_table doesn't correspond to the AI-map
Скорее всего, отсутствует файл level.ai. Возможно после правки уровня в SDK и компиляции AI, вы забыли его скопировать в папку уровня. Важно помнить, что level.ai нужно обновлять для всех уровней, а не только для тех, которые подвергались правке.
Безлоговый вылет
Вылет, при котором лог отсутствует. Причины такого вылета:
1. Безлоговые вылеты бывают в основном из-за завышенных настроек видео.
Решение:
В папке с игрой открыть папку gamedata, папку config, в ней файл alife, открыть любым текстовым редактором (блокнотом, или лучше word pad’ом) и найти строку switch distance = и изменить значение на 5, сохранить изменения. Это только одна (не сильно вероятная) причина безлогового вылета. если вы знаете ещё одну причину, пожалуйста напишите здесь.
2. Вторая причина неправильно указано название пути в логике НПС или он полностью отсутствует в файле way_ all.spawn. Вылетать будет когда дойдёт время до спавна этого НПС.
3. Также, безлоговые вылеты происходят из-за ошибок в диалогах.
- Автор статьи — Pihan13
- Дополнительный справочник «вылетов» игры
Не стесняемся — дополняем, если знаем о чём идёт речь.