Quantenirrwisch
02.09.2024, 00:59
Hallo Liebe Community,
ich habe heute angefangen eine Mod zu spielen, in der ich einen Weg , und dachte mir, um irgendwie in das Thema Modding reinzukommen, wäre es eine gute Idee, als kleineres Projekt einfach eine Konstante zu verändern.
Um garnicht um den heißen Brei herumzureden: Ich würde gerne die Manakosten (const int MagParade_Cost) der Magie-Parade in der aktuellen Gothic 2 Nostalgic Edition (3.1.8) für meinen eigenen Spielspaß etwas anpassen.
Mir ist klar, dass es an sich erstmal nicht so cool ist, in der Arbeit anderer Leute rumzupfuschen, allerdings ist Falugify wie ich es verstanden habe nicht mehr im Forum, und ich hab auch sonst keine Möglichkeit gesehen, ihn zu kontaktieren.
Da ich die Veränderung nur für meinen eigenen Spielspaß und als kleines Einstiegsmodprojekt machen möchte, denke ich zwar, dass es in Ordnung ist (mir einen Ninja-Patch zu installieren, ist nichts anderes), aber schreibt mir auch gerne, wenn ihr das anders seht.
Ich markiere im folgenden Text alle Stellen, an denen ich eine Frage habe mit einem :dnuhr:, und schreibe super ausführlich, weil ich gerne dokumentieren möchte, was ich schon alles gemacht habe, und welche Tools ich verwendet habe, sodass es für nachlesende Nachvollziehbar ist.
Als erstes hab ich versucht, die Konstante einfach mit dem GVE (https://www.worldofgothic.de/dl/download_388.htm) beziehungsweise dem GSE (https://www.worldofgothic.de/dl/download_628.htm) zu ändern, das war allerdings nicht möglich, weil die erwähnte Konstante eben eine KONSTANTE ist, und in diesen Editoren garnicht auftaucht.
Nächster Versuch: Dieser Thread (https://forum.worldofplayers.de/forum/threads/1566286-Selbstst%C3%A4ndig-Lernpunkte-pro-Level-anpassen-m%C3%B6glich) schlägt vor,
(Dateien der Mod entpacken, dekompilieren, Änderungen im Code durchführen, wieder kompilieren) Das hängt dann ein bisschen davon ab, wie komplex die Mod ist, ob das fehlerfrei klappt. Ich nehme einfach mal an, dass das nun die einfachste Möglichkeit ist, zu erreichen, was ich möchte - Stimmt das :dnuhr:1?
Also ich als nächstes mit gothicvdfs (https://wiki.worldofgothic.de/doku.php?id=gothicvdfs) die .vdfs Datei der Mod entpackt, und die Gothic.dat mit DecDat (https://forum.worldofplayers.de/forum/threads/1151032-Tool-DecDat) dekompiliert.
Ich bin mir nicht sicher, ob nicht bereits hier Fehler passiert sind, denn:
DecDat hat Fehler bei Conditional Statements:....
weißt da jemand was zu :dnuhr:2?
Die Export funktion von DecDat schreibt mir den Code dann in Dateien, abhängig davon, was ich in der Exportdefinition angegeben habe - Der Code ist also equivalent zum Orginal-Code, aber nicht in denselben Dateien drinnen -verstehe ich das richtig? Ich gehe davon aus, dass das beim erneuten Compilieren keine Rolle spielt - Stimmt das?:dnuhr:3
Um zu Modden habe ich mir ein zweites Gothic Verzeichnis gemacht (einfach das alte kopiert), in das ich dann das Mod-Kit (https://www.worldofgothic.de/dl/download_94.htm) und den Patch v2.6a (https://www.worldofgothic.de/dl/download_99.htm) installiert habe (falls es ein besseres Standartisiertes Vorgehen gibt, sagt es mir gerne :dnuhr:4).
Um die Dateien zu kompilieren hab ich dann den Gothic Sourcer 2.4 (https://www.worldofgothic.de/dl/download_234.htm) in mein Gothic Verzeichnis kopiert (ich habe hier (https://wiki.worldofgothic.de/doku.php?id=gothicsourcer) gelesen, dass er so verwendet wird.
Ich habe dann alle Dateien im _Work/Data/Scripts/Content Ordner gelöscht, mit meinen Dateien ersetzt, eine Gothic.src geschrieben, die auf eben jene Dateien zeigt, und versucht, mit dem Gothic Sourcer zu kompilieren - dabei passiert aber nichts.
Gleichzeitig legt dieser Thread zum Gothic Sourcer (https://forum.worldofplayers.de/forum/threads/1616823-Gothic-Sourcer?highlight=Gothic+Sourcer) nahe, dass es garnicht so einfach ist, Dateien zu kompilieren und dekompilieren, wenn Lego oder Ikarus verwendet werden. Ich habe zwar DecDat und nicht den Sourcer verwendet, allerdings hab ich beim Kompilieren ja wieder dasselbe Problem. Wenn ich jetzt also Quellcode habe, der Ikarus und Lego funktionen verwendet, dann muss ich dafür auch erstmal Lego und Ikarus ans laufen kriegen - Stimmt das :dnuhr:5?
Prinzipiell muss ich "nur" den neuen Code zu einer Gothic.dat kompilieren und die wieder verpacken - Aber kann ich die Gothic.src unabhängig von den anderen *.src einzeln zu einer Gothic.dat kompilieren (Ich bin naiv davon ausgegangen, dass ja) :dnuhr:6?
Da es jetzt alles nach sehr viel Aufwand klingt - mache ich mir das Leben unnötig schwer, und kann auch viel einfacherer erreichen, was ich möchte? Eine vorgeschlagene Alternative ist:
Theoretisch könnte die einfachste Methode sein, einen Patch (mit Ninja) zu erstellen, der periodisch den Wert von LP_PER_LEVEL setzt (z.B. in der .ini eingestellt), sofern diese Variable im Spiel / in der Mod existiert. Das ginge dann auch, wenn es Konstanten anstatt von Variablen sind, solange die genau diesen Namen haben[...]
Aber wäre das wirklich einfacher :dnuhr:7?
ich habe heute angefangen eine Mod zu spielen, in der ich einen Weg , und dachte mir, um irgendwie in das Thema Modding reinzukommen, wäre es eine gute Idee, als kleineres Projekt einfach eine Konstante zu verändern.
Um garnicht um den heißen Brei herumzureden: Ich würde gerne die Manakosten (const int MagParade_Cost) der Magie-Parade in der aktuellen Gothic 2 Nostalgic Edition (3.1.8) für meinen eigenen Spielspaß etwas anpassen.
Mir ist klar, dass es an sich erstmal nicht so cool ist, in der Arbeit anderer Leute rumzupfuschen, allerdings ist Falugify wie ich es verstanden habe nicht mehr im Forum, und ich hab auch sonst keine Möglichkeit gesehen, ihn zu kontaktieren.
Da ich die Veränderung nur für meinen eigenen Spielspaß und als kleines Einstiegsmodprojekt machen möchte, denke ich zwar, dass es in Ordnung ist (mir einen Ninja-Patch zu installieren, ist nichts anderes), aber schreibt mir auch gerne, wenn ihr das anders seht.
Ich markiere im folgenden Text alle Stellen, an denen ich eine Frage habe mit einem :dnuhr:, und schreibe super ausführlich, weil ich gerne dokumentieren möchte, was ich schon alles gemacht habe, und welche Tools ich verwendet habe, sodass es für nachlesende Nachvollziehbar ist.
Als erstes hab ich versucht, die Konstante einfach mit dem GVE (https://www.worldofgothic.de/dl/download_388.htm) beziehungsweise dem GSE (https://www.worldofgothic.de/dl/download_628.htm) zu ändern, das war allerdings nicht möglich, weil die erwähnte Konstante eben eine KONSTANTE ist, und in diesen Editoren garnicht auftaucht.
Nächster Versuch: Dieser Thread (https://forum.worldofplayers.de/forum/threads/1566286-Selbstst%C3%A4ndig-Lernpunkte-pro-Level-anpassen-m%C3%B6glich) schlägt vor,
(Dateien der Mod entpacken, dekompilieren, Änderungen im Code durchführen, wieder kompilieren) Das hängt dann ein bisschen davon ab, wie komplex die Mod ist, ob das fehlerfrei klappt. Ich nehme einfach mal an, dass das nun die einfachste Möglichkeit ist, zu erreichen, was ich möchte - Stimmt das :dnuhr:1?
Also ich als nächstes mit gothicvdfs (https://wiki.worldofgothic.de/doku.php?id=gothicvdfs) die .vdfs Datei der Mod entpackt, und die Gothic.dat mit DecDat (https://forum.worldofplayers.de/forum/threads/1151032-Tool-DecDat) dekompiliert.
Ich bin mir nicht sicher, ob nicht bereits hier Fehler passiert sind, denn:
DecDat hat Fehler bei Conditional Statements:....
weißt da jemand was zu :dnuhr:2?
Die Export funktion von DecDat schreibt mir den Code dann in Dateien, abhängig davon, was ich in der Exportdefinition angegeben habe - Der Code ist also equivalent zum Orginal-Code, aber nicht in denselben Dateien drinnen -verstehe ich das richtig? Ich gehe davon aus, dass das beim erneuten Compilieren keine Rolle spielt - Stimmt das?:dnuhr:3
Um zu Modden habe ich mir ein zweites Gothic Verzeichnis gemacht (einfach das alte kopiert), in das ich dann das Mod-Kit (https://www.worldofgothic.de/dl/download_94.htm) und den Patch v2.6a (https://www.worldofgothic.de/dl/download_99.htm) installiert habe (falls es ein besseres Standartisiertes Vorgehen gibt, sagt es mir gerne :dnuhr:4).
Um die Dateien zu kompilieren hab ich dann den Gothic Sourcer 2.4 (https://www.worldofgothic.de/dl/download_234.htm) in mein Gothic Verzeichnis kopiert (ich habe hier (https://wiki.worldofgothic.de/doku.php?id=gothicsourcer) gelesen, dass er so verwendet wird.
Ich habe dann alle Dateien im _Work/Data/Scripts/Content Ordner gelöscht, mit meinen Dateien ersetzt, eine Gothic.src geschrieben, die auf eben jene Dateien zeigt, und versucht, mit dem Gothic Sourcer zu kompilieren - dabei passiert aber nichts.
Gleichzeitig legt dieser Thread zum Gothic Sourcer (https://forum.worldofplayers.de/forum/threads/1616823-Gothic-Sourcer?highlight=Gothic+Sourcer) nahe, dass es garnicht so einfach ist, Dateien zu kompilieren und dekompilieren, wenn Lego oder Ikarus verwendet werden. Ich habe zwar DecDat und nicht den Sourcer verwendet, allerdings hab ich beim Kompilieren ja wieder dasselbe Problem. Wenn ich jetzt also Quellcode habe, der Ikarus und Lego funktionen verwendet, dann muss ich dafür auch erstmal Lego und Ikarus ans laufen kriegen - Stimmt das :dnuhr:5?
Prinzipiell muss ich "nur" den neuen Code zu einer Gothic.dat kompilieren und die wieder verpacken - Aber kann ich die Gothic.src unabhängig von den anderen *.src einzeln zu einer Gothic.dat kompilieren (Ich bin naiv davon ausgegangen, dass ja) :dnuhr:6?
Da es jetzt alles nach sehr viel Aufwand klingt - mache ich mir das Leben unnötig schwer, und kann auch viel einfacherer erreichen, was ich möchte? Eine vorgeschlagene Alternative ist:
Theoretisch könnte die einfachste Methode sein, einen Patch (mit Ninja) zu erstellen, der periodisch den Wert von LP_PER_LEVEL setzt (z.B. in der .ini eingestellt), sofern diese Variable im Spiel / in der Mod existiert. Das ginge dann auch, wenn es Konstanten anstatt von Variablen sind, solange die genau diesen Namen haben[...]
Aber wäre das wirklich einfacher :dnuhr:7?