Deutsches Simutransforum
Savegame auslesen und editieren - Druckversion

+- Deutsches Simutransforum (https://simutrans-forum.de/mybb)
+-- Forum: Simutrans (https://simutrans-forum.de/mybb/forumdisplay.php?fid=3)
+--- Forum: Dokumentation (https://simutrans-forum.de/mybb/forumdisplay.php?fid=36)
+--- Thema: Savegame auslesen und editieren (/showthread.php?tid=7709)



Savegame auslesen und editieren - ElTirion - 07-11-2013

Da hier auch "Anleitungen" hinsollen, hoffe ich das ich hier richtig bin.

Ich habe mal ausbaldowert wie man ein Savegame auslesen kann.
Und damit auch editieren
Cheaten ist natürlich lame!
Aber gerade für Anfänger ists gut um bei der ersten liebgewordenen Savegame noch etwas anpassen zu können, oder bei langen spielen den Growthfactor reduzieren,
und man kann die Einstellungen mit denen man spielt nachsehen wenn man ein ganz ähnliches Spiel (z.B. mit gleicher Kartennumer oder Verkehrsdichte) nochmal starten will, aber nicht mehr weiß was man eingestellt hat.

----------

Anleitung Simutrans-Savegame-Auslesen (Bsp mit Simmutrans 112.3, das PAK beinflusst die Reihenfolge eigentlich nicht, nur die Standardwerte)

1. Eine simuconfig.tab im Userverzeichnis anlegen oder editieren falls schon vorhanden (dies geht mit Notepad, einfach neue Datei und speichern unter "simuconfig.tab" - die Anführungszeichen müssen mit eingegeben werden. Das Userverzeichnis ist z.B. unter 'C:\Dokumente und Einstellungen\USERNAME\Eigene Dateien\Simutrans'
Die Datei muss nur folgenden Text beinhalten:
saveformat = xml
2. Simutrans starten, das gewünschte Spiel laden, und speichern und einem anderen namen, z.B. "Auslesetest".
3. ins Saveverzeichnis und dem Userordner gehen und die Savedatei raussuchen.
Sie endet zwar auf SVE aber läßt sich mit WordPad o.ä. öffnen (Notepad erkennt die Zeilenumbrüche nicht und ist deswegen unübersichtlich).
Vorsicht, da die Datei nicht komprimiert ist (sonst könnten wir sie gleich nicht so einfach auslesen), ist sie sehr groß. (128x128 => 4MB, 256x256 => 16 MB, 512x512 => 64MB),
hier streikt vermutlich WordPad ab einer bestimmen Größe und man muss ein besseres Tool nehmen)
4. Nun kann man die Werte auslesen. Ich habe unten mal daneben geschrieben welcher Parameter an dieser Stelle gespeichert wird. Natürlich kann man sie auch editieren, dabei sollte man aber vorsichtig sein da das Spielverhalten bei änderung einiger Paramer sehr merkwürdig sein könnte. Ein Backup sollte man in jedem Fall haben, auch wenn man nur liest.
5. danach nicht vergessen das saveformat aus der simuconfig.tab zu löschen oder einfach mit einem "#" davor auszukommentieren! (sonst speichert Simutrans nur noch in riesigen Dateien)


-------------

Dieses Feature ist genial. Ich habe bei meinem ersten Spiel als Beginner angefangen, dann wurde es mir zu einfach aber ich wollte eigentlich weitermachen. Also habe ich den Beginnermode aus false gesetzt und just in time auf true => jetzt habe ich ein ernstes spiel (ok, das geld vorher habe ich einfach gemacht)

Fast alle mir wichtigen Daten habe ich im oberen Abschnitt gefunden, unten sind fast nur Beschreibung der Kacheln, Züge, Linien, Fahrgästen, etc.

Aber die Erkenntnis ist noch unvollständig, gemeinsam wächst sie bestimmt.

<?xml version="1.0"?>
<Simutrans version="0.112.6" pak="PAK128.german">
<einstellungen_t>
<i32>200</i32> groesse_x
<i32>6</i32> kartennummer
<i32>2</i32> land_industry_chains
<i32>330</i32> city_industry_chain
<i32>5</i32> tourist_attractions
<i32>1600</i32> mittlere_einwohnerzahl
<i32>16</i32> anzahl_staedte
<i32>5</i32> verkehr_level?
<i32>1</i32> show_pax ?
<i32>-2</i32> WATER LEVEL
<d1000>160000</d1000> max_mountain_height
<d1000>600</d1000> map_roughness
<i32>2</i32> station_coverage_size
<i32>144</i32> groesse_y
<i8>1</i8> allow_player_change
<i8>0</i8> use_timeline
<i16>1950</i16> STARTJAHR
<i16>20</i16> BITS PER MON
<bool>true</bool> beginner_mode !!!!
<bool>false</bool> just_in_time !!!
<i8>1</i8> CLIMATE
<i16>0</i16> CLIMATE
<i16>0</i16> CLIMATE
<i16>0</i16> CLIMATE
<i16>3</i16> CLIMATE
<i16>6</i16> CLIMATE
<i16>8</i16> CLIMATE
<i16>10</i16> CLIMATE
<i16>10</i16> CLIMATE
<i16>7</i16> CLIMATE SNOWLINE
<i16>936</i16>
<i16>0</i16>
<i16>0</i16>
<i32>16</i32>
<i32>40</i32> PASSENGER MULTIPLIER
<i32>20</i32> ? MAIL MULTIPLIER
<i32>20</i32> ? GOODS MULTIPLIER
<i32>0</i32>
<i32>400</i32> GROWTHFACTOR VILLAGES
<i32>200</i32> GROWTHFACTOR CITIES
<i32>100</i32> GROWTHFACTOR CAPITALS
<i16>33</i16> ? FACTORY PERCANTAGE
<i16>16</i16> ? TOURIST PERCANTAGE
<i16>77</i16> FACTORY WORKER RADIUS
<i32>330</i32>
<i16>20</i16>
<bool>true</bool>
<i16>33</i16>
<bool>true</bool>
<i32>36</i32>
<bool>false</bool>
<i16>2</i16>
<![CDATA[dirt_road]]>
<i16>0</i16>
<i16>0</i16>
<![CDATA[city_road]]>
<i16>0</i16>
<i16>0</i16>
<i16>1</i16>
<![CDATA[asphalt_road_100]]>
<i16>1</i16>
<i16>-1</i16>
<i32>1000000</i32>
<i32>7</i32>
<i32>2000</i32>
<i32>1500</i32> BEGINNER PRICE FACTOR !!
<![CDATA[de]]>
<bool>true</bool>
<i8>1</i8>
<bool>true</bool>
<i8>1</i8>
<bool>false</bool>
<i8>0</i8>
<bool>false</bool>
<i8>0</i8>
<bool>false</bool>
<i8>0</i8>
<bool>false</bool>
<i8>0</i8>
[...]
<bool>false</bool>
<i64>50000000</i64> STARTING MONEY
<i16>0</i16>
<i64>0</i64>
<bool>false</bool>
<i16>0</i16>
<i64>0</i64>
[...]
<bool>false</bool>
<i32>1800</i32> MAINTANANCE BUILDING
<i64>-75000</i64> KOSTEN....
<i64>-60000</i64> KOSTEN
<i64>-40000</i64> KOSTEN
<i64>-100000</i64> KOSTEN
<i64>-50000</i64> KOSTEN
<i64>-100000</i64> KOSTEN
<i64>-850000</i64> KOSTEN
<i64>-700000</i64> KOSTEN
<i64>-900000</i64> KOSTEN
<i64>-500000</i64> KOSTEN
<i64>-10000</i64> KOSTEN
<i64>-125000</i64> KOSTEN
<i64>-150000</i64> KOSTEN
<i64>-500000000</i64> KOSTEN found city
<i64>-50000000</i64> KOSTEN found multiple industry
<i64>-4000</i64> KOSTEN
<i64>-100000</i64> KOSTEN
<i64>-500000</i64> KOSTEN
<i64>-250000</i64> KOSTEN
<i64>-10000</i64> KOSTEN
<i32>1</i32>
<i32>2</i32>
<i32>6</i32>
<i32>15</i32>
<i32>10</i32>
<i32>8</i32>
<i32>15</i32>
<i32>25</i32>
<bool>false</bool>
<i8>0</i8>
<i16>5</i16>
<i16>4</i16>
<i16>16</i16>
<i16>256</i16>
<bool>false</bool>
<bool>false</bool>
<bool>false</bool>
<i32>-1521235502</i32>
<i32>25</i32>
<i32>4</i32>
<bool>true</bool>
<i32>1</i32>
<i32>4</i32>
<i8>34</i8> FORREST BASE SIZE
<i8>32</i8> FORREST
<i8>36</i8> FORREST
<i16>600</i16> FORREST
<i8>3</i8> FORREST
<i16>0</i16> FORREST
<i16>0</i16> FORREST
<bool>false</bool>
<i32>16</i32>
<i32>2000</i32>
<i32>4</i32>
<i16>0</i16>
<bool>false</bool>
<i8>-1</i8>
<i8>-1</i8>
<i8>1</i8>
<i8>4</i8>
<i8>-1</i8>
<i8>-1</i8>
[...]
<i8>-1</i8>
<i8>-1</i8>
<i8>-1</i8>
<i8>-1</i8>
<i8>-1</i8>
<i16>4</i16>
<bool>true</bool>
<i16>1835</i16> LOCALITY FACTOR 0 YEAR
<i32>1</i32> LOCALITY FACTOR 0 VALUE
<i16>2050</i16> LOCALITY FACTOR 1
<i32>2500</i32> LOCALITY FACTOR 1 VALUE
<i16>0</i16>
<i32>0</i32>
<i16>0</i16>
<i32>0</i32>
[...]
<i16>0</i16>
<i32>0</i32>
<bool>false</bool>
<bool>false</bool>
<i32>0</i32>
<i32>0</i32>
<i32>125</i32>
<bool>true</bool>
<i16>3</i16>
<i16>0</i16>
<i16>6</i16>
<i16>0</i16>
<i16>40</i16>
<i16>25</i16>
</einstellungen_t>
<i32>26982979</i32> DAY&TIME (ticks)
<i32>6</i32> MONTH
<i32>1952</i32> YEAR
<bool>false</bool>
<![CDATA[Aurich]]>
[...]
[DER GANZE REST]


- BR84 - 07-11-2013

Naja, man kann aber auch ganz einfach irgendein Spiel mit irgendeinem Savegame starten und dann:
Neues Spiel - Einstellungen, da wären dann die vorhandenen - wenn gewünscht ändern - und jetzt -> alle Fenster schliessen (bis auf das gerade gespielte Spiel eben) - Spiel sichern - ST killen - ST starten, das entsprechende Savegame laden und alles ist gut...
Klappt nicht mit allen Parametern - ausprobieren und :thumbsup:


- ElTirion - 09-03-2016

ah, den Trick kannte ich noch nicht, für einige kleinere änderungen sicher einfacher.
Aber für Du schreibst ja dass das nicht für alle Parameter funktioniert - und da kann der Savegameedit via xml dann helfen.