Script Merger v 0.6.2 для Ведьмак 3
Так для чего же нужен Script Merger?
При установке нескольких модов, изменяющих один и тот же файл игры, Ведьмак 3 загружает лишь одну доминирующую версию этого измененного файла. Подобный конфликт файлов – обычное дело и может сделать пару установленных вами модификаций абсолютно бесполезными (а, иногда, и не юзабельными). И именно Script Merger помогает игрокам избежать этой проблемы.
Так как же он работает?
Несмотря на своё название, Script Merger (груб. Объединитель скриптов) находит конфликты не только в скриптах (.ws), но и в других файлах (.bundle). Найдя существующие конфликты, он создает объединенные версии конфликтующих текстовых файлов. При этом, он не изменяет исходные файлы, а просто замещает их. Программа не может исправить нетекстовые конфликты, но может помочь вам в управлении порядком загрузки (файл mods.settings), чтобы запускать определенный мод в обход остальным.
Для работы Script Merger использует три внешних инструмента:
- KDiff3 от Joachim Eibl для объединения текстовых файлов.
- QuickBMS от Luigi Auriemma для сканирования и распаковки файлов .bundle.
- wcc_lite от CD Projekt RED для объединения полученных текстовых файлов в файлы .bundle.
Также содержит код из xxHash.NET от Wilhelm Liao, чтобы обнаруживать изменения в модах, которые являются частью объединенных файлов.
Примечания:
Инструмент KDiff3 просто объединяет текст. В большинстве случаев, он работает нормально. Но из-за того, что данный инструмент не совсем понимает игровой код, иногда он объединяет файлы в неправильном порядке. Нет никаких гарантий, что автоматически разрешенные конфликты будут разрешены правильно. В случае возникновения подобной проблемы потребуется вмешательство пользователя.
В модах со скриптами могут возникнуть логические конфликты, которые инструмент не может выявить. В таком случае, даже если текст объединился без прямых конфликтов, вышедший скрипт не будет работать правильно. Например, если Мод А скрывает элементы графического интерфейса, а Мод Б, наоборот, отображает их, то Мод А не будет работать. Чтобы решить эту проблему, опять же, потребуется вмешательство пользователя.
Для пользователей NMM (Nexus Mod Manager): Пока что Script Merger не поддерживает NMM's multi-HD mode (или какие-либо симлинки).
Установка и использование:
- Скачайте, извлеките и запустите Script Merger.
- Укажите путь к установленной игре в поле в самом верху.
- Нажмите клавишу "Refresh" над списком "Conflicts".
- При выявлении исправимых конфликтов - повторяйте данные шаги, пока конфликты не разрешатся:
- Выберете две или более версии одного файла, которые вы бы хотели объединить.
- Нажмите клавишу "Create Selected Merge".
- Если в модах нет совпадающих различий, KDiff3 может объединить их автоматически.
- Если в модах есть совпадающие различия, появится окно KDiff3 и вы сможете объединить их вручную. Детальнее это показано в видео ниже.
- Если Script Merger не найдёт оригинальной версии измененного файла, вам придется объединить моды вручную, когда появится окно KDiff3.
- При выявлении нетекстовых конфликтов, Script Merger покажет их, но не исправит. Это значит, что один из модов в каждом конфликте “победит” и заместит остальные. Вот как выбирается победитель:
- По умолчанию, игра загружает моды в стандартном порядке: сначала цифры, затем подчеркивания, затем буквы (без учёта регистра клавиатуры).
- Вы можете клацнуть правой кнопкой мыши по одному из модов и выбрать его приоритет (от 1 до 9999, сначала загружаются меньшие числа). Об этом можно узнать больше из объяснения Kad_Venku.
- При удалении или обновлении одного из модов, который является частью объединенного файла, Script Merger обнаружит изменение и предложит удалить поврежденный файл. Если вы обновили мод и Script Merger не предложил удалить объединенные файлы с этим модом, значит, обновление на них не повлияло.
Учебные видео (Script Merger: Азы):
В этом видео показаны некоторые азы KDiff3.
Это видео заводит уже дальше в дебри.
Пример использования:
Мод 1 - modFOVTweak8070
- content\scripts\game\player\r4Player.ws
Мод 2 - modManualCam
- content\scripts\game\cameras\combat\customCamera.ws
- content\scripts\game\player\playerInput.ws
- content\scripts\game\player\r4player.ws
Мод 3 - modNoWitcherSense
- content\scripts\game\player\r4Player.ws
Если вам удалось успешно объединить все три версии r4Player.ws, то Script Merger, по умолчанию, переместит объединенный скрипт сюда:
Новый мод - mod0000_MergedFiles
- content\scripts\game\player\r4Player.ws
Новая директория начинается с "0000_", чтобы игра загружала её раньше остальных. (В3 загружается в порядке ASCII) Так как объединенная версия r4Player.ws загружается первой, не объединенные версии просто игнорируются игрой.
Удаление:
- Чтобы удалить все объединенные файлы и вернуть моды к их первозданному виду - удалите директорию с объединенными модами (mod0000_MergedFiles в версии 0.5, mod__MergedScripts в версии 0.4.3).
- Чтобы полностью удалить Script Merger с вашего компьютера - удалите файлы, которые были в загруженном архиве и генерируемый файл MergeInventory.xml, если такой имеется.