[FR GER] Auslesen und verwenden der Secret ID

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • So, ich habe in vielen Foren bereits Einiges für das Auslesen der Secret ID's in Englischen Roms gefunden. Allerdings nie etwas für Deutsche. Deswegen habe ich mich mal hingesetzt und die Offsets gesucht. Sie sind gar nicht so verschieden zu den Englischen. Naja nun zum eigentlichen Tutorial:


    Was wird benötigt:


    Eine Rom(klar)
    Ein Hexeditor nach Wahl
    Ein beliebiges Scriptprogramm(wer will kanns auch mit Hexeditor machen ich benutze XSE)


    Vorgangsweiße:


    Nun, zuallererst müssen wir uns klar werden, dass die Secret ID, so wie alle anderen Daten über den Spieler wie Name, Geschlecht, Trainer ID, ... nur an einer bestimmten Stelle im RAM stehen. Wenn wir die wissen, könnnen wir mit einem ASM Script bereits auslesen und in eine Variable schreiben (zur einfachen Bedienung des Scripts nehme ich 0x800D, das ist LASTRESULT). Zuerst müssen wir aber wissen, wie der Script aufgebaut ist. Ich habe ihn mit dem Thumb Befehlssatz geschrieben. Der ist schneller und bietet auch sonst einige Vorteile, allerdings muss man beim Verwenden aufpassen. Ihr müsst ihn an ein gerades Offset schreiben(am besten gleich am Anfang 0x800000, dann könnt ihr keine Fehler machen) und vorallem beim Aufruf muss man noch was beachten.
    Hier ist der Script:


    03B50348006803498089088003BDC0465C4F0003D0700302


    Das ganze einfach mit dem Hexeditor einfügen.
    Jetzt zu XSE. Ihr nehmt einen beliebigen Script aus dem Spiel (oder schreibt einen neuen), das ganze einfach nach dem Schema:


    Code
    lockfaceplayer......releaseend


    ein normaler Script eben. Für den Aufruf der ASM Routine macht ihr jetzt folgendes:


    Code
    callasm 0xoffset +1


    das heißt wenn euer Script an 0x800000 steht müsst ihr schreiben "callasm 0x800001", das ist wichtig weil der Script sonst als ARM ausgeführt wird und, ja genau, das funktioniert nicht.


    Anschließend könnt ihr das ganze weiterverarbeiten, ein Beispiel ich schiebe das ganze in einen buffer:



    Ihr könnt danach was weiß ich mit der Nummer anstellen, ihr könnt prüfen ob sie größer als irgendwas ist und dann was machen, was weiß ich. Lässt sich für vieles einsetzen^^


    Ich möchte mich an dieser Stelle auch an HackMew(auch wenn er das jetzt nicht ließt) bedanken für sein Tutorial. Ich habe beim suchen nach den deutschen Offsets auch seine für die Englischen verwendet. Thank you very much HackMew!


    Ich hoffe ihr könnt das jetzt irgendwie verwenden oder so :)