Benvenuto Visitatore!  / Create an account

Valutazione discussione:
  • 1 voto(i) - 4 media
  • 1
  • 2
  • 3
  • 4
  • 5
[Rosso fuoco] Acquista solo 1 TM dai negozi [FR]
#1
Shocked 
Questa routine è usata per rendere possibile l'acquisto di una sola MT nel pokemarket, crediti a @eMMe97 per aver risolto il problema nella routine precedente.


[Immagine: PTjDkYM.png]   [Immagine: 50ihetJ.png]



Codice:
.thumb
.align 2
.equ rom, 0x8900000
inizio:
mov r1, r0
push {r1}
mov r0, r4
ldr r1, =(0x121)
cmp r0, r1
bge possibileTM
b noTM
possibileTM:
ldr r1, =(0x152)
cmp r0, r1
ble trovataTM
noTM:
pop {r1}
mov r0, r7
sub r0, #0xe
lsl r1, #0x10
fine:
ldr r2, =(0x0809BC4C +1)
.bxr2:
bx r2
trovataTM:
mov r0, r4
mov r1, #0x1
ldr r2, =(0x8099F40 +1) @ckeck_item
bl .bxr2
cmp r0, #0x0
beq noTM
pop {r1}
ldr r1, =(rom + frase)
ldr r2, =(0x0809BC66 +1)
bx r2
.align 2
frase: .byte 0xD3, 0xE3, 0xE9, 0x00, 0xD5, 0xE0, 0xE6, 0xD9, 0xD5, 0xD8, 0xED, 0x00, 0xE3, 0xEB, 0xE2, 0x00, 0xE8, 0xDC, 0xD5, 0xE8, 0x00, 0xCE, 0xC7, 0xAD, 0xFC, 0x09, 0xFF


Edita la parte  .equ rom, 0x8900000 inserendo al posto di "900000" l'offset di dove hai inserito la routine.

Recati all'offset 0x0809BC44 ed inserisci il puntatore in r1, quindi scrivi

Codice:
00 49 08 47 XX+1 XX XX 08
 Mi Piace Ricevuti: 
Bonnox and IvanFGK like this post
Cita messaggio
#2
Non ho capito come abbiano strutturato questa routine, quindi ne ho scritta una io tutta nuova.

Inserisci questa routine in uno spazio libero

Codice:
.thumb
.align 2

.equ rom, 0x8900000

inizio:
mov r1, r0
push {r1}
mov r0, r4
ldr r1, =(0x121)
cmp r0, r1
bge possibileTM
b noTM

possibileTM:
ldr r1, =(0x152)
cmp r0, r1
ble trovataTM

noTM:
pop {r1}
mov r0, r7
sub r0, #0xe
lsl r1, #0x10

fine:
ldr r2, =(0x0809BC4C +1)

.bxr2:
bx r2

trovataTM:
mov r0, r4
mov r1, #0x1
ldr r2, =(0x8099F40 +1) @ckeck_item
bl .bxr2
cmp r0, #0x0
beq noTM
pop {r1}
ldr r1, =(rom + frase)
ldr r2, =(0x0809BC66 +1)
bx r2

.align 2

frase: .byte 0xD3, 0xE3, 0xE9, 0x00, 0xD5, 0xE0, 0xE6, 0xD9, 0xD5, 0xD8, 0xED, 0x00, 0xE3, 0xEB, 0xE2, 0x00, 0xE8, 0xDC, 0xD5, 0xE8, 0x00, 0xCE, 0xC7, 0xAD, 0xFC, 0x09, 0xFF


Edita la parte  .equ rom, 0x8900000 inserendo al posto di "900000" l'offset di dove hai inserito la routine.

Recati all'offset 0x0809BC44 ed inserisci il puntatore in r1, quindi scrivi

Codice:
00 49 08 47 XX+1 XX XX 08

dove al posto delle xx c'è il puntatore della tua routine (nel mio caso ho inserito la routine a 0x08900000, quindi scriverò 00 49 08 47 01 00 90 08)

Fine.

Questo è il risultato:

[Immagine: PTjDkYM.png]    [Immagine: 50ihetJ.png]
[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]
 Mi Piace Ricevuti: 
Versekr Dark, PacoScarso, Flygon like this post
Cita messaggio
#3
mi aiuti sempre sei grande, ti voglio bene Big Grin @eMMe97 , thanks bro
 Mi Piace Ricevuti: 
eMMe97 likes this post
Cita messaggio




Utenti che stanno guardando questa discussione: 1 Ospite(i)