The Witcher 3: Wild Hunt

The Witcher 3: Wild Hunt

Not enough ratings
Закрытие багнутых квестов серии "Охота за сокровищами"
By ekzestean
В игре периодически случается до сих пор не поправленный баг - некоторые мелкие квесты из серии "Охота за сокровищами" не завершаются тогда, когда должны были бы (вроде открытия сундука с последующей эскпроприацией содержимого) и остаются висеть мёртвым грузом в журнале. Вреда от них особо никакого, но могут раздражать; единственный способ избавиться от подобного бага (кроме отката на раннее сохранение, конечно) - консоль, но нужно будет проделать некоторые манипуляции
   
Award
Favorite
Favorited
Unfavorite
Подготовка
В первую очередь нужно включить консоль, если она ещё не активирована. Инструкций в Google море, но если кратко, то идём по адресу ~\The Witcher 3\bin\config\base и открываем файл general.ini, в нём добавить строчку DBGConsoleOn=True (или поправить False на True после =, если вдруг сама строчка уже была в файле)
Поиск id багнутого квеста
Чтобы закрыть поломанный квест, нам нужен его id или baseName. Безусловно, узнать этот параметр самостоятельно практически нереально, поэтому нам пригодится следующий файл (этот и идущий ниже по руководству файлы были найдены на просторах интернетов, их составлением занимался не я)

Файл w3journal[drive.google.com]

Файл очень объёмный, поэтому пользуемся поиском по нему (ctrl+F). Насколько можно судить, баг с незакрытием подобных квестов совершенно рандомен и случиться может почти с любым квестом этой категории (хотя некоторые багаются чаще остальных), поэтому какого-то исключительного списка привести не получится. Нужно найти именно тот, что поломался конкретно сейчас, для этого потребуется английское название квеста. Тупой перевод через яндекс.переводчик не всегда работает, ибо названия в русской и английской версии могут отличаться по смыслу. Стоит зайти на какой-нибудь vedmak.fandom.com и просто подглядеть там - обычно в описаниях квестов пишут английский вариант в скобочках, либо можно перейти на другую языковую версию сайта - сразу будет статья на английском с нужным нам заголовком. Далее копируем английское название квеста и ищем в нашем файле

Пример: у меня поломался квест "Нежданное наследство", я выяснил, что его английское название ожидаемо в этот раз 'A surprise inheritance', ищем в файле w3journal по названию квеста, видим его (подчеркнул зелёным) и выше его baseName (подчеркнул красным). Этот параметр (то что в кавычках) нам и будет нужен. Копируем его

Поиск триггера завершения квеста
Теперь нам потребуется другой файл, содержащий параметры стадий квестов, нам нужно будет в консоли вручную заставить игру перейти на нужную нам стадию, потому что сама она это почему-то сделать не захотела. Открываем следующий файл:

Файл tw3facts[drive.google.com]

Тут-то и понадобится baseName квеста, потому что по названию даже английскому тут вы его не найдёте

Внимание: здесь нужно понимать, что написание этого baseName может немного варьироваться в обоих файлах (хотя зачастую полностью совпадает), по моему опыту в первом файле оно иногда записано без нижних пробелов, а во втором - с ними, так что надо экспериментировать (ну, или искать вручную похожий набор символов, если терпения хватит). Я относительно быстро разгадал нужные id всех своих забаганных квестов. Вот и в рассматриваемом примере мы из первого файла берём ep1poi08, а вот для поиска во втором надо ввести ep1_poi_08



Видим фазы квеста. Одна из них собственно квест и завершает. Какая? Обычно последняя, но бывают и исключения, лучше всего сохраниться и пробовать, что сработает. Могут помочь описания этих фаз, в рассматриваемом квесте мы стоим перед облутанным сундуком и не можем понять, какого ляда сам квест не закрылся; логично, что он должен был быть завершён после обыска контейнера. Смотрим на строчки, ага, в одной так и написано 'treasure_opened' (снова может помочь знание английского).
И финальное действие - открываем консоль и пишем следующее addfact(N) где N - это найденная нами фаза квеста в файле tw3facts. То есть, чтобы закрыть квест "Нежданное наследство", нам нужно ввести в консоль addfact(ep1_poi_08_treasure_opened) и нажать enter

Наглядно:
Сундук обыскал, гуля убил, квест не закрыт


Открываем консоль и вводим addfact(ep1_poi_08_treasure_opened). Всё, квест закрывается
Завершение
Имейте в виду, что все манипуляции - на ваш страх и риск, хотя лично я не заметил каких-то проблем в дальнейшем прохождении после ввода подобных команд. Этот метод протестирован на квестах как из оригинальной игры, так и на квестах из DLC. Теоретически в этих файлах можно найти параметры вообще любых квестов (например, иногда багающихся подобным образом квестов на поиск ведьмачей экипировки) и наэкспериментировать всякого, но мой совет - использовать только для багнутых квестов из категории "Охота за сокровищами", которые не захотели закрыться сами
4 Comments
ekzestean  [author] Feb 7, 2023 @ 2:58am 
@kibafox это enhanced edition или как-то так (мод), на чистой игре тоже проверял, работало точно так же
kibafox Jan 26, 2023 @ 6:35pm 
почему у тебя интерфейс другой ??
ekzestean  [author] Jan 14, 2023 @ 10:43am 
@METAllist у меня проблем с этими квестами не было (поэтому я и написал, что моё руководство теоретически может тут помочь), но если я вас правильно понял, у вас не сгенерировалась добыча в сундуке, это другой тип проблемы, я тут рассмотрел случаи закрытия квестов, которые формально полностью выполнены, но просто не отмечаются игрой как закрытые и мёртвым грузом висят в журнале; кодов на получение предметов в моих файлах нет
METAllist Jan 13, 2023 @ 5:37am 
У меня баганулся квест Забытое снаряжение Школы Волка. Маркер указывает на место в Каэр-Морхене, но на том месте ничего нет. И через консоль эти записки не получить, так как нет кодов на них нигде