Все выпущенные элементы, включая, помимо прочего: двоичные файлы, исходные файлы, документацию, предоставляются по лицензии AGPL с дополнительным условием, что выпущенные элементы не могут использоваться для создания разветвленных или иным образом конкурирующих продуктов. Конкурирующим продуктом будет тот, который сможет компилировать и выполнять код .NET (например, C#) во время выполнения для создания модифицированных игровых ресурсов.
Дополнительное положение может быть удалено после того, как Репозиторий будет заархивирован (т. е. прекращена разработка | обслуживание).
Требуется установка .NET Desktop Runtime 8.x x64 для версий >= 5.00.1.0.
Требуется установка .NET Desktop Runtime 6.x x64 для версий >= 3.82.1.
Требуется установка .NET Desktop Runtime 5.x x64 для версий до 3.82.1.
Загрузите последнюю версию или выберите версию и загрузите соответствующий ресурс NMSModBuilder.7z.
Установщика нет, просто разархивируйте содержимое NMSModBuilder.7z в (новую) папку.
На GitHub могут быть предварительные версии, не загруженные на Nexus. Версии обычно помечаются как предварительные, если в них было добавлено или изменено значительное количество кода. Тег предварительных выпусков можно удалить, если они использовались в течение определенного периода времени без каких-либо проблем.
При обновлении не забудьте сделать резервную копию всех связанных сценариев Util, Query или Mod, которые вы могли изменить, прежде чем перезаписывать их сценариями из более новой версии.
NMSMB должен иметь возможность работать без необходимости внесения пользователем каких-либо изменений в конфигурацию.
Возможно, вам придется заменить включенный в комплект libmbin.dll файлом, необходимым для версии игры, которую вы хотите загрузить.
При запуске NMSMB загружается libMBIN.dll в папку NMSMB. Он использует его для большинства исследовательских вкладок, для отображения содержимого различных mbin, например, языков. Он также используется сценариями при извлечении или создании mbin. Таким образом, версия libMBIN.dll в папке NMSMB должна соответствовать версии игры, которую вы хотите модифицировать. В файле cmkNMSReleases.txt указано, какая версия libMBIN.dll необходима для каждого выпуска игры.
Если у вас есть несколько экземпляров игры, которые вы хотите модифицировать, и для каждого из них требуется отдельная версия libMBIN.dll, самый простой вариант — создать папку установки NMSMB для каждого экземпляра игры, каждый из которых содержит соответствующую версию libMBIN.dll; в противном случае вам придется вручную убедиться, что правильная версия libMBIN.dll находится в папке NMSMB, прежде чем модифицировать данный экземпляр игры.
Приложение может загружать другие версии libmbin, например libmbin_3.9.0.1.dll. Они используются ТОЛЬКО при декомпиляции mbin. Они НЕ используются при запуске приложения, для загрузки вкладок исследований или при компиляции|запуске скриптов.
Данная версия NMSMB может выполнять только повтор версии libmbin.dll. Например, NMSMB версии 4.0.0.0 поставляется с libmbin 4.0.0.2, вы можете только попытаться заменить включенный libmbin более новыми версиями, такими как 4.0.0.3, вы не можете использовать более старые версии, такие как 4.0.0.1. Если для вашей версии игры требуется более старая версия libmin, вам необходимо использовать более старую версию NMSMB, которая ее поддерживает. Посмотрите в журнале изменений NMSMB, чтобы узнать, какая версия libmbin включена в каждую версию NMSMB, или просто проверьте libmbin в загружаемом файле.
no_github
Запретите NMSMB подключаться к GitHub.
По умолчанию NMSMB подключится к GitHub, чтобы получить:
no_registry
Запретить NMSMB сохранять состояние окна в реестре при его закрытии и восстанавливать его из реестра при запуске.
NMSMB хранит состояние окна в HKCUSOFTWAREcmkushnirNMSMBWindows .
Пользователь несет ответственность за удаление информации реестра, если он удаляет NMSMB, программы удаления нет. Обратите внимание: если вы используете несколько копий NMSMB, все они используют один и тот же ключ реестра.
p"path"
Добавьте одну игровую локацию на панель инструментов. Кнопка будет добавлена слева от кнопок GoG, Steam, Select.
r#.#.#
Принудительно выпустите игру для экземпляра игры p
. Используется только в том случае, если также указан p
. Игнорируется, если указан v
.
v#.#.#.#
Принудительно установите версию MBINC для экземпляра игры p
. Используется только в том случае, если также указан p
. Переопределяет r
.
lg
, ls
, lx
или lp
Попробуйте автоматически загрузить экземпляр игры при запуске (GoG, Steam, Xbox Game Pass или p
location).
Если указан
p
но не указаны ниr
, ниv
, то для определения выпуска будет найдена дата сборки NMS.exe в cmkNMSReleases.txt.
Файл .editorconfig в папке NMSMB используется кнопкой панели инструментов «Формат» сценария для управления такими параметрами, как отступы и интервалы.
Файл cmkNMSReleases.txt в папке NMSMB привязывает выпуски игр к MBINCompiler | версии libMBIN. Обычно он обновляется при выпуске новых игр и|или MBINCompiler | Выпущены версии libMBIN | установлен.
NMSMB автоматически объединит записи из локального файла с последними записями из файла GitHub при запуске, если не указан параметр командной строки no_github . Это означает, что пользователю обычно не нужно редактировать этот файл, пока файл GitHub постоянно обновляется.
Дата сборки NMS.exe для конкретного выпуска игры может быть разной для каждой платформы, включая GoG и Steam. Дата сборки NMS.exe может быть на пару дней раньше официальной даты выпуска. Даты сборки cmkNMSReleases.txt должны соответствовать датам сборки Steam NMS.exe.
Вы сможете создавать моды только для выпусков игр, поддерживаемых версией libMBIN.dll, в папке NMSMB, как указано в cmkNMSReleases.txt.
Библиотека плагина — это базовая библиотека .NET, которая просто ссылается на cmkNMSCommon.dll и cmkNMSModBuilder.exe и имеет класс, производный от cmk.NMS.ModBuilder.Plugin. При запуске NMSMB загружаются все файлы ./Plugins/*.dll. Для каждой dll он создаст экземпляр первого найденного производного класса cmk.NMS.ModBuilder.Plugin и вызовет его метод Load(). Когда NMSMB закроется, он вызовет метод Unload() для всех экземпляров плагина.
Плагины можно использовать для таких вещей, как:
См.: Плагины/Пример/ в репозитории.
Запустите cmkNMSModBuilder.exe с любыми желаемыми параметрами командной строки, например:
X:GamesNMSToolsNMSModBuilder>cmkNMSModBuilder.exe p"G:GamesNo Man's Sky" lp
При запуске NMSMB может пройти 1–3 секунды, прежде чем отобразится окно. В это время NMSMB загружает и связывает все перечисления, классы и поля из libMBIN.dll в папке NMSMB, ищет установленные экземпляры игр GoG, Steam и Xbox Game Pass, загружает любые файлы ./Plugins/*.dll, ... .
Окно журнала по умолчанию и кнопки переключения состояния NMSMB.
Все перечисления, структуры и поля из связанной библиотеки libMBIN.dll.
Структуры верхнего уровня имеют ссылки на mbin, которые их используют.
Можно фильтровать отображаемые элементы, используя подстановочный знак или шаблон регулярного выражения.
Консолидированный и отсортированный список всех пар идентификатор-текст для выбранного языка.
Выбранный язык используется для отображения текста на всех вкладках, использующих идентификатор языка.
Можно фильтровать отображаемые элементы, используя подстановочный знак или шаблон регулярного выражения.
Список элементов из соответствующих METADATA/REALITY/TABLES/*.MBIN
.
Для каждого элемента отображается значок, идентификаторы, текст, описание, требования.
Можно фильтровать отображаемые элементы, используя подстановочный знак или шаблон регулярного выражения.
Список элементов из METADATA/REALITY/TABLES/NMS_REALITY_GCRECIPETABLE.MBIN
.
Для каждого элемента отображаются значки, идентификаторы, текст, описание, требования.
Можно фильтровать отображаемые элементы, используя подстановочный знак или шаблон регулярного выражения.
Используйте шаблон подстановочного знака или регулярное выражение для поиска по всем путям к элементам в файлах игры или пакета модов.
Используйте подстановочный знак или шаблон регулярного выражения для поиска по всем путям *.dds в файлах игры или пакета модов.
Миниатюрное изображение отображается для каждого результата.
Используйте подстановочный знак или шаблон регулярного выражения для поиска элементов в файлах игры или пакета модов, которые могут быть представлены в виде текста.
Опционально кэшируйте текст mbin, чтобы значительно ускорить последующие поиски.
Отображается только в случае обнаружения конфликтов.
NMSMB наблюдает за выбранной игрой папкой GAMEDATA/PCBANKS/MODS/
для *.pak добавляет | удаляет | изменения. Всякий раз при обнаружении изменения он повторно проверяет наличие конфликтов и отображает вкладку, если таковая имеется, в противном случае вкладка скрывается.
Просмотр предметов в файлах игры или мод-пака. Можно сохранять элементы на диск.
Специализированные программы просмотра и программы просмотра различий для распространенных типов элементов, например mbin, dds, spv, txt, ... .
Создавайте, редактируйте и компилируйте сценарии C#, которые могут использоваться сценариями запросов и модификаций.
Создавайте, редактируйте, компилируйте и выполняйте сценарии C#, которые могут запрашивать данные из файлов игры и мод-паков.
Создавайте, редактируйте и компилируйте сценарии C#, которые создают модифицированные копии игры и установленные файлы мод-пака.
Выполнять объекты сценария Mod, использовать полученные измененные элементы для создания новых файлов mod pak.
Отображается только в том случае, если указан действительный путь командной строки p
.
Проверяет реестр на наличие HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeGOG.comGames1446213994
.
Ключ реестра содержит путь установки и версию игры.
Ищет во всех местах установки игр Steam файл appmanifest_275850.acf
.
Манифест содержит путь установки и версию игры из cmkNMSReleases.txt на основе даты сборки NMS.exe.
Использует диспетчер пакетов Windows для поиска идентификатора пакета HelloGames.NoMansSky
.
Пакет содержит путь установки и версию игры.
При выборе допустимого пути к игре будет отображена дата сборки NMS.exe и соответствующий выпуск игры из cmkNMSReleases.txt. Пользователь может отменить выпуск игры.
https://github.com/cmkushnir/NMSModBuilder
Примечание. Сценарии и документы, предоставленные пользователями, можно найти по адресу:
https://github.com/cmkushnir/NMSModBuilderContrib
Отобразить заставку и ссылки на зависимости.
Версия ссылки, загружающей libMBIN.dll в папку NMSMB, определяет, какие версии игр можно модифицировать. Он не контролирует, какие версии mbin можно просматривать, NMSMB предложит загрузить соответствующий libMBIN.dll, необходимый для просмотра данного mbin по мере необходимости.
Дата сборки хранится в NMS.exe, поэтому файл должен быть доступен для чтения.
Xbox Game Pass NMS.exe не может быть прочитан по умолчанию, дата взята из cmkNMSReleases.txt в зависимости от выпуска игры.
Сверните окно NMSMB и запустите выбранный NMS.exe в новом процессе.
Нажатие этой кнопки приведет к запросу GitHub последней версии. Пользователю будет предложено загрузить NMSModBuilder.7z, если доступна более новая версия.
Как и libMBIN.dll, NMSMB не пытается быть обратно совместимым, поэтому только версии libMBIN.dll, выпущенные примерно в то же время, что и данная версия NMSMB, могут поддерживаться для моддинга, т.е. более ранние и более поздние версии libMBIN.dll могут изменять некоторые классы, которые напрямую используется NMSMB (NMSString*, методы сериализации, пространства имен и сигнатуры, язык, вещество, продукт, технология, рецепты mbin).
NMSMB может предложить вам загрузить файл в двух случаях:
https://github.com/cmkushnir/NMSModBuilderContrib
Вклад пользователей, например сценарии, плагины, документы и т. д.
https://github.com/monkeyman192/MBINCompiler
Декомпилируйте и перекомпилируйте элементы *.mbin в | из внутренней памяти и текста.
https://github.com/dotnet/roslyn
Компилятор Microsoft .NET, используемый для компиляции сценариев C#.
https://github.com/icsharpcode/AvalonEdit
Просматривайте и редактируйте элементы, которые можно преобразовать в текст.
https://github.com/nickbabcock/Pfim
Преобразуйте *.dds в растровые изображения для просмотра.
https://github.com/KhronosGroup/SPIRV-Cross
Преобразовать *.spv в | из текста glsl.
https://github.com/mellinoe/veldrid-spirv
Преобразовать *.spv в | из текста glsl.
https://github.com/mmanela/diffplex
Определить различия между текстовыми элементами.
https://github.com/octokit/octokit.net
Запросите GitHub для получения информации о выпуске.
https://github.com/MiloszKrajewski/K4os.Compression.LZ4
Распаковать|сжать файлы HGPAK pak (MacOS).
https://github.com/ClosedXML/ClosedXML
Экспорт в файл Excel .xlsx.