Forum



~Gast am 07.05.2014 10:50 #12676


Guten Morgen Gemeinde.

Ich arbeite gerade an einem Savegame-Editor (Trainer) inkl GUI, mit dem es möglich sein soll, gespeicherte Spielstände zu ändern.

Derzeit lässt sich so zum Beispiel die Anzahl der Waren in jedem Hauptquartier (also auch die des Feindes) anpassen.

Gibt es vllt. schon so etwas? Wenn nicht würde ich meine Arbeiten weiter verfolgen. Hilfreich wäre hier vor allem mehr Informationen über die Datenstrukturen einer *.SAV-Datei. Derzeit behelfe ich mich mit einem einfachen Hex-Editor und versuche hierüber die nötigen Infos zu extrahieren.

Eine weitere Funktion wäre über die autom. Speicherung des Spielstandes zu realisieren.
Der Editor erkennt einen neu abgespeicherten Spielstand, liest aktuelle Werte des Spiels aus und trägt diese in seine Datenbank ein. Daraus können dann sehr detaillierte Statistiken / Diagramme generiert werden.

So weit erst einmal von meiner Seite.
Eure Meinung hierzu hätte ich gerne erfahren...
Viele Grüße
StS


Spike am 07.05.2014 14:48 #12678

Im Ruhestand
Finde ich grundlegend als Idee schonmal ganz interessant. Hat vermutlich den Hintergdanken ein Spiel was verloren scheint
noch zu gewinnen oder?

Falls es nur um die reinen Startwaren geht ist das (meines wissens) auch schon mit LUA realisierbar, einfach sehr wenig
waren nehmen und den rest in die .lua datei.

Solltest du schon über Missionen nachdenken oder ähnliches, es gab tatsächlich bereits die idee das savegame format auch
als RttR kartenformat zu nutzen, damit könnte man gebäude platzieren, waren manipulieren etc. und dann das Spiel als editor
nutzen. Aber ich schweife ab.

Ich habe tatsächlich auch schonmal versucht einen spielstand zu manipulieren mit dem hexeditor - hab also alleine auf einer
karte einen speicherstand erstellt und dann nach dem wert einer ware gesucht was leider nicht sehr erfolgreich war.
Vermutlich müsstest du (also es kann auch falsch sein) erstmal dir anschauen wie RttR dateien serialisiert und wieder
deserialisiert um dann aus den savegames wirklich schlau zu werden. Ansonsten gibt (bzw kann vmtl.) es keinerlei
dokumentierung (die mir bekannt ist) für savegames.

---



FloSoft am 08.05.2014 15:28 #12681

Großmeister
Hi,

also: Waren in Lagerhäusern ist definitiv kein Problem zu editieren (wenn man weiß welche Stelle das Lagerhaus liegt)

Für das Savegame-Format solltest du dir den Source-Code ansehen. Dort ist eigentlich alles hinterlegt.

Ich vermute mal für deinen SaveGame-Editor müsstest du folgendes implementieren:

-> Gebäudelisten durchgehen und alle Lagerhäuser/Hauptgebäude/Häfen finden
-> Dort dann jeweils das passende Offset für die Waren ändern

Anordnung ist immer identisch innerhalb der Gebäudestrukturen (solang sich am Spiel=Savegame-Version nichts ändert). Man muss eben nur wissen wo das (Lager-)Gebäude anfängt. (Habe ich auch schon so mit dem Debugger mal editiert, ist kein Problem). Kann nur sein das die Waren-Anzahlen doppelt gespeichert sind, im "Live"-Spiel ist das jedenfalls der Fall (sogar 3x, für "echte" Waren, "unechte" Waren und "globale" Inventarisierung)

Waren irgendwo an Fahnen zu platzieren ist dagegen schier unmöglich, vermute sowas würde ziemlich sofort beim laden zum async führen.

---
mfg
Flo



~eisenloserschmied am 16.12.2017 21:49 #14789


Ich hatte schon zwei Mal das Problem, dass ich alles schön geplant habe, freigeräumt, alle Gebäude angeschlossen und am Ende feststelle
- fml - ich habe die Eisenschmelzen ganz hinten. Resultat, alle Kneifzangen, Hammer etc. vergeben und ich habe Schmiede und Schlosser
aber keiner mehr der mein Eisen herstellt.

Gibt es inzwischen eine Möglichkeit sich so wenigstens ein Eisen "reinzucheaten" damit man einen Hammer o.ä. herstellen kann damit man
an einen "Eisenschmelzer" gelangt?  :D

Wäre doof wegen so einer Fehlbebauung (Vergesslichkeit) den ganzen Spielstand zu verwerfen ...

Viele Grüße und super Arbeit Leute!


Flamefire am 16.12.2017 22:07 #14790


Nope. Sind mehr auf ein gutes Spiel aus, als Cheats einzubauen ;)
Du müsstest doch mit den Standardwaren immer min. 1 Eisenschmelzer oder Schmelztiegel haben, oder? Dann kannst du das Spiel noch damit retten. Sonst: Pech gehabt, so gemein das klingt. Ist im echten Leben aber nicht anders. Einfachste Variante: Savegame laden von etwas vorher. Oder halt neu beginnen.

Wenn jemand nen Trainer o.ä. machen will, dann kann er einfach auf dem bestehenden source code aufbauen: Spieltstand in Welt einladen, entsprechende Methoden aufrufen (warehouse->AddWares etc., s. Tests) und wieder speichern. Ist relativ einfach und besser als ein hex editor. Wir werden das aber nicht machen, abgesehen davon, dass aktuell ich als einziger wirklich aktiv bin... :/

---
Github: https://github.com/Flamefire


~eisenloserschmied am 16.12.2017 22:37 #14792


Also da der Eisenschmelzer keine Kategorie als "Arbeiter" hat wird er nicht angezeigt, ich weiss auch ehrlich
gesagt nicht ob er sich nen Hammer oder eine Kneifzange nimmt, ich denke letzteres. Aber ich habe schon diverse
Werkstätten abgerissen, kein anderer will in die Eisenschmelze. Wenn man den also vergisst - kann man den
Spielstand auch vergessen ...denke ich zumindest :o :/


Spike am 17.12.2017 12:56 #14794

Im Ruhestand
Also, der Eisenschmelzer nimmt einen Schmelztiegel und hat ein eigenes Bild. Der EINZIGE andere Beruf, der Schmelztiegel verwendet ist
der Münzpräger.
Auf sehr wenig kann man 1 Schmelzer bauen
Auf wenig kann man 1 Schmelzer und 1 Präger bauen
Auf normal kann man 1 Schmelzer und 3 Präger bauen
Auf sehr viel... weiß ich es nicht.

Daher würde ich jetzt mal ins blaue raten, du hast viele Goldschmelzer gebaut aber keinen Eisenschmelzer und - da stimme ich Flamefire
zu, das ist leider [s]Pech[/s] schade an der Stelle. Würde schon rein aus taktischen Gründen empfehlen realtiv früh wenigstens einen
Eisenschmelzer
und Schmied zu bauen weil die Durchlaufzeiten sehr hoch sind und ein neuer Soldat längert dauert als 1 Münze. Das aber nur als Tipp am
Rande. Hoffe das hilft! :)

---


Editiert von Spike am 17.12.2017 13:01



Feel free to post in English!

Antwort schreiben

Username:
Security code:
Text:

   
  Convert smilies like :), ;) etc. into small graphics?
  Convert WWW-addresses into clickable links?
  Soll Boardcode in ihrer Nachricht aktiviert werden?