Overview
Это руководство поможет вам, без лишней головной боли, вывести и правильно прочитать лог (отчёт) вылета.
Введение. Что такое Лог Вылета?
Приветствую вас! Не для никого уже не в новинку наличие большого количества модов на TES: Skyrim. Моды стали обыденной частью этой игры, и её серии в целом, я бы даже сказал, они стали чем-то необходимым, вроде неофициальных патчей и т.д. Но иногда моды дают сбой или просто начинают друг с другом конфликтовать, что в свою очередь приводит к вылетам.
И для того, чтобы без особых “танцов с бубном” определить причину вылета, не переустанавливать каждый мод по одельности, и не перезапускать игру каждый раз, существует такая вещь как Лог (с англ. “Log”, т.е. Отчёт).
В логе приводятся последние команды и процессы, которые происходили в игре “до” и “в” момент вылета. Т.е. с помощью лога можно увидеть, и далее отследить по ключевым значениям, какой скрипт был вызван последним, и который, соответственно, привел к вылету. Так же, повторю раннее озвучанное, просмотр лога будет очень полезен тем, у кого очень много модов, а переустанавливать каждый по отдельности и проверять его на вылет, чисто физически не представляется возможным.
Включаем и выводим Лог
Для начала саму функцию лога, т.е. отчётности, нужно включить (обычно эта функция отключена разработчиком).
Идём по пути – C:UsersИмя вашего ПользователяДокументыMy GamesSkyrim Special Edition*
*Это стандартное расположение папок Skyrim и Skyrim Special Edition, которое находится в Документах вашего Пользователя.
Далее находим файл Skyrim.ini и открываем его любым текстовым редактором.
Листаем в самый низ файла и находим вот этот раздел:
Теперь меням значения bEnableLogging, bEnableTrace и bLoadDebugInformation с 0 на 1. Дожно получиться вот так:
Теперь при следующем вылете в этой же папке появится папка Logs.
Далее заходим в игру и делаем манипуляции, которые приводили к вылету, т.е. более простыми словами “провоцируем” игру на вылет.
P.S. Может случиться так, что после 1-го вылета папка не появится – без паники, просто зайдите в игру ещё раз, и снова “спровоцируйте” игру на вылет, после 2-го раза папка обязательно должна появиться.
Читаем Лог
После того как игра вылетела идём в нашу папку Logs и далее в Scripts и ищем файл Papyrus.0.log – это и есть наш лог, т.е. отчёт о вылете. Стоит упомянуть, что новые логи после каждого вылета будут нумероваться с нуля, т.е. Papyrus.0.log – это самый свежий лог.
Далее вы можете открыть этот файл, также через любой текстовый редактор, и вы увидете, на первый взгляд, хаос из букв и чисел, но на самом деле все эти строки имеют смысл и их можно прочитать вручную, но человеку неподкованному в языке Papyrus будет сложно разобраться. И вот специально для этого и существует программа Papyrus Log Viewer[www.nexusmods.com]*
*Чтобы скачать программу вам придется залогиниться на Nexus. После скачивания программы по ссылке выше скидываем папку с ней в любое место на вашем компьютере.
Далее запускаем программу (ярлык с логотипом Java Script), и теперь нам необходимо загрузить в программу наш лог, для этого можно либо назначить путь к папке с логом (кнопка Browse), либо просто перетащить сам лог файл на окно с программой (что, кстати, проще всего, т.к. у меня назначить путь не получалось – программа выдавала ошибку).
После всех манипуляций, которые я описал выше, у нас должен появится список с упорядоченными строками. И теперь листаем в самый низ списка, и как не сложно догадаться, команды (скрипты), которые привели к вылету, находится в самом конце списка, как правило такие скрипты сопровождаются сообщениями, которые начинаются с “ERROR: Unable to call…”.
В столбце Script описываются названия скриптов, которые выполняли свои действия, или которые пытались их выполнить, что впоследствии привело к злосчастному вылету. В названии, как правило, используются сокращения модификаций/аддонов к которым они принадлежат, и имя какого-то действия, которое этот скрипт должен был выполнить в игровом мире.
В моём случае скрипт CFEffectCreature.psc относится к аддону Creature Framework (сокращение CF), плюс об этом говорит само слово Creature (существо), т.е. аддон который как-то взаимодействует с существами в игре, а такой аддон у меня только один. И если максимально упростить перевод сообщения ошибки, то выходит, что отсутствует объект который должен взаимодействовать с объектом данного скрипта.
Далее вам остаётся, либо самостоятельно найти файл скрипта, в моём случае это CFEffectCreature.psc, и решить в нём проблему, либо, если вы не хотите тратить свое время и нервы, просто удалить модификацию, или поискать фикс-патч в интернете. Всё зависит от вас)