Alle veröffentlichten Elemente, einschließlich, aber nicht beschränkt auf: Binärdateien, Quelldateien und Dokumentation, werden unter der AGPL-Lizenz zur Verfügung gestellt, mit der zusätzlichen Bestimmung, dass die veröffentlichten Elemente nicht zur Erstellung abgespaltener oder anderweitig konkurrierender Produkte verwendet werden dürfen. Ein Konkurrenzprodukt wäre eines, das .NET-Code (z. B. C#) zur Laufzeit kompilieren und ausführen kann, um modifizierte Spielressourcen zu erstellen.
Die zusätzliche Bereitstellung kann entfernt werden, sobald das Repository archiviert ist (dh die Entwicklung | Wartung wird gestoppt).
Erfordert die Installation von .NET Desktop Runtime 8.x x64 für Versionen >= 5.00.1.0.
Erfordert die Installation von .NET Desktop Runtime 6.x x64 für Versionen >= als 3.82.1.
Erfordert die Installation von .NET Desktop Runtime 5.x x64 für Versionen bis 3.82.1.
Laden Sie die neueste Version herunter oder wählen Sie eine Version aus und laden Sie das entsprechende NMSModBuilder.7z-Asset herunter.
Es gibt kein Installationsprogramm, entpacken Sie einfach den Inhalt von NMSModBuilder.7z in einen (neuen) Ordner.
GitHub verfügt möglicherweise über Vorabversionen, die nicht auf Nexus hochgeladen wurden. Versionen werden im Allgemeinen als Vorabversion gekennzeichnet, wenn eine erhebliche Menge an Code hinzugefügt oder geändert wurde. Das Vorab-Release-Tag kann entfernt werden, sobald sie über einen längeren Zeitraum verwendet wurden, ohne dass Probleme festgestellt wurden.
Denken Sie beim Aktualisieren daran, alle gebündelten Util-, Query- oder Mod-Skripte, die Sie möglicherweise geändert haben, zu sichern, bevor Sie sie mit denen einer neueren Version überschreiben.
NMSMB sollte laufen können, ohne dass der Benutzer irgendwelche Konfigurationsänderungen vornehmen muss.
Möglicherweise müssen Sie die enthaltene libmbin.dll durch die Datei ersetzen, die für die Spielversion erforderlich ist, die Sie laden möchten.
Wenn NMSMB startet, lädt es die libMBIN.dll im NMSMB-Ordner. Es wird für die meisten Recherche-Registerkarten verwendet, um die Inhalte verschiedener Mbins, z. B. Sprachen, anzuzeigen. Es wird auch von den Skripten verwendet, wenn sie Mbins extrahieren oder erstellen. Daher muss die Version der libMBIN.dll im NMSMB-Ordner mit der Version übereinstimmen, die für die Spielversion erforderlich ist, die Sie modifizieren möchten. In der Datei cmkNMSReleases.txt ist aufgeführt, welche libMBIN.dll-Version für jede Spielversion erforderlich ist.
Wenn Sie mehrere Spielinstanzen modifizieren möchten, für die jeweils eine andere libMBIN.dll-Version erforderlich ist, besteht die einfachste Möglichkeit darin, für jede Spielinstanz einen NMSMB-Installationsordner mit der entsprechenden libMBIN.dll-Version zu erstellen. Andernfalls müssen Sie manuell sicherstellen, dass sich die richtige libMBIN.dll-Version im NMSMB-Ordner befindet, bevor Sie eine bestimmte Spielinstanz modifizieren.
Die App lädt möglicherweise andere Versionen von libmbin herunter, z. B. libmbin_3.9.0.1.dll. Sie werden NUR beim Dekompilieren von MBins verwendet. Sie werden NICHT beim Starten der App, zum Laden der Recherche-Registerkarten oder beim Kompilieren|Ausführen von Skripten verwendet.
Eine bestimmte NMSMB-Version kann nur die libmbin.dll-Version aktualisieren. Beispielsweise wird NMSMB Version 4.0.0.0 mit libmbin 4.0.0.2 geliefert. Sie können nur versuchen, die enthaltene libmbin durch neuere Versionen wie 4.0.0.3 zu ersetzen. Ältere Versionen wie 4.0.0.1 können Sie nicht verwenden. Wenn Ihre Spielversion eine ältere Libmin benötigt, müssen Sie eine ältere NMSMB-Version verwenden, die diese unterstützt. Schauen Sie im NMSMB change.log nach, welche libmbin-Version in jeder NMSMB-Version enthalten ist, oder überprüfen Sie einfach die libmbin in der Download-Datei.
no_github
Verhindern Sie, dass NMSMB eine Verbindung zu GitHub herstellt.
Standardmäßig stellt NMSMB eine Verbindung zu GitHub her, um Folgendes abzurufen:
no_registry
Verhindern Sie, dass NMSMB den Fensterstatus beim Schließen in der Registrierung speichert und ihn beim Start aus der Registrierung wiederherstellt.
NMSMB speichert den Fensterstatus in HKCUSOFTWAREcmkushnirNMSMBWindows .
Der Benutzer ist für das Löschen der Registrierungsinformationen verantwortlich, wenn er NMSMB entfernt. Es gibt kein Deinstallationsprogramm. Beachten Sie, dass bei Verwendung mehrerer NMSMB-Kopien alle denselben Registrierungsschlüssel verwenden.
p"path"
Fügen Sie der Symbolleiste einen einzelnen Spielort hinzu. Links neben den Schaltflächen „GoG“, „Steam“ und „Auswählen“ wird eine Schaltfläche hinzugefügt.
r#.#.#
Erzwingen Sie die Spielfreigabe für die p
-Spielinstanz. Wird nur verwendet, wenn auch p
angegeben ist. Wird ignoriert, wenn v
angegeben ist.
v#.#.#.#
Erzwingen Sie die MBINC-Version für die p
-Spielinstanz. Wird nur verwendet, wenn auch p
angegeben ist. Überschreibt r
.
lg
, ls
, lx
oder lp
Versuchen Sie, eine Spielinstanz beim Start automatisch zu laden (GoG, Steam, Xbox Game Pass oder p
-Standort).
Wenn
p
angegeben ist, aber wederr
nochv
angegeben sind, wird das Erstellungsdatum von NMS.exe in cmkNMSReleases.txt gesucht, um die Version zu bestimmen.
Die .editorconfig-Datei im NMSMB-Ordner wird von der Symbolleistenschaltfläche „Format“ des Skripts verwendet, um Dinge wie Einrückung und Abstand zu steuern.
Die Datei cmkNMSReleases.txt im NMSMB-Ordner bindet Spielveröffentlichungen an MBINCompiler | libMBIN-Versionen. Es wird im Allgemeinen aktualisiert, wenn neue Spielveröffentlichungen und/oder MBINCompiler | libMBIN-Versionen sind veröffentlicht | installiert.
NMSMB führt beim Start automatisch die Einträge aus der lokalen Datei mit den neuesten Einträgen aus der GitHub-Datei zusammen, sofern nicht die Befehlszeilenoption no_github angegeben ist. Das bedeutet, dass der Benutzer diese Datei im Allgemeinen nicht bearbeiten muss, solange die GitHub-Datei auf dem neuesten Stand gehalten wird.
Das Erstellungsdatum von NMS.exe für eine bestimmte Spielversion kann für jede Plattform unterschiedlich sein, einschließlich GoG vs. Steam. Das Erstellungsdatum von NMS.exe kann einige Tage vor dem offiziellen Veröffentlichungsdatum liegen. Die Erstellungsdaten von cmkNMSReleases.txt sollten mit den Erstellungsdaten von Steam NMS.exe übereinstimmen.
Sie können nur Mods für Spielveröffentlichungen erstellen, die von der libMBIN.dll-Version im NMSMB-Ordner unterstützt werden, wie in cmkNMSReleases.txt angegeben.
Eine Plugin-DLL ist eine .NET-Kern-DLL, die einfach auf cmkNMSCommon.dll und cmkNMSModBuilder.exe verweist und über eine von cmk.NMS.ModBuilder.Plugin abgeleitete Klasse verfügt. Wenn NMSMB startet, werden alle ./Plugins/*.dll-Dateien geladen. Für jede DLL erstellt es eine Instanz der ersten cmk.NMS.ModBuilder.Plugin-abgeleiteten Klasse, die es findet, und ruft deren Load()-Methode auf. Wenn NMSMB geschlossen wird, ruft es die Unload()-Methode für alle Plugin-Instanzen auf.
Plugins können für Dinge verwendet werden wie:
Siehe: Plugins/Sample/ im Repository.
Führen Sie cmkNMSModBuilder.exe mit beliebigen Befehlszeilenoptionen aus, z. B.:
X:GamesNMSToolsNMSModBuilder>cmkNMSModBuilder.exe p"G:GamesNo Man's Sky" lp
Beim Start von NMSMB kann es 1–3 Sekunden dauern, bis das Fenster angezeigt wird. Während dieser Zeit lädt und verknüpft NMSMB alle Enumerationen, Klassen und Felder aus der libMBIN.dll im NMSMB-Ordner, sucht nach installierten GoG-, Steam- und Xbox Game Pass-Spielinstanzen und lädt alle ./Plugins/*.dll-Dateien. ... .
Standardprotokollfenster und NMSMB-Status-Umschaltschaltflächen.
Alle Aufzählungen, Strukturen und Felder aus der verknüpften libMBIN.dll.
Strukturen der obersten Ebene verfügen über Links zu MBins, die sie verwenden.
Kann angezeigte Elemente mithilfe von Platzhalter- oder Regex-Mustern filtern.
Konsolidierte und sortierte Liste aller ID-Text-Paare für die ausgewählte Sprache.
Die ausgewählte Sprache wird verwendet, um Text in allen Registerkarten anzuzeigen, die eine Sprach-ID verwenden.
Kann angezeigte Elemente mithilfe von Platzhalter- oder Regex-Mustern filtern.
Listen Sie Elemente aus den entsprechenden METADATA/REALITY/TABLES/*.MBIN
auf.
Für jedes Element werden Symbol, IDs, Text, Beschreibung und Anforderungen angezeigt.
Kann angezeigte Elemente mithilfe von Platzhalter- oder Regex-Mustern filtern.
Listen Sie Elemente aus METADATA/REALITY/TABLES/NMS_REALITY_GCRECIPETABLE.MBIN
auf.
Für jedes Element werden Symbole, IDs, Text, Beschreibung und Anforderungen angezeigt.
Kann angezeigte Elemente mithilfe von Platzhalter- oder Regex-Mustern filtern.
Verwenden Sie Platzhalter- oder Regex-Muster, um alle Artikelpfade in Spiel- oder Mod-Pak-Dateien zu durchsuchen.
Verwenden Sie Platzhalter- oder Regex-Muster, um alle *.dds-Pfade in Spiel- oder Mod-Pak-Dateien zu durchsuchen.
Für jedes Ergebnis wird ein Miniaturbild angezeigt.
Verwenden Sie Platzhalter- oder Regex-Muster, um nach Elementen in Spiel- oder Mod-Pak-Dateien zu suchen, die als Text dargestellt werden können.
Optional können Sie mbin-Text zwischenspeichern, um nachfolgende Suchvorgänge erheblich zu beschleunigen.
Wird nur angezeigt, wenn Konflikte erkannt werden.
NMSMB überwacht den ausgewählten Spielordner GAMEDATA/PCBANKS/MODS/
auf *.pak und fügt | hinzu löscht | Änderungen. Immer wenn eine Änderung erkannt wird, prüft es erneut, ob Konflikte vorliegen, und zeigt die Registerkarte an, falls welche gefunden wird. Andernfalls wird die Registerkarte ausgeblendet.
Elemente in Spiel- oder Mod-Pak-Dateien anzeigen. Kann Elemente auf der Festplatte speichern.
Spezialisierte Viewer und Diff-Viewer für gängige Elementtypen, z. B. mbin, dds, spv, txt, ... .
Erstellen, bearbeiten und kompilieren Sie C#-Skripte, die von Abfrage- und Mod-Skripten verwendet werden können.
Erstellen, bearbeiten, kompilieren und führen Sie C#-Skripte aus, die Daten aus Spiel- und Mod-Pak-Dateien abfragen können.
Erstellen, bearbeiten und kompilieren Sie C#-Skripte, die modifizierte Kopien des Spiels und installierter Mod-Pak-Dateien erstellen.
Führen Sie Mod-Skriptobjekte aus und verwenden Sie die resultierenden geänderten Elemente, um neue Mod-Pak-Dateien zu erstellen.
Wird nur angezeigt, wenn ein gültiger p
-Befehlszeilenpfad angegeben ist.
Überprüft die Registrierung auf HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeGOG.comGames1446213994
.
Der Registrierungsschlüssel enthält den Installationspfad und die Spielversion.
Durchsucht alle Installationsorte von Steam-Spielen nach appmanifest_275850.acf
.
Das Manifest enthält den Installationspfad und die Spielversion von cmkNMSReleases.txt basierend auf dem Erstellungsdatum von NMS.exe.
Verwendet den Windows-Paketmanager, um nach der Paket-ID HelloGames.NoMansSky
zu suchen.
Das Paket enthält sowohl den Installationspfad als auch die Spielversion.
Wenn Sie einen gültigen Spielpfad auswählen, werden das Erstellungsdatum von NMS.exe und die entsprechende Spielversion aus cmkNMSReleases.txt angezeigt. Der Benutzer kann die Spielversion überschreiben.
https://github.com/cmkushnir/NMSModBuilder
Hinweis: Von Benutzern bereitgestellte Skripte und Dokumente finden Sie unter:
https://github.com/cmkushnir/NMSModBuilderContrib
Begrüßungsbildschirm und Links zu Abhängigkeiten anzeigen.
Die Version des im NMSMB-Ordner geladenen Links libMBIN.dll bestimmt, welche Spielversionen modifiziert werden können. Es steuert nicht, welche Mbin-Versionen angezeigt werden können. NMSMB fordert Sie auf, die entsprechende libMBIN.dll herunterzuladen, die es benötigt, um bei Bedarf eine bestimmte Mbin anzuzeigen.
Das Erstellungsdatum ist in NMS.exe gespeichert, daher muss die Datei lesbar sein.
Xbox Game Pass NMS.exe kann standardmäßig nicht gelesen werden, das Datum stammt aus cmkNMSReleases.txt basierend auf der Spielveröffentlichung.
Minimieren Sie das NMSMB-Fenster und starten Sie die ausgewählte NMS.exe in einem neuen Prozess.
Durch Klicken auf diese Schaltfläche wird GitHub nach der neuesten Version abgefragt. Der Benutzer wird aufgefordert, NMSModBuilder.7z herunterzuladen, wenn eine neuere Version verfügbar ist.
Wie libMBIN.dll versucht auch NMSMB nicht, abwärtskompatibel zu sein, daher werden möglicherweise nur libMBIN.dll-Versionen, die ungefähr zur gleichen Zeit wie die jeweilige NMSMB-Version veröffentlicht wurden, für das Modding unterstützt, d. h. frühere und spätere libMBIN.dll-Versionen können einige Klassen direkt ändern Wird von NMSMB verwendet (NMSString*, Methoden-Namespaces und Signaturen serialisieren, Sprache, Substanz, Produkt, Technologie, Rezept-MBins).
NMSMB kann Sie in zwei Fällen auffordern, eine Datei herunterzuladen:
https://github.com/cmkushnir/NMSModBuilderContrib
Benutzerbeiträge, z. B. Skripte, Plugins, Dokumente, ...
https://github.com/monkeyman192/MBINCompiler
Dekompilieren Sie *.mbin-Elemente und kompilieren Sie sie erneut nach | aus In-Memory-Dom und Text.
https://github.com/dotnet/roslyn
Microsoft .NET-Compiler, der zum Kompilieren von C#-Skripten verwendet wird.
https://github.com/icsharpcode/AvalonEdit
Elemente anzeigen und bearbeiten, die in Text umgewandelt werden können.
https://github.com/nickbabcock/Pfim
Konvertieren Sie *.dds zur Anzeige in Bitmaps.
https://github.com/KhronosGroup/SPIRV-Cross
Konvertieren Sie *.spv in | aus GLSL-Text.
https://github.com/mellinoe/veldrid-spirv
Konvertieren Sie *.spv in | aus GLSL-Text.
https://github.com/mmanela/diffplex
Bestimmen Sie Unterschiede zwischen Textelementen.
https://github.com/octokit/octokit.net
Fragen Sie GitHub nach Versionsinformationen ab.
https://github.com/MiloszKrajewski/K4os.Compression.LZ4
HGPAK-Pak-Dateien dekomprimieren/komprimieren (MacOS).
https://github.com/ClosedXML/ClosedXML
Export in eine Excel-XLSX-Datei.