Registrarse

[RH - Scripting] Comprobar si un pokemon está capturado

Estado
Cerrado para nuevas respuestas.

Nachoius

Caminante del cielo
Tengo una duda sobre la comprobación si un pokemon está captuado, se que el special 163 es el que hace esa tarea, pero tengo problemas con la estructura del scritps, en palabras simples quiero hacer un goto para cuando esté capturado y otro goto para cuando no lo esté. Pero como decía no se me ocurre la estructura que debe tener el script para este objetivo.

Entiendo que debe ir el comando setvar 0xvar 0xspecie, y luego el special 163, pero no sé como hacer el resto del scritp

setvar 0x8004 0x( )
special 0x163​


Agradecería mucho si me ayudan.


CORRECIÓN: al parecer el special 163 lo que hace es solo registrar un pokemon como visto en la pokedex pero nada más. googleando lo unico que he encontrado en la web ha sido esto, pero tampoco es esclarecedor.
https://www.pokecommunity.com/showthread.php?p=9887478
 
Última edición:

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Se que te he respondido por discord pero lo pongo aqui para aquel que lo necesite

Código:
.text
.align 2
.thumb

main:
    push {r0-r2, lr}
    ldr r0, =0x020370D0
    ldrh r0, [r0]
    mov r1, #1
    ldr r2, =(0x08104AB0+1)
    bl linker
    ldr r1, =0x020370D0
    strh r0, [r1]
    pop {r0-r2, pc}

linker:
    bx r2
Parametro de entrada 0x800D el ID del poke. Parametros de salida 0x800D un 1 si esta caturado (creo, no lo he comprobado, si no es os toca investigarlo a vosotros)
 

Nachoius

Caminante del cielo
Se que te he respondido por discord pero lo pongo aqui para aquel que lo necesite

Código:
.text
.align 2
.thumb

main:
    push {r0-r2, lr}
    ldr r0, =0x020370D0
    ldrh r0, [r0]
    mov r1, #1
    ldr r2, =(0x08104AB0+1)
    bl linker
    ldr r1, =0x020370D0
    strh r0, [r1]
    pop {r0-r2, pc}

linker:
    bx r2
Parametro de entrada 0x800D el ID del poke. Parametros de salida 0x800D un 1 si esta caturado (creo, no lo he comprobado, si no es os toca investigarlo a vosotros)

funciona perfectamente, compruebo si tengo un venusaur ID : 03

#dynamic 0x800000

#org @start
setvar LASTRESULT 0x3
callasm 0x(offset rutina+1)
compare LASTRESULT 0x1
if 0x1 goto @snippet1
msgbox @string1 MSG_NORMAL
release
end

#org @snippet1
msgbox @string2 MSG_NORMAL
release
end

#org @string1
= no lo tiene

#org @string2
= si lo tiene

la dejo compilada para los vagos

07 B5 05 48 00 88 01 21 04 4A 00 F0 03 F8 02 49 08 80 07 BD 10 47 00 00 D0 70 03 02 B1 4A 10 08
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba