Bonjour,
Je cherche à récupérer les données de Super Mario Bros sur SNES pour un projet scolaire.
J'ai repéré les adresses qui m'intéresse grâce a Cheat Engine (score, temps, mort, fin du jeu ...).
J'utilise NomadMemory et la fonction _MemoryRead pour trouver ces données. Sauf que ces données, dans le jeu, sont codés dans des tableaux d'octets.
Par exemple le score :
un score de 19500 est codé comme suit : 0x 01 09 05 00 00 dans un tableau. Donc a l'envers dans (8 Bytes d'après Cheat engine) 00 00 05 09 01 ...
J'ai donc du mal a récupérer comme il faut le code sachant que j'utilise la fonction _MemoryRead comme suit : _MemoryRead(0x0072BC37 ,$Processus ,"int")
Je ne sais pas quoi mettre en troisième paramètre pour avoir un tableau ou bien comment récupérer en hexa l'entier.
J'ai cherché sur le site du zéro et sur le tuto sur la mémoire mais je n'ai rien trouvé.
Pouvez vous m'aider ?
Merci.
[R] Recuperation de données specifiques
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Recuperation de données specifiques
Modifié en dernier par killshout le sam. 27 mars 2010 11:44, modifié 1 fois.
Re: [..] Recuperation de données specifiques
C'est bon j'ai trouvé voila comment j'ai procédé :
Et ensuite je le changeais comme suit :
Code : Tout sélectionner
$Score[0] = _MemoryRead(0x0072BC37 ,$Processus ,"ubyte")
$Score[1] = _MemoryRead(0x0072BC38 ,$Processus ,"ubyte")
$Score[2] = _MemoryRead(0x0072BC39 ,$Processus ,"ubyte")
$Score[3] = _MemoryRead(0x0072BC3A ,$Processus ,"ubyte")
$Score[4] = _MemoryRead(0x0072BC3B ,$Processus ,"ubyte")Code : Tout sélectionner
Func ArrayToScore($Array)
Return $Array[4]*10 + $Array[3]*100 + $Array[2]*1000 + $Array[1]*10000 + $Array[0]*100000
EndFunc
