Diese Anleitung zeigt Ihnen die Schritte zum Modifizieren von Noble Fates. Wir werden das richtige Setup abdecken, Ihren ersten Mod erstellen, die Quellcodeverwaltung und mehr.
Diese Anleitung geht davon aus, dass Sie bereits das NF-Benutzerecho zum Modding gelesen haben. Gelegen hier.
Ich werde versuchen, Wiederholungen auf ein Minimum zu beschränken. Wenn es eine Referenz für etwas gibt, wird es verlinkt, anstatt es noch einmal zu erklären.
Einrichten
Es wird empfohlen, zu verwenden Visual Studio Code. Ich habe eine Erweiterung für octdats erstellt, um beim Modden zu helfen. Sie können NF OctDat in VSC durchsuchen, um es zu erhalten. Alternative Verlinkung hier.
Gehen Sie zu Noble Fates in Steam. Rechtsklick > Noble Fates > Eigenschaften > Betas > Entwicklung
Der Entwicklungszweig unterstützt zwei Befehlszeilenoptionen. Kombiniere beides, um sofort mit dem Spielen zu beginnen.
- „-skipmenu“ überspringt das Hauptmenü und springt direkt zu einem neuen Spiel.
- „-skipintro“ überspringt das Intro und bringt Sie ins Spiel.
Öffnen Sie den Spielordner. Erstellen Sie einen „Mods“-Ordner, falls Sie noch keinen haben. Erstellen Sie einen weiteren Ordner für Ihren Mod.
Erstellen Sie eine neue Textdatei und benennen Sie sie in MyMod.octdat um, oder wie auch immer Ihr Mod-Name lautet.
OctMod.info & Preview.png werden erklärt hier. Dies dient zum Hochladen Ihres Mods in den Steam-Workshop. Wenn Sie Ihren Mod nicht hochladen möchten, können Sie diesen Teil überspringen.
Öffnen Sie VSC und richten Sie einen Arbeitsbereich ein. Sie können dies tun, indem Sie die gewünschten Ordner in die Seitenleiste ziehen.
Ich halte hier im Allgemeinen 3 Hauptordner.
- …\Steam\steamapps\common\Noble Fates\Mods\ – Hauptordner für Spielmods
- …\Steam\steamapps\common\Noble Fates\Noble Fates_Data\StreamingAssets\OctDats – Alle Spiele OctDats
- …\NF\MyMods\OctDats – Dies ist mein Git-Repo-Ordner.
Wenn Sie es wie gewünscht einstellen, wählen Sie Datei > Arbeitsbereich speichern unter…
Erstellen Sie Ihren ersten Mod
Öffnen Sie den OctDats-Ordner in Ihrem Arbeitsbereich und navigieren Sie zu Einstellungen > GameSettings.octdat
Hier ist der Schieberegler für die Raid-Chance-Einstellungen des Spiels.
{ id Oct.Settings.Game.RaidChance type SliderSettingDefinition name = Raid Chance order = -900 category = min = 0 max = 2 step = .1 unit = x defaultValue = 1 }
Lassen Sie uns das zuerst ein wenig aufschlüsseln.
Die ID ist für jedes Objekt spezifisch. Wenn Sie einen vorhandenen Wert im Spiel bearbeiten möchten, verwenden Sie dieselbe ID und denselben TYP. Sie müssen nur die Eigenschaft/den Wert hinzufügen, die bzw. den Sie ändern möchten.
Öffnen Sie Ihr octdat und fügen Sie das Folgende ein. Stellen Sie den Wert auf den gewünschten Wert ein.
Speichern Sie die Datei und laden Sie das Spiel.
Um diese Einstellung zu überprüfen, müssen Sie in ein neues oder gespeichertes Spiel laden. Optionen > Spiel
{ id Oct.Settings.Game.RaidChance Typ SliderSettingDefinition max = 5 }
Wir können hier sehen, dass der Mod tatsächlich funktioniert. Herzlichen Glückwunsch!
Quellcodeverwaltung
Wenn Sie damit vertraut sind, überspringen Sie diesen Abschnitt. Andernfalls wird dringend empfohlen, eine Art Quellcodeverwaltung zu verwenden.
Ich persönlich bevorzuge GitLab. Unter Windows verwende ich GitHub Desktop-Software. Es ist eine schöne All-in-One-GUI. Einfach und leicht zu bedienen. Auch dies ist meine Präferenz und Sie können gerne verwenden, was Sie möchten. Auch wenn Sie nur CLI verwenden.
Link zu meiner NF GitLab als Referenz.
Wenn Sie Hilfe benötigen, gibt es im Netz unendlich viele Informationen über Git und Quellcodeverwaltung. Fragt auch gerne im Discord um Hilfe.
Mixer
Exportieren:
- Animation
- Entfernen Sie den Körper/Kopf
- Markieren Sie die neuen Aktionen F (Benutzer erzwingen)
- Töten Sie alle NLA-Strecken
- Meshes
- Wenden Sie Transformationen an
- Export-Einstellungen
- FBX 7.4 binär
- Skala: 01
- Skalierungen anwenden: FBX Alle
- Überprüfen Sie !EXPERIMENTELL! Wenden Sie Transformationen an
- Armaturen
- Deaktivieren Sie Blattknochen hinzufügen
- Primäre Knochenachse: Y
- Sekundäre Knochenachse: -X
- Animation
- Deaktivieren Sie Key All Bones
- Deaktivieren Sie NLA-Streifen
DLL-Mods
In diesem Handbuch wird davon ausgegangen, dass Sie Erfahrung mit C# und der Verwendung von Harmony/Bepin haben. Harmony oder Bepin sind nicht erforderlich.
Ich würde Ihnen empfehlen, sich das Beispiel anzusehen DropsMod.
Einrichten von Visual Studio
Sie müssen herunterladen Visual Studio falls du es noch nicht hast.
Optional: Visual Studio 2017
Stellen Sie sicher, dass die Workload für die .Net-Desktopentwicklung aktiviert ist.
Zum Zeitpunkt des Verfassens dieses Artikels sollten Sie lediglich das .Net Framework 4.7.1 SDK zur Installations-Checkliste hinzufügen müssen.
//.NET-Kategorie .//Code-Tools Kategorie
.Net Framework 4.6.1 SDK ClickOnce-Veröffentlichung
.Net Framework 4.6.1 Targeting Pack Statische Analysetools
.Net Framework 4.7.1 SDK-Textvorlagenumwandlung
.Net Framework 4.7.1 Targeting-Paket
.Net Portable Library-Targeting-Paket .//Entwicklungsaktivitäten Kategorie
C# und Visual Basic
.//Cloud, Datenbank und Serve Cat.
CLR-Datentypen für SQL Server
Datenquellen und Servicereferenzen
.//Compiler, Build-Tools und Laufzeiten Cat.
C#- und Visual Basic Roslyn-Compiler
MSBuild
Erste Schritte
ILSpy & dotpeek sind großartige Tools, um den Code des Spiels anzuzeigen. ILSpy ist selbsterklärend. Die Informationen auf der verlinkten Seite erklären, wie man es benutzt. dotPeek ist ein separates Programm.
Öffnen Sie dotPeek. Datei > Öffnen↓
…\Steam\steamapps\common\Noble Fates\Noble Fates_Data\Managed → Assembly-CSharp.dll
Von hier aus können Sie auf den gesamten Spielcode verweisen.
Im Visual Studio
Starten Sie ein neues Projekt. Nennen Sie es. Framework sollte auf .Net Framework 4.7.1 eingestellt sein
Verweise nach Bedarf hinzufügen oder entfernen.
Referenzen hinzufügen
In meinem Alchemy-Mod habe ich 2 neue Befehle erstellt, um den Alchemy-Job zu begleiten. Im Grunde ist dies eine Kopie von CookItemCommand.cs
Namespace Alchemy { öffentliche Klasse SynthesizeItemCommand : CraftItemCommand { public override string RelevantSkill() => "Alchemy"; public SynthesizeItemCommand(OctSaveInitializer Initializer) : base(Initializer) { } public SynthesizeItemCommand(Actor Owner, WorkbenchPropActor Workbench, ItemRecipe Recipe) : base(Eigentümer, Workbench, Rezept) { } public override string ToString() => this.partial != null ? „Alchemie“ + this.partial.item.type.GetName() : „Alchemie“ + (Objekt)this.recipe; } }
Im octdat wird es wie folgt referenziert: commandType = Alchemy.SynthesizeItemCommand
Nachdem Sie Ihr Projekt erstellt haben, können Sie diese 2 Dateien in Ihren Mod-Ordner ziehen. Das ist alles, was Sie brauchen.
Das ist alles, was wir heute dafür teilen Edle Schicksale führen. Dieses Handbuch wurde ursprünglich erstellt und geschrieben von Satoru. Falls wir dieses Handbuch nicht aktualisieren, finden Sie das neueste Update, indem Sie diesen folgen Link.