Yoyo
Je viens vous présenter quelques routines qui vous permettent de reprendre des Pokémons de l'équipe du joueur!
Remarque
Je ne suis en aucun cas l'auteur,ni celui àl'origine des routines,je viens juste apporter des explications sur comment faire ce qui a été dit plus haut
Tous les crédits reviennent à HackMew
Pour voir le tuto d'origine,Tuto de HackMew
Passons,les routines sont (en principe,sur RF en tout cas) compatibles avec les Roms FR
Les Routines
RF/VF
R/S
EM
L'Utilisation
Pour utiliser les Routines ci-dessus,vous les mettez dans un script
Le Slot varie de 0 à 5 (0 pour le premier Slot et 5 pour le dernier)
La Routine+1 est l'offset où vous avez inséré la Routine + 1
Voilà voilà
Je viens vous présenter quelques routines qui vous permettent de reprendre des Pokémons de l'équipe du joueur!
Remarque
Je ne suis en aucun cas l'auteur,ni celui àl'origine des routines,je viens juste apporter des explications sur comment faire ce qui a été dit plus haut
Tous les crédits reviennent à HackMew
Pour voir le tuto d'origine,Tuto de HackMew
Passons,les routines sont (en principe,sur RF en tout cas) compatibles avec les Roms FR
Les Routines
RF/VF
Spoiler
.text
.align 2
.thumb
.thumb_func
.global TakePokemon
main:
push {r0-r7, lr}
mov r5, #0x0
ldr r6, .VAR
ldr r7, .POKEMON_AMOUNT
ldrb r4, [r7]
cmp r4, #0x2
blt return
ldrh r3, [r6]
cmp r3, r4
bhs return
sub r2, r4, #0x1
strb r2, [r7]
add r3, #0x1
sub r2, r4, r3
mov r5, #0x64
mul r2, r5
lsr r2, r2, #0x1
mul r3, r5
ldr r7, .POKEMON_PARTY
add r0, r7, r3
sub r1, r0, r5
swi #0xB
mul r4, r5
add r7, r4
sub r7, r5
mov r0, #0x0
mov r2, #0x19
mov r5, #0x1
erase_loop:
stmia r7!, {r0}
sub r2, #0x1
cmp r2, #0x0
bne erase_loop
return:
strh r5, [r6, #0x10]
pop {r0-r7, pc}
.align 2
.POKEMON_AMOUNT:
.word 0x02024029
.POKEMON_PARTY:
.word 0x02024284
.VAR:
.word 0x020270B8 + (0x8004 * 2)
.align 2
.thumb
.thumb_func
.global TakePokemon
main:
push {r0-r7, lr}
mov r5, #0x0
ldr r6, .VAR
ldr r7, .POKEMON_AMOUNT
ldrb r4, [r7]
cmp r4, #0x2
blt return
ldrh r3, [r6]
cmp r3, r4
bhs return
sub r2, r4, #0x1
strb r2, [r7]
add r3, #0x1
sub r2, r4, r3
mov r5, #0x64
mul r2, r5
lsr r2, r2, #0x1
mul r3, r5
ldr r7, .POKEMON_PARTY
add r0, r7, r3
sub r1, r0, r5
swi #0xB
mul r4, r5
add r7, r4
sub r7, r5
mov r0, #0x0
mov r2, #0x19
mov r5, #0x1
erase_loop:
stmia r7!, {r0}
sub r2, #0x1
cmp r2, #0x0
bne erase_loop
return:
strh r5, [r6, #0x10]
pop {r0-r7, pc}
.align 2
.POKEMON_AMOUNT:
.word 0x02024029
.POKEMON_PARTY:
.word 0x02024284
.VAR:
.word 0x020270B8 + (0x8004 * 2)
R/S
Spoiler
.text
.align 2
.thumb
.thumb_func
.global TakePokemon
main:
push {r0-r7, lr}
mov r5, #0x0
ldr r6, .VAR
ldr r7, .POKEMON_AMOUNT
ldrb r4, [r7]
cmp r4, #0x2
blt return
ldrh r3, [r6]
cmp r3, r4
bhs return
sub r2, r4, #0x1
strb r2, [r7]
add r3, #0x1
sub r2, r4, r3
mov r5, #0x64
mul r2, r5
lsr r2, r2, #0x1
mul r3, r5
ldr r7, .POKEMON_PARTY
add r0, r7, r3
sub r1, r0, r5
swi #0xB
mul r4, r5
add r7, r4
sub r7, r5
mov r0, #0x0
mov r2, #0x19
mov r5, #0x1
erase_loop:
stmia r7!, {r0}
sub r2, #0x1
cmp r2, #0x0
bne erase_loop
return:
strh r5, [r6, #0x10]
pop {r0-r7, pc}
.align 2
.POKEMON_AMOUNT:
.word 0x03004350
.POKEMON_PARTY:
.word 0x03004360
.VAR:
.word 0x0201E8C4 + (0x8004 * 2)
.align 2
.thumb
.thumb_func
.global TakePokemon
main:
push {r0-r7, lr}
mov r5, #0x0
ldr r6, .VAR
ldr r7, .POKEMON_AMOUNT
ldrb r4, [r7]
cmp r4, #0x2
blt return
ldrh r3, [r6]
cmp r3, r4
bhs return
sub r2, r4, #0x1
strb r2, [r7]
add r3, #0x1
sub r2, r4, r3
mov r5, #0x64
mul r2, r5
lsr r2, r2, #0x1
mul r3, r5
ldr r7, .POKEMON_PARTY
add r0, r7, r3
sub r1, r0, r5
swi #0xB
mul r4, r5
add r7, r4
sub r7, r5
mov r0, #0x0
mov r2, #0x19
mov r5, #0x1
erase_loop:
stmia r7!, {r0}
sub r2, #0x1
cmp r2, #0x0
bne erase_loop
return:
strh r5, [r6, #0x10]
pop {r0-r7, pc}
.align 2
.POKEMON_AMOUNT:
.word 0x03004350
.POKEMON_PARTY:
.word 0x03004360
.VAR:
.word 0x0201E8C4 + (0x8004 * 2)
EM
Spoiler
.text
.align 2
.thumb
.thumb_func
.global TakePokemon
main:
push {r0-r7, lr}
mov r5, #0x0
ldr r6, .VAR
ldr r7, .POKEMON_AMOUNT
ldrb r4, [r7]
cmp r4, #0x2
blt return
ldrh r3, [r6]
cmp r3, r4
bhs return
sub r2, r4, #0x1
strb r2, [r7]
add r3, #0x1
sub r2, r4, r3
mov r5, #0x64
mul r2, r5
lsr r2, r2, #0x1
mul r3, r5
ldr r7, .POKEMON_PARTY
add r0, r7, r3
sub r1, r0, r5
swi #0xB
mul r4, r5
add r7, r4
sub r7, r5
mov r0, #0x0
mov r2, #0x19
mov r5, #0x1
erase_loop:
stmia r7!, {r0}
sub r2, #0x1
cmp r2, #0x0
bne erase_loop
return:
strh r5, [r6, #0x10]
pop {r0-r7, pc}
.align 2
.POKEMON_AMOUNT:
.word 0x020244E9
.POKEMON_PARTY:
.word 0x020244EC
.VAR:
.word 0x020275D8 + (0x8004 * 2)
.align 2
.thumb
.thumb_func
.global TakePokemon
main:
push {r0-r7, lr}
mov r5, #0x0
ldr r6, .VAR
ldr r7, .POKEMON_AMOUNT
ldrb r4, [r7]
cmp r4, #0x2
blt return
ldrh r3, [r6]
cmp r3, r4
bhs return
sub r2, r4, #0x1
strb r2, [r7]
add r3, #0x1
sub r2, r4, r3
mov r5, #0x64
mul r2, r5
lsr r2, r2, #0x1
mul r3, r5
ldr r7, .POKEMON_PARTY
add r0, r7, r3
sub r1, r0, r5
swi #0xB
mul r4, r5
add r7, r4
sub r7, r5
mov r0, #0x0
mov r2, #0x19
mov r5, #0x1
erase_loop:
stmia r7!, {r0}
sub r2, #0x1
cmp r2, #0x0
bne erase_loop
return:
strh r5, [r6, #0x10]
pop {r0-r7, pc}
.align 2
.POKEMON_AMOUNT:
.word 0x020244E9
.POKEMON_PARTY:
.word 0x020244EC
.VAR:
.word 0x020275D8 + (0x8004 * 2)
L'Utilisation
Pour utiliser les Routines ci-dessus,vous les mettez dans un script
Code: [Sélectionner]
#dynamic 0xoffset
#org @start
setvar 0x8004 0xSlot
callasm 0x8Routine+1
end
Le Slot varie de 0 à 5 (0 pour le premier Slot et 5 pour le dernier)
La Routine+1 est l'offset où vous avez inséré la Routine + 1
Voilà voilà