Редактор скриптов в сохранениях для Fallout 4
Инструмент позволяет удалять скрипты из сохранений, редактировать переменные, останавливать запущенные функции и т.д.
Инструмент имеет обратную совместимость с сохранениями Skyrim.
Fallout 4 vs Skyrim. В чем разница?
- Fallout 4 использует тот же скриптовый движок, что и Skyrim (носит название Papyrus).
- С выходом новой игры появились некоторые новшества в самом языке (например, скриптер теперь может определять свои структуры данных), но фундамент сохранился.
- Скрипты хранятся в ваших сохраненках почти в том же формате. Активные функции пишутся целиком в сохраненные игры (и остаются в них до тех пор, пока не отработают), чтобы избежать конфликтов версий - также, как это было в Skyrim.
Как использовать?
Скопируйте сохраненку Fallout 4 (*.fos) в папку с программой.
На всякий случай, прикопайте где-нибудь оригинальное сохранение, чтобы не потерять его.
Откройте окно консоли, cmd.exe
- Папка с программой PapyrusDataTransfer.exe -> CTRL+ Правый клик
- Открыть окно консоли
1) Как получить информацию о скриптах, зашитых в сохраненку?
PapyrusDataTransfer.exe -show Save.fos > ScriptRelatedContent.txt
Затем открыть файл ScriptRelatedContent
2) Как изменить значение переменной скрипта, Пример:
PapyrusDataTransfer.exe -setvariable Save.fos 1 -filter "[and], ::MeleeEnabled_var ([variable_name]), ( FireFightStall_MasterScript ( [script_name] ), [and], 198a1a ( [ref_id] ) "
Скрипт FireFightStall_MasterScript будет хранить новое значение переменной ::MeleeEnabled_var до тех пор пока он сам или любой другой скрипт не поменяют это значение.
3) Как удалить скрипт из сохраненной игры? Пример:
PapyrusDataTransfer.exe -remove Save.fos -filter "( FireFightStall_MasterScript ( [script_name] ), [and], 198a1a ( [ref_id] )"
После загрузки отредактированного сохранения, если связанный со скриптом объект еще присутствует в мире, игра воссоздаст скрипт с атрибутами по умолчанию.
3) Как "чистить" сейв после удаления скриптовых модов (которых еще нет, но будут)
Примечание: В общем случае НЕ рекомендуется вносить никакие изменения в сейв, если у вас нет никаких проблем, вне зависимости от того, какой инструмент вы используете.
PapyrusDataTransfer.exe -remove Save.fos -filter "0 ( [int] [ref_id] )"
Пока я не встретил классического "мусора" в сохраненных играх (скрипты с привязкой RefID = 0, как это было в Skyrim), но время покажет.
4) Как остановить активные функции и убрать их код из сохранения. Пример представлен для скрипта Default2StateActivator:
PapyrusDataTransfer.exe -terminate Save.fos -filter "Default2StateActivator ( [script_name] )"
Данный метод позволяет "отпустить" функции, которые застряли в бесконечных циклах или ожидают завершения вызова, который не хочет завершаться.
Установка:
- Распаковать архив в любую директорию.
Требования:
- Операционная система Windows
- Инструмент НЕ требует наличия установленного Fallout 4.