avatar_Zeus

Dekodierung der einzelnen .SAV Dateien

Begonnen von Zeus, 29. Dezember 2019, 18:00:36

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Zeus

Moin zusammen,

wie in einem anderen Thread schon erwähnt plane ich ein "Fantasy" File für A2G zu erschaffen.
Da ich das nicht komplett mit dem A2G-Editor machen möchte, würde ich das gerne über die .sav Dateien machen. Da hier viele Modder/Editierer rumlaufen die Frage: Welche Dateien wurden schon decodiert?
Es wäre deutlich einfacher die Sachen in Excel zu editieren und in das .sav Format zu überführen, als alles händisch im Editor zu machen...

Wer weiß also was? Ich habe heute bei der AVereine.sav angefangen, die noch recht logisch / einfach aufgebaut ist. Das, was ich herausgefunden habe, kann ich dann gerne auch posten. :)

lg
zeus

Zeus

Die Avereine.sav ging nun doch schneller als erwartet:

KRC Genk (= Teamname)
Genk (= Kurzname)
Tyl Ghyselinckstadion ( = Stadionname)
Genk ( = Ort des Stadions)
19 (= Heimtrikot-Farbe*)
0 (= Heimhosen-Farbe)
0 (= Heimstulpen-Farbe)
0 (= Auswärtstrikot-Farbe*)
3 (= Auswärtsthosen-Farbe)
0 (= Auswärtsstulpen-Farbe)
6 (= Länder-ID (z.B. 6 für Belgien)
17000 (= Stadionkapazität)
0 (= Finanzkraft (-1 = gering, 0 = mittel, 1 = hoch)
0 (= "Artikel" vor dem Teamnamen (0 = "kann der", 1 = "können die", 2 = "kann", 3 = "kann die")
0 (???)
Brockhauser (= Nachname Spieler)
István (= Vorname Spieler)
0 (= Fussballinländer (0 = nein, 1 = ja)
0 (= Hautfarbe (0 = weiß, 1 = dunkel, 2 = schwarz)
2 (= Haarfarbe)
34 (= Alter)
5 (= Stärke)
69 (= Nationalität (Länder-ID)
1 (= Hauptposition (1 = TW bis 10 = ST)
0 (= Nebenposition 1)
0 (= Nebenposition 2)
16 (= positive Fähigkeiten **)
0 (= negative Fähigkeiten **)
0 (= Eigenschaften ***)
0 (= Charakter + Gesundheitszustand ****)

*
Die Farben haben jeweils einen Zahlenwert von 0 (weiß) bis 12 (weinrot).
Dazu addiert wird dann noch das Muster (längs = 16, quer = 32, Halb/Halb = 64) usw. Ein braunes Trikot mit Brustring hätte also für den Editor den Wert 264, zusammengesetzt aus 8 für braun und 256 für Brustring.

**
Die Fähigkeiten werden ebenfalls addiert, wobei die oberste Fähigkeit einen WErt von "2" hat und jede dadrunter die Potenz von 2 ist (= 2, 4, 8, 16, bis hin zu "Beidfüßigkeit" mit 2048).
Hat ein Spieler nun z.B. Technik, Spielmacher und Freistöße, käme er auf 512 (Technik) + 1024 (Spielmacher) + 32 (Freistöße) = 1568.
Gleiches gilt für negative Eigenschaften. Bei Keepern fängt die Zahl wieder bei 0 an.

***
Bei Eigenschaften wird ebenfalls von 2 (...4, 8, 16, usw) hochgezählt.
Kurios hier: Ein Spieler hat dort eine 65 stehen, wo eigentlich eine 64 hingehört.

****
Dieser Wert wird (wie die Fähigkeiten) ebenfalls addiert, wobei der Hitzkopf den Wert 2 hat und die "Knieprobleme" der Wert 2048. 2050 wäre also Hitzkopf + Knieprobleme, während z.B. 1040 Nervenbündel + Anfälligkeit bedeutet. Oder 64 eben "nur" den Geldgeier.

Zeus

#2
Die Exspiel.sav listet die Spieler auf, die im Editor als "ehemalige Spieler" auftauchen. Die Liste ist wie oben, nur, dass die beiden letzten Zeilen die Länder- und Team ID anzeigen.
Diese IDs werden nicht in Klarschrift benannt, aber durch die Reihenfolge in der "LandDeut.sav" bzw. "Laender.sav" bestimmt.

Die Zahl in Zeile 2 gibt an, wieviele Spieler auf der Liste stehen.

Zeus

Weiß jemand, was es mit der Zahlenkombi 842610482 auf sich hat, die bei vielen Dateien als erstes steht?

Zeus

Die LandX (Landdeut.sav z.B.) habe ich auch durch.
In der Liga1DEU (o.Ä.) stehen wohl nur die Spielpläne.

Will morgen mal testen, ob man zusätzliche Teams eingefügt bekommt. ich weiß noch nicht, wie die Stadien eingelesen werden...das hat bisher irgendwie noch nichts zusammenhängendes.

Zeus

Schade, zwar kann man Teams einfügen und der Editor erkennt auch alles problemlos - aber das Spiel selber stürzt leider vor der Kalkulation ab.

Es scheint also im Programmcode festgelegt zu sein, wieviele "Slots" es gibt und nicht über die Datenbank geladen zu werden. Oder ich habe irgendwo einen anderen Fehler gemacht, wer weiß. :D

BONSTAR

#6
Y. Zusätzliche Teams sind meines Wissens nach nicht möglich, da die "Slots" begrenzt sind, bzw. genau festgelegt sind.

ZitatWeiß jemand, was es mit der Zahlenkombi 842610482 auf sich hat, die bei vielen Dateien als erstes steht?
Ich vermute, dass hat was mit dem Zugriff des Spiels, auf die jeweilige sav zu tun?

Bzgl. Trikots..
Zitat19 (= Heimtrikot-Farbe*)
0 (= Heimhosen-Farbe)
0 (= Heimstulpen-Farbe)
0 (= Auswärtstrikot-Farbe*)
3 (= Auswärtsthosen-Farbe)
0 (= Auswärtsstulpen-Farbe)

*
Die Farben haben jeweils einen Zahlenwert von 0 (weiß) bis 12 (weinrot).
Dazu addiert wird dann noch das Muster (längs = 16, quer = 32, Halb/Halb = 64) usw. Ein braunes Trikot mit Brustring hätte also für den Editor den Wert 264, zusammengesetzt aus 8 für braun und 256 für Brustring.
Über den Editor (via sav keine Ahnung) gibt es beim Brustring einen Bug. Und zwar, wenn ich zum Beispiel via Editor den roten Ring nehme, wird InGame die Farbe nach dem roten Ring genommen usw. Jedenfalls habe ich es so in Erinnerung, dass ich für mein File extra immer die Farbe danach genommen hatte, wenn ein Team einem Brustring auf dem Trikot hatte, damit es stimmig ist.
AJFM
ab S33 FS Teutonia Bonn: V-Pokal 43, Finalist 38, 41 & 42; N-Pokal 62, Finalist 60
ab S69 FS Rheinlöwen Bonn: V-Pokal 72

BONSTAR

#7
Edit. Bissle OT. Was ich über die Exe zuletzt mal geschafft hatte, war dass ich die Standardaufstellungen ändern konnte. Also die Anordung auch für die PC Vereine, dass diese standardmäßig mit einem 4-4-2, anstelle des 5-3-2 spielen, um dem DM anstelle des LIB mehr Einsätze zu ermöglichen. Leider habe ich die bearbeitete Exe nicht mehr. Ich meine aber, dass ich sie damals auch Bolero zugesende hatte. Eig. wollte ich damals schauen, ob ich anstelle der deutschen Mark, den Euro einführen kann, was mir leider nicht gelungen ist..
AJFM
ab S33 FS Teutonia Bonn: V-Pokal 43, Finalist 38, 41 & 42; N-Pokal 62, Finalist 60
ab S69 FS Rheinlöwen Bonn: V-Pokal 72

Zeus

Das klingt aber schonmal vielversprechend - womit hast du die .exe bearbeitet / geöffnet / decodiert?

BONSTAR

#9
Zitat von: Zeus am 31. Dezember 2019, 12:49:21
Das klingt aber schonmal vielversprechend - womit hast du die .exe bearbeitet / geöffnet / decodiert?
Hex-Editor? Ich weiß es nicht mehr so genau. Das ändern der Aufstellung, war aber recht simple. Ich musste nur ein paar Zahlen/Zeichen in bestimmten Zeilen tauschen. Was nicht so richtig ging, bzw. so ziemlich falsch dargestellt wurde, war der Versuch eigener Aufstellungen. Sprich, ich konnte nur die vorgegebenen Aufstellungen in der Reihenfolge ändern, dass die Comp-Vereine, standardmäßig auf das 4-4-2, anstelle des 5-3-2 zugreifen. Wobei eigene auch möglich sein dürften. Diese wurden lediglich nicht so dargestellt, wie ich es wollte,..
AJFM
ab S33 FS Teutonia Bonn: V-Pokal 43, Finalist 38, 41 & 42; N-Pokal 62, Finalist 60
ab S69 FS Rheinlöwen Bonn: V-Pokal 72

BONSTAR

Edit.. Zusätzlich noch aus einem alten Thread zur rest.sav Datei. Vllt. auch nicht ganz uninteressant:

Zitat von: b0nStaR am 11. April 2016, 00:23:59
NM Hauptländer:

Heimspiele der NM finden immer im erstgelisteten Stadion der STADxxx.sav statt. Will ich in einem anderem Stadion mein Heimspiel austragen, muss ich das entsprechende Stadion in der Datei nach oben setzten/tauschen. Wichtig ist es hier dann aber auch die Vereine in der LIGAxxx.sav zu tauschen.

Bei einer EM in einem Hauptland, finden alle Vorrundenspiele im Amateurstadion statt. Dieses ist in der rest.sav zu finden und kann dort bearbeitet werden. Die Viertelfinals finden in den viert- bis siebtgrößten Stadien statt. Die Halbfinals im zweit- & drittgrößten, das Finale im größten Stadion. (Daten aus der jeweiligen STADxxx.sav. Außer Amateurstadion in der Vorrunde).


Weitere spielbare Nationalmannschaften:

Die Heimspiele finden immer im jeweils erstgelisteten Land der rest.sav statt. In den Files, in denen Länder spielbarer NM getauscht wurden, müssen in der rest.sav ebenfalls die Stadiondaten getauscht werden. Bzgl. Austragungsland bei einer EM: Gleiche Spiel wie bei den Hauptländern. Nur dass auch hier, anders als bei den Hauptländern, auf die rest.sav zurückgegriffen wird.


Nicht spielbare Nationalmannschaften Europa:

Die Heimspiele finden im jeweils erstgelisteten Stadion aus der AVereine statt.


Weitere nicht spielbare Mannschaften aus der rest.sav:

Die Heimspiele finden im jeweils erstgelisteten Stadion der rest.sav statt. Heimspiele der EM: Gleiches wie bei weiteren spielbaren Nationalmannschaften.


Sonstige Nationalmannschaften ohne Stadiondaten:

Heimspiele finden im Amateurstadion (rest.sav) statt. - Ebenso Heimspiele von Amateurligisten im nat. Pokalspiel.


- Ein Teil der Achtelfinals bei Weltmeisterschaften, werden wahrscheinlich in den acht- bis zwölftgrößten Stadien stattfinden. (WM nicht getestet)
- Meine Eingangsfrage dürfte sich somit dann auch beantwortet haben. Auch die rest.sav hat ihren Sinn. Bei kommenden Userfiles sollte diese mit beachtet werden.
- Europäische Finalspiele und der Weltpokal werden denke ich auch auf die Daten zurückgreifen. Dort sind noch einmal extra Stadien aus Wembley, LA & Yokohoma gelistet.
- @Euphoniac: Ich gehe davon aus, dass bei gleichgroßen Stadien, dass zuerst gelistete berücksichtigt wird.
https://www.anstoss-juenger.de/index.php/topic,2961.0.html
AJFM
ab S33 FS Teutonia Bonn: V-Pokal 43, Finalist 38, 41 & 42; N-Pokal 62, Finalist 60
ab S69 FS Rheinlöwen Bonn: V-Pokal 72

Zeus

#11
Sind die Spielerpools in den "Jugendx.sav" Dateien ebenfalls mit der Anzahl festgelegt, oder können die erweitert werden?

BONSTAR

Zitat von: Zeus am 01. Januar 2020, 19:21:36
Sind die Spielerpools in den "Jugendx.sav" Dateien ebenfalls mit der Anzahl festgelegt, oder können die erweitert werden?
Sind festgelegt.
AJFM
ab S33 FS Teutonia Bonn: V-Pokal 43, Finalist 38, 41 & 42; N-Pokal 62, Finalist 60
ab S69 FS Rheinlöwen Bonn: V-Pokal 72

Zeus

Hach, das ist doch doof. :D

Immerhin geht das Editieren über Excel deutlich einfacher und schneller.

Zeus

Hat sich schonmal jemand an die RESDLL.dll gesetzt?

Dort ist sehr viel drin zu finden, u.A. sämtliche Grafiken und... Texte.
Nutze dieses Programm dazu: http://www.angusj.com/resourcehacker/#download