Savegame übertragen

User avatar
agestar
Posts: 4502
Joined: Sat Jul 19, 2008 7:42 am
Location: Bayreuth
Contact:

Savegame übertragen

Post by agestar »

Ich habe mal ein kleines TuT geschrieben um die Errungenschaften eines alten Savegames in ein neues zu übertragen
Das ist hauptsächlich dann nützlich, wenn es auf der Map Änderungen am Terrain oder an den Feldern gab.
Das TuT ist aber nicht nützlich um seine Sachen auf eine komplett andere Map zu übertragen.
Denn dann sind die Mods und Gebäude an Orten wo sie nicht sein sollten.

Benötigte Dateien altes Savegame:

items.xml
onCreateObjects.xml
vehicles.xml
terrainDetailHeight_density.gdm
Optional falls Bäume gepflanzt wurden: treePlant.xml

Bei einigen Maps gibt es Probleme mit der tipcoli ( also Abkippcollision)
Dann bitte noch diese beiden dateien ins neue savegame übertragen:
plcColMap.grle
tipColMap.grle

Benötigte dateien neues Savegame:
items.xml

Als erstes auf der neuen Map alle Produktionsflächen kaufen die man vorher auch besessen hat. Das ist wichtig, da sonst die Füllstände der Fabriken und Produktionen gelöscht werden.

Falls man Gebäude der Map durch eigene ersetzt hat diese Gebäude verkaufen, so das die Flächen leer sind für die neuen gebäude.
Wenn man das gemacht hat den neuen Spielstand speichern und Spiel beenden.

Dann die items.xml des alten Savegames und die des neuen Savegames öffnen.
Nun sucht man im alten savegame alle Gebäude die man neu gekauft hat und fügt die in der items.xml des neuen Savegames ein.
Dazu scrollt ihr in der items.xml bis nach ganz unten bis zu </items>
Vor dieses </items> setzt Ihr nun den Eintrag des Gebäudes. Hier als beispiel ein Lager:

<item className="FS19_GlobalCompany.GC_ProductionFactoryPlaceable" id="14" modName="LS19_Wippman_Lagerpaletten" filename="$moddir$LS19_Wippman_Lagerpaletten/xml/lager_empty.xml" position="-1722.2828 100.0172 -161.8501" rotation="0.0000 0.0000 0.0000" age="4" price="21896.000000" farmId="1">
<productionFactory index="1" saveId="Lager_Leerpaletten" indexName="Lager_Leerpaletten">
<outputProducts>
<outputProduct name="OP_EMPTYPALLET" fillLevel="44210.250000"/>
</outputProducts>
<productLines>
<productLine lineId="1" state="false" userStopped="false"/>
</productLines>
</productionFactory>
</item>

Wichtig ist, das Ihr alles kopiert zwischen item className und </item>

In der ersten Reihe bei id solltet Ihr eine Zahl ab 200 eingeben. Hier würde dann aus id="14" id="200" werden. Bei jedem Gebäude das eingefügt wird muss die Zahl immer um 1 steigen. LS nummeriert die sich später selber neu
Füllstände von Silos und Lagern sehen z.b. so aus:
<item className="BunkerSiloPlaceable" id="82" filename="data/placeables/bunkerSilo/bunkerSiloSmall.xml" position="887.0000 104.6576 -93.0000" rotation="0.0000 0.0000 0.0000" age="0" price="15000.000000" farmId="1">
<bunkerSilo index="1" state="0" fillLevel="102555.554688" compactedFillLevel="9887.461914" fermentingTime="0.000000" openedAtFront="false" openedAtBack="false" inputFillType="CHAFF" outputFillType="SILAGE"/>
</item>

oder so:
<item className="SiloPlaceable" id="87" modName="FS19_Oberthal" filename="$moddir$FS19_Oberthal/maps/xml/Strohlager.xml" position="894.9720 107.0880 -372.2100" rotation="0.0000 -90.0000 0.0000" age="4" price="190000.000000" farmId="0">
<animatedObjects>
<animatedObject time="0.000000" direction="0"/>
<animatedObject time="0.000000" direction="0"/>
</animatedObjects>
<storage index="1" farmId="1">
<node fillType="STRAW" fillLevel="804587.312500"/>
</storage>
</item>

Da in der alten items.xml am besten nach CHAFF oder SILAGE suchen, bzw nach dem was in dem Silo drin war. Gut wäre es wenn Ihr den ungefähren Füllstand wüßtet. Hier müsste dann aus id="82" z.b. id="201" werden. Das müsst Ihr halt so oft machen wir Ihr Silos habt.


Viehbestände der Map sehen so aus. Beispiel Kuhstall:

<item className="AnimalHusbandry" id="107" modName="FS19_Oberthal" filename="$moddir$FS19_Oberthal/maps/xml/husbandryCowLarge.xml" position="804.8390 0.0000 0.0000" rotation="0.0000 0.0000 0.0000" age="0" price="300000.000000" farmId="1" globalProductionFactor="1.000000">
<animatedObjects>
<animatedObject time="1.000000" direction="0"/>
<animatedObject time="0.000000" direction="0"/>
<animatedObject time="1.000000" direction="0"/>
<animatedObject time="0.000000" direction="0"/>
<animatedObject time="1.000000" direction="0"/>
<animatedObject time="1.000000" direction="0"/>
<animatedObject time="0.000000" direction="0"/>
<animatedObject time="1.000000" direction="0"/>
</animatedObjects>
<module name="straw" fillCapacity="950400.000000">
<fillLevel fillType="STRAW" fillLevel="950400.000000"/>
<fillLevel fillType="STRAWPELLETS" fillLevel="0.000000"/>
</module>
<module name="milk" fillCapacity="800000.000000">
<fillLevel fillType="MILK" fillLevel="184350.125000"/>
</module>
<module name="manure" fillCapacity="800000.000000" manureToDrop="1704.534180" manureToRemove="0.000000"/>
<module name="animals" fillCapacity="0.000000">
<animal fillType="COW_TYPE_BLACK_WHITE" dirtScale="0.000000"/>
<breeding fillType="COW_TYPE_BLACK_WHITE" percentage="0.150160"/>
</module>
<module name="liquidManure" fillCapacity="800000.000000">
<fillLevel fillType="LIQUIDMANURE" fillLevel="68976.703125"/>
</module>
<module name="water" fillCapacity="1009800.000000">
<fillLevel fillType="WATER" fillLevel="1009800.000000"/>
</module>
<module name="food" fillCapacity="0.000000">
<fillLevel fillType="GRASS_FERMENTED" fillLevel="0.000000"/>
<fillLevel fillType="DRYGRASS_WINDROW" fillLevel="9622754.000000"/>
<fillLevel fillType="CHOPPEDMAIZE_FERMENTED" fillLevel="0.000000"/>
<fillLevel fillType="GRASS_WINDROW" fillLevel="9675302.000000"/>
<fillLevel fillType="DRYCLOVER_WINDROW" fillLevel="2395.864502"/>
<fillLevel fillType="CLOVER_FERMENTED" fillLevel="0.000000"/>
<fillLevel fillType="SILAGE" fillLevel="9517654.000000"/>
<fillLevel fillType="ALFALFA_WINDROW" fillLevel="0.000000"/>
<fillLevel fillType="CHAFF" fillLevel="2444696.250000"/>
<fillLevel fillType="CHOPPEDMAIZE" fillLevel="0.000000"/>
<fillLevel fillType="FORAGE" fillLevel="9885500.000000"/>
<fillLevel fillType="CLOVER_WINDROW" fillLevel="0.000000"/>
<fillLevel fillType="ALFALFA_FERMENTED" fillLevel="8268846.500000"/>
<fillLevel fillType="DRYALFALFA_WINDROW" fillLevel="2390.625000"/>
<fillLevel fillType="HAYPELLETS" fillLevel="0.000000"/>
</module>
<animalPenExtension>
<universalParts version="3" valvePosition="7.1696 -0.2500 -0.2803" valveRotation="0.0000" spoutPosition="6.1355 -0.4267 -1.4443" spoutRotation="181.5040"/>
</animalPenExtension>
</item>
Wenn es ein Kuhstall ist der auf alter und neuer Map Identisch ist braucht Ihr nur alle Einträge dieses Types kopieren und in der neuen Items.xml einfügen: <animal fillType="COW_TYPE_BLACK_WHITE" dirtScale="0.000000"/>
Ich empfehle aber den ganzen Eintrag zu kopieren. Merkt Euch hier nur welche ID der Kuhstall in der neuen Items habe, denn den müsst Ihr dann in den neuen Eintrag einfügen

Wenn Ihr alles ordentlich gemacht habt sind die Gebäude und Füllstände soweit wieder alle da

Nun nehmt Ihr die Dateien:
onCreateObjects.xml
vehicles.xml
terrainDetailHeight_density.gdm

Optional:
plcColMap.grle
tipColMap.grle
treePlant

und fügt die in den Savegameordner des neuen Spielstandes ein ( überschreiben)
In der onCreateObjects.xml sind die Produktionen und der auf der Map verbauten Produktionen und Lager gespeichert

Wenn es beim starten des Spieles Probleme gibt, habt Ihr in der Backupdatei des neuen Spielstandes zur Not immer noch eine Items um es noch mal zu machen
Achtet drauf das Ihr die einträge vollständig mit übernehmt. Eine fehlende Klammer < oder > können alles zunichte machen

Das Übertragen vom Bearbeitungsstand der Felder ist schwer zu übertragen. Dazu kommt vieleicht noch eine extra anleitung
Betreffend auf Feldern rumliegenden Ballen und gefällten Bäumen:
Ihr könnt die zwar auch in der Items suchen, aber jeder Ballen/Baum braucht eine eigene ID. Bei hundert Ballen/Bäumen ist das eine menge Schreibarbeit. Ich rate daher dazu alle Ballen einzusammeln und einzulagern. Oder darauf zu verzichten. Die Stämme entweder verarbeiten oder ebenfalls drauf verzichten

Viel Spaß und viel Glück
Der Umbau erfolgt auf eigene Gefahr

Ich empfehle nach dem Start des Spieles die Änderungen zu speichern, da es gerade bei Seasons dazu führen kann das z.b. Tier-ID's doppelt vergeben werden
Also: Alles ändern.... Spiel starten und schauen ob alles passt.... Spiel speichern und dann das Spiel neu starten
Last edited by agestar on Sun Jun 07, 2020 5:15 pm, edited 1 time in total.
Greetz agestar
Hier wird Wert auf einen gepflegten Umgangston gelegt
Probleme mit Mods lassen sich meistens nur mithilfe des LOG.TXT lösen
Wo Du den log.txt findest steht hier
Das Forum vom LS Mapping Team findest Du HIER
Den Discord vom LS Mapping Team findest Du HIER
User avatar
agestar
Posts: 4502
Joined: Sat Jul 19, 2008 7:42 am
Location: Bayreuth
Contact:

Re: Savegame übertragen

Post by agestar »

Die Bedeutung der einzelnen Dateien im Savegameordner wird hier sehr gut erklärt:
https://forbidden-mods.de/forum/thread/ ... bedeutung/
Greetz agestar
Hier wird Wert auf einen gepflegten Umgangston gelegt
Probleme mit Mods lassen sich meistens nur mithilfe des LOG.TXT lösen
Wo Du den log.txt findest steht hier
Das Forum vom LS Mapping Team findest Du HIER
Den Discord vom LS Mapping Team findest Du HIER
Post Reply