|
-
[Release] GVE - Gothic Variablen Editor
GVE - Gothic Variablen Editor ist ein Programm zum Manipulieren der Savegames von Gothic 1 und 2 und ihrer Modifikationen. Mit dem GVE kann man sehr einfach Variablen auslesen und ändern, welche man mit dem Marvin-Modus nicht beeinflussen kann.
Damit kann man verschiedene Dinge erreichen, so kann man z.B. Bugs beheben, fehlerhafte Entscheidungen im Spiel rückgängig machen, Spielbereiche abkürzen (z.B. das Addon überspringen), oder aber auch Quests resetten, sodass man sie mehrmals machen kann.
Kleiner Exkurs zu Variablen:
__________________________
Variablen kann man sich als Merkzettel oder Strichlisten vorstellen. Damit Gothic das Spiel speichern und laden kann, muss es sich irgendwie den Zustand des Spiels merken, also was der Held bereits gemacht hat.
So wird z.B. gespeichert, ob der Held schon mit Xardas über das Auge Innos geredet hat, ob er für Lobart bereits die Rüben gepflückt hat, ob ein Händler schon seine kapitelabhängige Ware erhalten hat und wie gut der Held Gold hacken kann.
__________________________
Das Editieren der Savegames beschränkt sich auf diese Variablen. Weltabhängige Dinge, wie Itemplatzierungen und NPC-Werte können mit GVE nicht verändert werden. Dazu hat man den Marvin-Modus.
[Bild: GVE.jpg]
Beim ersten Start bzw in den Einstellungen muss das Gothic-Verzeichnis angegeben werden.
Dann kann man Savegames laden, indem man z.B. das aktuellste Laden lässt (datumbasiert), das Savegame manuell lädt oder eine Liste verwendet, in der alle Savegames nach Mods geordnet aufgelistet sind.
Ist das Savegame geladen, werden die Namen der Variablen links und ihre Werte rechts angezeigt.
In der Regel werden die Werte 0 und 1 verwendet, welche für 0 = aus und 1 = an stehen.
Wenn also DIA_ADDON_GREG_BANDITARMOR den Wert 0 hat, dann hat der Held noch nicht mit Greg über die Banditenrüstung gesprochen.
Was repräsentiert eine Variable konkret?
Dies ist meist schwer zu sagen, sofern man nicht die entsprechenden Scripte des Spiels/der Mod hat.
Dank dem Variablenpräfix kann man die Variable aber oft grob einordnen.
Beginnt eine Variable mit DIA, so handelt es sich dabei meist um einen Dialog.
Eine Dialogvariable kann die Werte 1 und 0 annehmen:
Bei 1 wurde der Dialog bereits angehört, bei 0 nicht.
Fängt eine Variable mit MIS an, so handelt es sich meist um eine Questvariable.
Die Questvariable speichert den Zustand einer Quest:
0 = noch gar nicht angenommen
1 = Quest läuft gerade
2 = Quest erfolgreich abgeschlossen
3 = Quest gescheitert
4 = Quest hinfällig
Beinhaltet eine Variable einen Punkt im Namen, so handelt es sich um eine lokale Variable, dessen Änderung eigentlich keine Auswirkungen haben sollte. Sie werden nur der Vollständigkeit halber aufgelistet (und können eventuell zum Eingrenzen von Fehlern verwendet werden).
Die Vairablen-liste kann man über ein Suchfeld durchsuchen.
Zum Ändern eines Wertes klickt man einfach auf die Zahl und tippt den gewünschten Wert ein.
Die veränderten Werte werden erst übernommen, wenn man auf Speichern klickt. Davor kann man ein Backup des Spielstandes anlegen (welchen man bei Bedarf wieder einspielen kann).
GVE unterstützt beliebig viele Sprachen durch Sprachpakete (.lang-Dateien).
Zum Übersetzen in eine andere Sprache muss man ein entsprechendes Sprachpaket erstellen (.lang-Dateien lassen sich mit einem einfachen Texteditor öffnen und bearbeiten). Bei Menübezeichnungen kennzeichnet & den nachfolgenden Buchstaben als Testenkürzel des Menüeintrags.
Damit die Hilfedatei verwendet wird, muss sie den gleichen Namen (ohne Endung), wie die aktuelle Sprachdatei haben, ansonsten wird die Default-Datei verwendet.
Weitere Informationen zur Bedienung sind in der Hilfedatei nachzulesen.
Noch ein Warnhinweis: Beim Bearbeiten von Dateien kann immer etwas schief gehen, man sollte daher immer (manuell) Backups anlegen.
Dank fürs Testen geht an:
Lonewulf
Sektenspinner
uhrparis
VarusBiker
Agarez
DOWNLOAD
Quellcode: GVE_Source.7z
Geändert von Sumpfkrautjunkie (11.07.2009 um 21:32 Uhr)
-
-
Ein Tool das man hoffentlich nie, nie, nie braucht. Aber gut, dass es für den Notfall da ist, dann können auch Spieler ohne HexEditor ihr Savegame mit den passenden Instruktionen fixen.
Und zum herumspielen ist es sicher auch für den ein oder anderen interessant.
-
Verständnisfrage: Es werden aber nur Variablen angegeben, die bereits verändert worden sind im Spiel oder?
Beispiel:
Eine Variable für das Zählen von Äpfeln für den Apfelbonus.
Der Spieler hat noch keinen Apfel gegessen/erhalten.
Diese Varialbe würde dann nicht mitangezeigt, oder doch?
Oparilames nachdem er seinen Gesellenbrief erhalten hat:
»Das war's mit dir, du Mistvieh!«
-
Zitat von Sektenspinner
Ein Tool das man hoffentlich nie, nie, nie braucht. Aber gut, dass es für den Notfall da ist, dann können auch Spieler ohne HexEditor ihr Savegame mit den passenden Instruktionen fixen.
Und zum herumspielen ist es sicher auch für den ein oder anderen interessant.
Für Diagnosezwecke ist's sicherlich nicht schlecht. Vor 3 Monaten hätte ich's brauchen können (bei den Tests von Juran).
Ein Savegame zu manipulieren ist halt von daher gefährlich dass man eigentlich die Skripts kennen muss. Manchmal hängen ja mehrere Variablen miteinander zusammen.
Von daher ein Tool für Leute die wissen was sie tun (oder für Spieler die mal kurz Spaß haben und nicht unbedingt zu Ende spielen wollen )
EDIT:
Zitat von Oparilames
Verständnisfrage: Es werden aber nur Variablen angegeben, die bereits verändert worden sind im Spiel oder?
Beispiel:
Eine Variable für das Zählen von Äpfeln für den Apfelbonus.
Der Spieler hat noch keinen Apfel gegessen/erhalten.
Diese Varialbe würde dann nicht mitangezeigt, oder doch?
Ich gehe davon aus, dass es angezeigt wird. die Variablen stehen ja im Save (sie haben halt noch den Wert 0)
-
Zitat von Oparilames
Verständnisfrage: Es werden aber nur Variablen angegeben, die bereits verändert worden sind im Spiel oder?
Beispiel:
Eine Variable für das Zählen von Äpfeln für den Apfelbonus.
Der Spieler hat noch keinen Apfel gegessen/erhalten.
Diese Varialbe würde dann nicht mitangezeigt, oder doch?
Es werden alle Variablen angezeigt, auch die, die noch nicht verändert wurden.
-
Das ist schade, aber anders wohl für die Entwickler auch als "nicht sinnvoll" eingestuft.
Trotzdem danke für dieses Programm, vielleicht hilft es mir demnächst.
Oparilames nachdem er seinen Gesellenbrief erhalten hat:
»Das war's mit dir, du Mistvieh!«
-
@ Oparilames
Das alle Variablen angezeigt werden ist schon sinnvoll, schließlich kannst du anhand ihres Wertes nicht darauf schließen ob sie schon benutzt wurde, da ja alle von anfang an in der Save-Datei enthalten sind.
Wenn wir beim Beispiel der Variable für die gegessenen Äpfel bleiben wird sie ja auf "0" zurückgesetzt wenn man den 25´ten Apfel gegessenen und den Stärke-Bonus bekommen hat.
Somit hat sie nun zwar wieder ihren Ausgangswert aber wurde trotzdem schon 25x geändert.
-
Steckt das Tool mal in den Downloadbereich, dann muss ich nicht immer die SuFu bemühen.
-
Zitat von Zephir
Steckt das Tool mal in den Downloadbereich, dann muss ich nicht immer die SuFu bemühen.
Wäre ich auch dafür, hat sich beim Testen und Savegame reparieren schon das ein oder andere mal bewährt.
In einem halben Jahr weiß sonst fast keiner mehr das es dieses Tool überhaupt gibt (würde mich nicht wundern wenn da so einiges Nützliches in den Tiefen der Foren vor sich hinschimmelt).
Verlinkt es doch mal in die Sektion "Sonstiges" von G1 und G2.
-
echt ne richtig coole Sache! könnte einem durchaus mal weiterhelfen
-
-
Danke, Sumpfi.
Bereits erlernte Fähigkeiten (Schmieden, Alchemie, Jagdtrophäen etc.) wieder zu verlernen ist mit dem Tool aber nicht möglich, oder?
-
Zitat von Zephir
Danke, Sumpfi.
Bereits erlernte Fähigkeiten (Schmieden, Alchemie, Jagdtrophäen etc.) wieder zu verlernen ist mit dem Tool aber nicht möglich, oder?
Naja so Dinge wie Sprachen und gewisse andere "Skills" kann man dadurch sicherlich (ver
-)lernen. Aber die LP bekommt man eben nicht zurück.
Oparilames nachdem er seinen Gesellenbrief erhalten hat:
»Das war's mit dir, du Mistvieh!«
-
Zitat von Oparilames
Naja so Dinge wie Sprachen und gewisse andere "Skills" kann man dadurch sicherlich (ver
-)lernen. Aber die LP bekommt man eben nicht zurück.
Um die LPs duerfte es Zephir in dem Fall nicht gehen, der Hintergrund duerfte eine Savegame sein welches durch inserten eines gewissen Characters uebermaechtig wurde
Es gibt im Savegame einige Player_Talent_ Variablen, ob ein Ruecksetzen dieser Variablen auf 0 ausreicht muesste man aber anhand der Skripte analysieren. Rein auf Verdacht Variablen aendern ist etwas riskant.
-
Anscheinend nicht: Zwar werden die Spielertalente über Variablen verwaltet, allerdings sind diese als Datenblöcke(Arrays) gespeichert, welche, wie ich gerade festgestellt habe, vom GVE nicht ausgelesen werden können, da ich schlicht die Implementierung dazu vergessen habe (in Gothic werden diese Datenblöcke ansonsten praktisch nicht verwendet).
Das wäre ein Punkt für eine künftige Version.
-
Hm, ich hab's befürchtet. Danke aber fürs Probieren.
Zitat von Sumpfkrautjunkie
Das wäre ein Punkt für eine künftige Version.
Dann weißt du ja, was du zu tun hast.
In der Hilfe taucht immer mal wieder ein Thread der Art auf (der aktuellste ist dieser, den ich im Sinn hatte, wie TazmanDevil ganz richtig bemerkte), in dem ein Spieler darüber klagt, durch einen Bug (und nicht zuletzt durch Cheats) sämtliche Talente gelernt zu haben, daher wäre eine Möglichkeit, diese zu verlernen, nicht unpraktisch. (Zumal ich mich auch daran erinnern kann, dass manch einer die Fähigkeiten dann zwar nicht mehr bei einem Lehrer erlernen, aber auch nicht nutzen konnte, was natürlich besonders ärgerlich ist.)
Hast du vielleicht alternativ eine Idee dazu, wie man das per Marvin bereinigen könnte?
-
Die einzige Alternativ-Idee welche ich haette waere der gute alte Binaer-Editor . Die Variablen findet man ja ziemlich einfach im save; das sind int-arrays (d.h. jeweils 4 Byte mit etwas Format-Zugemuese) in welchen man die TRUE Werte (1) auf FALSE (0) setzen muesste.
-
Scheint ja ein schönes Stück zu sein.
Ich denke mir, dass es sehr nütlzich sein könnte, aber ich werd's wahrscheinlihc trotzdem nie benutzen
Alles in Allem bleinbt nur noch eins zu sagen:
Schöne Arbeit, Jungs!
-
Geändert von Rantragon (14.05.2009 um 15:13 Uhr)
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|