Ver Mensaje Individual
  #16  
22/11/2018
Predeterminado Respuesta: Re: Respuesta: [ASM] Checktype
Dicho por EnamoratDeKatie Ver mensaje
Buenas amigo. ¿Qué es lo que has querido hacer ahí? No lo entiendo bien :/

Fíjate que independientemente de la cantidad de pokes que tengas, ejecutas exactamente lo mismo.
Deberías aprender un poco más sobre optimización, emplear calls y demás.

¿Querías que revisara siempre el último pokémon en tu equipo? Eso es muy sencillo. Hagamos esto:
  1. Contemos los pokes que hay en el equipo.
  2. Restémosle uno para obtener el índice del último poke.
  3. Pongamos en la variable 0x8004 este valor y en la 0x8005 el valor del tipo que queremos comparar.
  4. Llamemos a la rutina.
  5. Revisemos el valor de la variable 0x8005.

Dejo por aquí un script de ejemplo

XSE


Código:

#dynamic 0x800000

#org @start
countpokemon 'Guarda en la variable 0x800D la cantidas de pokes en el equipo
subvar 0x800D 1 'Le resta uno para saber el índice del último poke
copyvar 0x8004 0x800D 'Copia el valor a la variable que usa la rutina
setvar 0x8005 0xC 'Tipo planta
callasm 0x08800001 'Offset de la rutina + 1
compare 0x8005 1
if 5 goto @noestipoplanta
msgbox @mensajetipoplanta 6
end

#org @noestipoplanta
msgbox @mensajenotipoplanta 6
end

#org @mensajetipoplanta
= Es tipo planta.

#org @mensajenotipoplanta
= No es tipo planta.



Red Alien


Código:

#dyn 0x800000
#org @start
countpokemon 'Cuenta la cantidad de pokes que hay en el equipo
subvar 0x800D 1 'Resta uno para tener el índice del último poke
copyvar 0x8004 0x800D 'Pasa el valor a la variable que usa la rutina
setvar 0x8005 0xC 'Tipo planta
callasm 0x08800001 'Offset de la rutina + 1
if (0x8005 == 1) {
    loadptr @mensajetipoplanta
    callstd 6
    end
}
else {
    loadptr @mensajenotipoplanta
    callstd 6
    end
}

Oh muchas gracias, no había entendido bien el como comparaba a los pokémon.