CE - Adressen

Begonnen von strajk-, 29. September 2020, 22:26:17

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

strajk-

EDIT - 30.07.23 - Sie dürfen in diesem Board keine Dateianhänge sehen.
Changelog:
- Tabelle auch für die GOG Version erstellt, verwendet habe ich die GOG 1.0 fix 2 Version auf Cheat Engine 7.5, andere habe ich nicht getestet

Lange nichts mehr in dieser Richtung gemacht, teilweise die Motivation aber auch Zeit verloren.
Hauptursache sind die diversen A2 Versionen die es gibt, was dazu führt das auch mit Pointers diese Table nicht funktioniert wenn ihr nicht die Original A2G DOS Version habt die man auf Virtuelle Maschinen zockt.

Was ich gerne machen wollte beim CT, war eine Zentrale Variable zu definieren wo ihr einfach nur die ID vom Spieler im Spielerkader eingeben wollt, z.b. der Torwart der zu oberst erscheint, ID 1 eingeben und schon habt ihr Zugriff auf alle seine Werte, dies habe ich bis jetzt aber nicht herausgefunden wie zu es zu machen ist mit solch eine alte CT Version.

Ältere Versionen:
Spoiler: ShowHide

EDIT - 29.07.23 - Sie dürfen in diesem Board keine Dateianhänge sehen.
Changelog:
- Es ist möglich dem Trainerlevel zu manipulieren, falls ihr wieder in die Regionalliga Spielen wollt, hier dem Level setzen, eine Woche Spielstand simulieren, und schon ist es Effektiv, Level 3 ist in meiner sicht das beste um ein Team zu finden.
- Es ist jetzt möglich euren Alter zu Ändern (Trainer und Trainerspieler)
Hier habe ich mich z.b. als 1 Jährigen gesetzt, was mir ermöglich eine Unlimitierte Spieldauer zu haben.
Werde somit nie zu alt dass das Game Over event gibt, und als Spielertrainer kann ich auch eine gute Karriere führen da wir nicht über 30 Jahre alt sind.
Trainerspieler Alter hängt ab von der Position wo ihr euch im "Spielerkader" Menü Befindet, bedeutet diese Offset Geschichte von 178 die ich beschrieben habe.
z.b. Seit ihr der dritte Spieler in der Spielerkader Auflistung, müsst ihr als Offset dem Spieler #1 + (178*3) setzen um auf dem Wert zu kommen das ihr auf Spieler #1 auch sehen könnt.

EDIT - 24.10.20 - Sie dürfen in diesem Board keine Dateianhänge sehen.
Habe eine Archivierte Version von Cheat Engine 6.3 gefunden, scheint die letzte zu sein das auf Windows 2000 läuft, hier kann ich headers erstellen, habe die Tabelle damit etwas besser Organisiert.
Diese neu organization hat dem Vorteil das man die Headers Player #1, #2...etc mit der Pfeil taste nach Links zusammenbrechen kann, und mit Rechts öffnen, hatte schon angefangen mühsam zu werden wegen der grosse Anzahl Adressen die ich dort schon aufgelistet habe =)
Ermöglicht somit auch das ich LUA Scripts ausführe um die Tabelle zu automatisieren, bedeutet das die minimum Version jetzt 6.3 anstelle von 5.6.1 ist, benötigt auch die Installation von VC++ 2005 Redist (32 bit):
https://www.microsoft.com/en-us/download/details.aspx?id=26347
Tabelle ist Verknüpft (A2G_CT_201024.zip), und hier noch ein Link zum Cheat Engine 6.3:
https://mega.nz/file/wJ9mQDzT#vGxWN_2vOUOrQZXPkC44qFZi1qeF0KE0OQjlfWno3e0


EDIT - 23.10.20 - Sie dürfen in diesem Board keine Dateianhänge sehen.
Verknüpft eine erste Version (A2G_CT_201023.zip) wo diverse Eigenschaften vom Ersten Spieler im Kader editiert werden können.
Spiel öffnen, Cheat Engine öffnen (minimum 5.6.1, geht auch mit neure Versionen), an Prozess Anstoss2.exe anhängen und Tabelle Laden.
Die organization der Tabelle gefällt mir zurzeit nicht da ich bei dieser alten 5.6.1 Version keine Headers erstellen kann um Adressen zu gruppieren und zu verstecken wenn die Gruppierung nicht offen ist, aber mindestens sind die Adressen auf Niveau zugeordnet.




Original Post:
Spoiler: ShowHide
Hallo zusammen,

bin zurzeit dabei ein Trainer für Anstoss 2 Gold zu Entwickeln, und/oder zu mindestens ein Cheat Table für Cheat Engine für diejenigen die keine Kompilierte .exe Ausführen wollen =)
Der trainer wird auf .NET Entwickelt und die Source in Github zur Verfügung gestellt sobald eine erste Version Vorhanden ist.

Hierbei wäre interessant herauszufinden welche Adressen im Memorybereich vom Spiel was verändert, da dies nur ein Hobbyprojekt sein wird werde ich mich nur während meiner Freizeit damit austoben um diese persönlich zu finden.
Nur so als Test habe ich zuerst versucht herauszufinden welche Adresse für dem ersten Spieler im Kader zuständig ist, dies scheint 007AFD0C zu sein, ein Byte mit dem Wert 1, setzt man diesen auf 2 wird der Spieler im Kader dupliziert.

Mit dieser Adresse als Referenz habe ich demnächst festgestellt das die Adresse 007AFD2C die Position vom Spieler ist, der Wert war auf 1, bedeutet Torwart, setze ich diesen auf 2 ist unser Torwart jetzt ein Libero =)
Hier im diesen Bereich währe interessant zu Dokumentieren welche Werte auf welche Position hinzuweist, sollte dementsprechend unkompliziert sein da der Wert 3 Manndecker ist, und 4 Linker Verteidiger...etc

Die Änderungen an dem Werten kann man im Spiel Visualisieren indem man in der Aufstellung dem Co-Trainer Knopf drückt um die Aufstellung zu generieren.
Bin dann ein Niveau tiefer in der Adresse getaucht, dieses mal auf 007AFD3C, dies scheint die Kondition von diesen Spieler zu sein, setze ich diesen Wert von 0 bis 100 kann ich somit die Kondition beeinflussen, ein zu hohen Wert führt zum Overflow, was zu negativen Kondition im Spiel führt, der Spieler währe mit solch einem Overflow auf Einsatzstärke 0.0 ;)

Um sicher zu sein das diese Adressen auch die richtigen sind, habe ich die gleichen Adressen bei anderen Spielständen geprüft, und erfreulich festgestellt das die gleichen Änderungen dem ersten Spieler bei dem gleichen Eigenschaften beeinflussen.

Hier habe ich mal aufgehöhrt zu suchen, da es erstmal nur ein Test meinerseits war um herauszufinden wie Kompliziert es ist diese Adressen herauszufinden, schöne fleissarbeit...

Ich habe dies bei einer Virtuellen Machine auf Windows 98 SE getestet, mit eine Archivierten Version von Cheat Engine 5.6.1:
http://web.archive.org/web/20120505091203/http://cheatengine.org/download/CheatEngine561.exe
Steht allerdings nichts dahinter dies auf Aktuelleren Windows Versionen zu probieren so lange ihr es natürlich in die reihe bekommt Anstoss 2 Gold auf neuere Versionen von Windows am laufen zu bringen, ich persönlich Zocke lieber auf eine VM =)

Wäre super somit zu Dokumentieren welche Adressen im Spiel was beeinflusst, und wer selber ein wenig interesse zu diesen Thema hat selber ein Beitrag zu geben ;)

strajk-

#1
Habe mich mal wieder ein wenig herumgetobt, und dies ist was ich bis jetzt gefunden habe:


Naja, Stärke 99 scheint ein wenig Radikal zu sein...Gegentore bekomme ich scheinbar keine mehr... :rolleyes:

Habe mittlerweile auch schon herausgefunden was der Offset zwischen Spielern ist, dies liegt in der Adressierung bei einem Offset von HEX 178 oder 376 DEC.
Somit ist es sehr einfach auf alle Spieler im Kader heranzukommen und deren Attribute zu visualisieren, vereinfacht die Arbeit die Spieler zu finden und deren Werte zu Manipulieren, der Abstand is Konsistent, springe ich immer HEX 178 nach vorne bekomme ich dem nächsten Spieler vom Kader, im meinem fall war es Neuer (007AFD0C) -> Ulreich (007AFE84) -> Starke (007AFFFE).



Somit muss ich mich nicht mehr mit dem anderen Spielern herumschlagen, hat ausgereicht dem ersten und zweiten herauszufinden und deren Offset zu berechnen, da ich jetzt dem Offset kenne komme ich an alle anderen ran.
Bedeutet das ich mich an die Attribute vom ersten Spieler konzentrieren kann, um so viele Eigenschaften wie möglich herauszufinden und zu entschlüsseln, dann muss ich nur noch dem herausgefundenen Offset einfügen und ich komme auch an die Eigenschaften von Spieler XYZ heran =)

Waldi98

Interessant, interessant. Der Marktwert ist beim 99er der enormen Stärke aber nicht hinterhergekommen ;)

Zu den Positionen und den Nummern: Wird sich dann wie in den sav-Dateien verhalten.

Zitat von: Waldi98 am 05. Dezember 2013, 18:30:02
Also bei A2G sieht das so aus bei den Spielern:

Nachname [max. 15 Zeichen lang - wie bei A3]
Vorname [max. 9 Zeichen lang, also drei weniger als bei A3]
0 [hier steht wohl immer 0]
Hautfarbe (0=hell, 1=dunkel, 2=schwarz) [asiatisch gibt es also nicht]
Haarfarbe (0=hellblond, 1=blond, 2=braun, 3=rot, 4= schwarz, 5=Glatze) [grau gibt es also nicht]
Alter in Jahren (17-50) [genaues Geburtsdatum gibt es nicht]
Stärke (1-7) [eine sinnvolle Umrechnungstabelle könnte ich dir geben - wobei es da auch ein Problem gibt...]
Nationalität [in A2G gibt es noch nicht so viele Nationen - zudem sind sie mit den neueren Datensätzen teils in einer anderen Reihenfolge]
Hauptposition (1=TW, 2=LI, 3=MD, 4=LV, 5=RV, 6=DM, 7=LM, 8=RM, 9=OM, 10=ST)
Nebenposition 1
Nebenposition 2
Positive Fähigkeiten (je nach Kombination)
Negative Fähigkeiten (je nach Kombination)
Eigenschaft (0=keine, 1=Führungsperson, 4=Kämpfernatur, 8=Trainingsweltmeister, 16=trainingsfauler Spieler, 32=Treter, 64=fairer Spieler, 128=Schwalbenkönig, 256=Allrounder, 512=flexibler Spieler, 1024=Heimspieler, 2048=Talent (17-24 Jahre)/ ewiges Talent (25-50 Jahre)
Charakter+Gesundheitszustand [je nach Kombination]

strajk-

Zitat von: Waldi98 am 30. September 2020, 18:34:03
Interessant, interessant. Der Marktwert ist beim 99er der enormen Stärke aber nicht hinterhergekommen ;)

Zu den Positionen und den Nummern: Wird sich dann wie in den sav-Dateien verhalten.

Scheint in der tat mit dem sav Datei zu übereinstimmen, super Referenz, danke!

Zeus

Nice. Sehr nice.
Das heißt, theoretisch könntest du eine Art "Savegame-Editor" basteln, wo man die .gld hochlädt, anpasst, speichert und dann im Spiel wieder lädt?

Kommst du auch an andere Dateien ran? :)

BONSTAR

Zitat von: Zeus am 01. Oktober 2020, 11:45:26
Nice. Sehr nice.
Das heißt, theoretisch könntest du eine Art "Savegame-Editor" basteln, wo man die .gld hochlädt, anpasst, speichert und dann im Spiel wieder lädt?

Kommst du auch an andere Dateien ran? :)
Mich interessieren ja noch immer mögliche Datenänderungen, dass man zum Beispiel die Fragen beim "Trainerseminar" aktualisieren kann :bier: Den Euro einzugügen und ein paar textliche Änderungen im Spiel (Wettbewerbe, Positionen etc.) vorzunehmen, ist uns ja bereits möglich :-)
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

strajk-

#6
Zitat von: Zeus am 01. Oktober 2020, 11:45:26
Nice. Sehr nice.
Das heißt, theoretisch könntest du eine Art "Savegame-Editor" basteln, wo man die .gld hochlädt, anpasst, speichert und dann im Spiel wieder lädt?

Kommst du auch an andere Dateien ran? :)

Gut möglich, würde behaupten das die Adressierungen statisch sind, unabhängig vom Spielstand, werde mich allerdings zuerst an Spieler im Kader Konzentrieren, dann an andere Elemente wie zum Beispiel Stadium, Finanzen, Trainer Fähigkeiten usw.
Editiert werden nicht die .gld Dateien selber, sondern der Speicher vom Spiel Direkt, jegliche Änderung die Vorgenommen wird muss vom Benutzer im Spiel abgespeichert werden.

Wäre wie zum Beispiel FMRTE für Football Manager.

Zeus

Ah, also quasi wie Artmoney damals.
Habe mal von solchen Programmen gehört...

strajk-

Naja, Artmoney ist ein poor mans Cheat Engine, ein Memory Editor mit limitierte Funktionalität.
Das program das ich schreiben werde ist dann schon ein Editor wo wir nicht selber die Adressen finden müssen, sondern die sind schon alle im Programm integriert, man muss nur die Werte einlesen und editieren.

strajk-

#9
Projekt steht zurzeit, habe zwar viele Adressen herausgefunden bleibt aber bei Cheat Engine da ich Anstoss 2 nicht rein in Windows 10 zum laufen bringen kann da ich nicht über die 2007 Jubiläumedition besitze.
Da die A2G Original CD ein 16bit Installshield Setup ist, wird dies von Win10 nicht unterstützt und einfach nicht aufgerufen.

Bin deshalb in der Freizeit mehr damit beschäftigt herauszufinden was zu dieser Fehlermeldung führt:
[attachment id=0 msg=342222]

Ist eventuell ein registry Eintrag oder irgend eine Datei.

Habe im Original Post die Table Verknüpft die ich zurzeit habe, habe lange dort nichts gemacht, nur die attribute für dem ersten Spieler gesucht (noch nicht alle) und dem zweiten und dritten vorbereitet.

22

Heftig. Unsere Träume könnten wahr werden und man kann die Ligensysteme evtl ändern... Oder gleichzeitig D3 und ENG3 zocken...

Hast Du das mit dem 99er schon mal getestet? Bei Anstoss 1 ist es mir damals auch relativ einfach gelungen 255er zu erstellen.
Die gingen zwar übelst ab und grad durch Einwechslungen solcher Mittelfeldspieler wurden die Spiele mit über 50 Toren auch gewonnen, allerdings wurde jeder dieser Spieler bei der nächsten Auswertung wieder auf 8 runtergestuft...

strajk-

Zitat von: 22 am 25. Oktober 2020, 12:46:30
Heftig. Unsere Träume könnten wahr werden und man kann die Ligensysteme evtl ändern... Oder gleichzeitig D3 und ENG3 zocken...

Hast Du das mit dem 99er schon mal getestet? Bei Anstoss 1 ist es mir damals auch relativ einfach gelungen 255er zu erstellen.
Die gingen zwar übelst ab und grad durch Einwechslungen solcher Mittelfeldspieler wurden die Spiele mit über 50 Toren auch gewonnen, allerdings wurde jeder dieser Spieler bei der nächsten Auswertung wieder auf 8 runtergestuft...

Getestet habe ich alles noch nicht zu 100%, erstmal habe ich versucht die Klassen Struktur der Spieler in der Software herauszufinden, um die so gut wie möglich zu Dokumentieren.
Fund zurzeit ist das sich die Adressen zwischen Saves nicht ändert, bleibt zu jeden Spielstand Konsistent.
Was ich nicht probiert habe, was passiert wenn ich einen Neuen Spieler Akquiriere oder einen Spieler Verkaufe, was passiert hier mit der Reihenfolge? Bleibt die gleich? Passt es sich gemäss IDs im Kader automatisch an?
Falls die gleich bleiben dann gibt es ein Problem, dann muss ich herausfinden wie man auf die neue Reihenfolge herankommt um auf die Korrekte Adressen zuzugreifen, es ist auch möglich das erst bei Begin einer neuen Saison die Adressen wieder neu organisiert werden, sind halt alles Themen über das Spiel das ich noch mit Cheat Engine analysieren muss während ich eine Saison simuliere.

Bei Anstoss 3 habe ich vor ein paar Jahren zum Beispiel auch ein Table generiert, habe aber schnell festgestellt das es viel schwieriger war auf die Werte ranzukommen und das die Adressen von Spielstand zu Spielstand andere sind, bei Spielstand A währe 011EBB88 die Stärke von Manuel Neuer, bei Spielstand B währe die gleiche Adresse ein Komplett anderer Spieler von einem anderen Verein auf einer anderen Liga, bei Anstoss 3 ist die ganze sache Komplexer. Bei A2G scheint es einfacher zu sein.

Georg1980

Hey könntest du mir bitte erklären, wie du einen Spieler auf 99 Stärke abändern konntest?
Deine Cheat-Tabelle funktioniert bei mir irgendwie nicht und die Adresse 007AFD2B für das Talent ändert bei meiner Mannschaft nix.

Liebe Grüße
Georg

strajk-

#13
Zitat von: Georg1980 am 01. November 2020, 17:27:59
Hey könntest du mir bitte erklären, wie du einen Spieler auf 99 Stärke abändern konntest?
Deine Cheat-Tabelle funktioniert bei mir irgendwie nicht und die Adresse 007AFD2B für das Talent ändert bei meiner Mannschaft nix.

Liebe Grüße
Georg

Hast du im Cheat Engine die Anstoss2.exe geladen? Falls ja, was für werte erscheinen in der Tabelle beim laden?
Was für eine Anstoss 2 Version spielst du? A2G Original CD? CD von A2007 wo A2 Vorhanden ist? Back to games? Oder eventuell eine andere?

Von Version zu Version kann es eventuell nicht funktionieren, meins ist die Original CD von A2G.

Falls dieser Trainer funktionieren sollte, dann sollten die Adressen von meinen Table bei dir auch gehen:
https://www.anstoss-juenger.de/index.php?action=downloads;sa=view;down=92

Hier noch ein Beispiel wie ich es mache:
https://streamja.com/6BlQa

Georg1980

Hi strajk,
hab die Anstoss 2007 CD auf der A2G schon inklusive mit drauf ist.
Das Problem ist, das er die Einträge gar nicht findet.
Welche Cheattable sollte ich denn nehmen?
Hab die ältere mir Cheat Engine 5.6.1.
Müsste doch auch gehen oder?

Ich öffne damit die run.exe, Kontostand in der schwarzen Kasse konnte ich ja auch schon ändern