Spielstand reproduzieren

    • Spielstand reproduzieren

      Hallo liebe CnC Community.

      In der letzten zeit häuft sich hier leider der Unmut über den Verlust von Spielständen. Auch ich zähle mich dazu. Nach jeden großen Patch oder nach einem unüberlegten Speichervorgang während Helfer aktiv sind ist die save game hin.

      Nun nach einigem Fragen und Probieren habe ich Fast alles zusammen tragen können was ich benötige um mein Spielstand zu reproduzieren. Diese Erkenntnisse möchte ich nun mit euch teilen und evtl kann der eine oder andere noch die Fehlenden Lücken schließen.

      Ich hoffe das es euch hilft.

      Hinweis! Bitte ladet beschädigte Savegams für die Entwickler hoch. Es könnte zur Verbesserung der Probleme beitragen!

      Reproduzieren der Savegame

      1. Es ist hilfreich wenn ihr die Möglichkeit habt euch noch Screenshots zu erstellen. Ist hilfreich für die Wiederherstellung von Maschinen und Felder

      2. Erstellt ein neues Profil und Startet es

      3. Spielt ihr mit Missionen müsst ihr nun zuerst die erste Mission Starten starten. Leider kommt es zu Konflikten wenn ihr zb. erst mögliche Rinder Wiederherstellt und dann die Mission Startet. Daher ist es zwingend erforderlich diese Mission zuerst abzuschließen!!

      3.1. Öffnet mit der Zirkumflex-Taste ( Über Tabulator und unter Esc) die Konsole

      3.2. Gebt den befehl "skipCondition" ein und bestätigt mit Enter. Damit springt ihr zu nächstem schritt der Mission. (Wenn ihr die Pfeiltaste hoch oder runter drückt während ihr in der Konsole seit erscheinen die Letzten Konsolen befehle die ihr eingegeben habt. Dadurch erspart ihr es euch sie immer wieder einzugeben.) Wiederholt nun den Befehl bis die Mission vollständig abgeschlossen ist. Ihr könnt das mit allen Missionen machen und so bis zu Eurer letzten Aktuellen Mission Springen

      4. Öffnet wieder mit der Zirkumflex-Taste ( Über Tabulator und unter Esc) die Konsole

      5. Mit dem befehl "goldencrops" erhaltet ihr Geld und mit "setPlayerLevel 7" Spieler Level 7

      6. Nun kauft ihr euch alle Maschinen, Felder und Rinder die ihr zuvor hattet. (Beachtet! Wenn ihr in der zeit Erfahrungspunkte bekommt setzt sich das Spieler Level zurück und ihr müsst erneut "setPlayerLevel 7" eingeben

      7. Wenn ihr jetzt alle Maschinen, Rinder und Felder erworben habt notiert euch alle eure Feldnummern und Speichert den Spielstand. Erstmal sind wir hier Fertig

      8. Nun müssen wir uns eine Mission erstellen. Dafür ist es empfehlenswert sich das Kostenlose Programm Notepad++ herunter zuladen da es uns das ganze erheblich vereinfacht.
      Notepad++ Original Seite

      9. Nun wird es etwas komplexer. Wir wollen uns nun eine Mission erstellen die unser exaktes Spieler Level, Feld zustand, und Geld wiederherstellt.
      (Hinweiß! Ich bin kein Profi mit so etwas. Daher wird die Erklärung vielleicht nicht ganz so Professionell ausfallen und für Könner er Satanisch wirken. Habt bitte Verständnis. Verbesserungen gerne gesehen!)

      9.1 Startet notepad++ Speichert euch die Datei erst mal ab. (Datei - Speichern unter - Speicherort auswählen - Ganz Wichtig!! Dateityp .xml (Das vorletzte in der liste) Sonnst wird die hinterher nicht erkannt.

      9.2 Nun fügen wir in der ersten Zeile Voralgenes ein.

      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>



      Das ist ein hinweiß für CnC und für uns sonnst nicht weiter wichtig.

      9.3 In der 3. Zeile kommt...

      XML Source Code

      1. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      Das ist der Start unserer Mission. Mit <mission sagen wir CnC das hier die Mission anfängst. Nachführend übermitteln wir ein paar grundlegende Variablen. Zb. autostop="1" Stopt die Mission automatisch wenn alles ausgeführt ist. restartable="1" sagt das die Mission wiederholbar ist, und world="world/albergtal_5_0/a5_albergtal" verweist auf die Map die wir Spielen.


      Nun müssen wir noch dem Spiel sagen wo die Mission endet. Das machen wir weiter unten mit...

      XML Source Code

      1. </mission>
      Nun sollte es so aussehen.

      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      3. </mission>

      9.4. Kommt die Beschreibung der Mission. Damit können wir dann Später sehen welche unsere ist.


      Dazu fügen wir in der 5. Zeile <name>Missionsname</name> und in der 6. Zeile <description type="short">Kurzbeschreibung</description> ein.
      Zur besseren übersiecht können wir die Zeilen mit jeweils ein Tabulator einrücken.

      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      3. <name>Wiederherstellung</name>
      4. <description type="short">Wiederherstellung</description>
      5. </mission>
      9.5. Jetzt starten wir die eigentliche Mission. In diesen bereich werden wir jetzt den zustand unserer Felder festlegen. Das heißt wir sagen ob das Feld gerade gepflügt ist, Abgeerntet oder mit Gerste bewachsen ist.


      Dazu fügen wir zuerst in Zeile 8 <start> ein und beenden es etwas weiter unten in zb 24 wieder mit </start> auch das können wir wieder etwas einrücken.
      Dann dazwischen machen wir das gleich mit <commands> und weiter unten </commands>

      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      3. <name>Wiederherstellung</name>
      4. <description type="short">Wiederherstellung</description>
      5. <start>
      6. <commands>
      7. </commands>
      8. </start>
      9. </mission>
      9.6. Nun kommt das wichtigste. <command type="setAcre" fieldId="3" acre="seed" fruitName="wheat" fruitGrowth="10" />

      Es ist nicht so schlimm wie es aussieht. ;)
      Der Anfang ist für uns nicht so wichtig. <command type="setAcre" sagt bloß das das eine Aktion mit einem Feld ausgeführt werden soll.
      fieldId="3" Sagt das es mit Feld Nummer 3 Gemacht werden soll. acre="seed" Das eine Saat gesetzt wird. fruitName="wheat" Fruchtart wheat und fruitGrowth="10" ist die Wachstumsstufe. Das heißt also das wir auf Feld 3 ein abgeerntetes wheat Feld haben... Gar nicht so schwer oder!?

      Übersicht:
      1. fieldId="Feldnummer"
      2. acre="seed" Was passier damit (Es gibt plow, cultivator oder seed) <command type="setAcre" fieldId="3" acre="plow" /> Feld 3 ist Gepflügt. <command type="setAcre" fieldId="3" acre="cultivator" /> Feld 3 ist Gegrubbert
      3. fruitName="wheat" Fruchtart (maize, barley, wheat und rye)
      4. fruitGrowth="10" Wachstumsstufe (Werte 0-12, wobei 0 frisch gesät ist und 10 bzw 11 - zumindest bei Mais, die abgeernteten Stoppel darstellt. Bei Stufe 12 und Weizen bekommt man Schwadhaufen)
      Die Zeilen können für jedes Feld einfach aneinander gereicht werden.

      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      3. <name>Wiederherstellung</name>
      4. <description type="short">Wiederherstellung</description>
      5. <start>
      6. <commands>
      7. <command type="setAcre" fieldId="3" acre="seed" fruitName="wheat" fruitGrowth="10" />
      8. <command type="setAcre" fieldId="4" acre="seed" fruitName="wheat" fruitGrowth="10" />
      9. <command type="setAcre" fieldId="5" acre="seed" fruitName="wheat" fruitGrowth="10" />
      10. </commands>
      11. </start>
      12. </mission>
      Display All
      10. Nun kommt unser Geld. Mit <command type="setMoney" money="Geldbetrag" /> setzen wir unser Konto auf einen Exakten geldwert.


      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      3. <name>Wiederherstellung</name>
      4. <description type="short">Wiederherstellung</description>
      5. <start>
      6. <commands>
      7. <command type="setAcre" fieldId="3" acre="seed" fruitName="wheat" fruitGrowth="10" />
      8. <command type="setAcre" fieldId="4" acre="seed" fruitName="wheat" fruitGrowth="10" />
      9. <command type="setAcre" fieldId="5" acre="seed" fruitName="wheat" fruitGrowth="10" />
      10. <command type="setMoney" money="117088" />
      11. </commands>
      12. </start>
      13. </mission>
      Display All
      11. Das war es erst mal im bereich Commands. Jetzt erzwingen wir noch einen Stop der Mission und setzen nach </Start> <stop/>


      12. Jetzt kommen die XP. Diese geben wir uns als Belohnung. Dazu Hengen wir nach dem <stop/> folgendes einfach an.

      XML Source Code

      1. <rewards>
      2. <reward type="playerExperience" xp="XP Zahl" />
      3. </rewards>
      Geschäft!


      Nun sollte alles so aussehen.

      XML Source Code

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <mission visible="1" observable="0" autostart="0" autostop="1" restartable="1" drawMode="active" silentstop="1" world="world/albergtal_5_0/a5_albergtal">
      3. <name>Wiederherstellung</name>
      4. <description type="short">Wiederherstellung</description>
      5. <start>
      6. <commands>
      7. <command type="setAcre" fieldId="3" acre="seed" fruitName="wheat" fruitGrowth="10" />
      8. <command type="setAcre" fieldId="4" acre="seed" fruitName="wheat" fruitGrowth="10" />
      9. <command type="setAcre" fieldId="5" acre="seed" fruitName="wheat" fruitGrowth="10" />
      10. <command type="setMoney" money="117088" />
      11. </commands>
      12. </start>
      13. <stop/>
      14. <rewards>
      15. <reward type="playerExperience" xp="XP Zahl" />
      16. </rewards>
      17. </mission>
      Display All
      YouTube: Evil Gaming TV

      Facebook: Evil Gaming TV

      i5-8400, 6x 2.80GHz | MSI Z270 Tomahawk | Crucial Ballistix Sport LT weiß DIMM Kit 16GB DDR4-2400 |MSI GeForce GTX 1070 Ti Gaming 8G, 8GB GDDR5 | Samsung SSD 850 Pro 250Gb 2x | H60 Wasserkühlung | 730W Thermaltake Netzteil
    • Jetzt speicher wir das ganze noch ein mal ab nach dem wir alles nach unseren wünschen angepasst haben.

      12. Jetzt müssen wir das ganze noch in den Passenden Ordner Packen.
      Dazu gehen wir nach C:\Users\"Dein Name"\Documents\My Games\Cattle and Crops\Mods und erstellen dort einen neuen Ordner mit den Name der Mission. Dort packen wir nun unsere Mission.xml rein. Jetzt geben wir ihr noch einen vernünftigen Name wenn wir das nicht schon zu Anfang gemacht haben und fertig.

      13. Jetzt laden wir unser Spieler Profil im Spiel und starten die Mission die unter aufgaben alle Quest und den vergebenen Name zu finden ist.
      Wichtig! Erst Speichern wenn alles kontrolliert ist und das gewünschte ziel erfüllt!!

      Leider weiß ich noch nicht wie ich die Silos wieder füllen kann. Sollte jemand wissen wie es geht ist eine Ergänzung sehr erwünscht.
      Sollte ich was vergessen haben oder solltet ihr Kritik an der Erklärung haben immer her damit.

      Hier ist meine letzte Wiederherstellung als Basis für euch oder als Hilfestellung.
      Mission_Wiederherstellung.zip
      YouTube: Evil Gaming TV

      Facebook: Evil Gaming TV

      i5-8400, 6x 2.80GHz | MSI Z270 Tomahawk | Crucial Ballistix Sport LT weiß DIMM Kit 16GB DDR4-2400 |MSI GeForce GTX 1070 Ti Gaming 8G, 8GB GDDR5 | Samsung SSD 850 Pro 250Gb 2x | H60 Wasserkühlung | 730W Thermaltake Netzteil

      The post was edited 4 times, last by Evildad ().