Registrarse

Cómo se pone mote?

Estado
Cerrado para nuevas respuestas.
Buenas, estaba haciendo un script en el que me daban un Pokémon, pero me saltó la pregunta sobre qué Special hay que usar para poner mote a justo el Pokémon que te dan: Me se que la special 0x9E es para poner mote al peimer Pokémon del equipo. Necesito una en la que se especifique que quiero poner mote justamente al Pokémon que me da. Si por algún casual no hay un special así, creo que había uno para elegir al Pokémon al que cambiar mote, como el señor que te permite volver a poner otro mote al Pokémon que quieras. Por cierto, la ROM es Fire Red. Gracias de antemano.:D
 

Cheve

MoonLover~
Miembro de honor
Ando desde el celular, pero mira en un script cualquiera en el que te den un Pokemon y antes del special debería haber un countpokemon y luegi un "copyvar 0xYYYY LASTRESULT, dinde yyyy es la variable que controla Qué Pokemon va a tener un nuevo mote
 

Cheve

MoonLover~
Miembro de honor
Lo estuve mirando y funciona con la variable 0x8004

En el equipo tienes 6 pokémons (del 0x0 al 0x5), cuando usas un givepokemon éste se pone último, por lo que para obtener su casilla usas el comando: "countpokemon" (0x0 a 0x6) y le restas uno a la variable para tener el valor en su casilla.
En realidad no es tan complicado, sino que es usar un poco de lógica y matemática. Aquí te dejo un ejemplo:


...
countpokemon ' Almacena en 0x800D (LASTRESULT) la cantidad de pokes que tienes

compare LASTRESULT 0x6 ' Si ya tenemos 6 pokémons en el equipo lo mandará al PC
if 0x2 call @EnviarAlPC ' es decir, el script continuará en @EnviarAlPC

givepokemon 25 10 0x0 0x0 0x0 0x0 ' damos el pokemon que queremos


copyvar LASTRESULT 0x8004 'Copiamos el valor de LASTRESULT (Dado por countpokémon)
subvar 0x4050 0x1 ' Restamos 1 al valor copiado en 0x4050 para que nos dé el número
' del pokemon en la party (Éste paso solo si NO es el primer pokémon que recibiremos) (En cuyo caso YA sabemos que será el 0x0)

fadescreen 0x1 'Realizamos la llamada al Special, el fadescreen es estético, el
special 0x9E 'waitstate es obligatorio
waitstate

...



(Para los amantes de ahorrar espacio, en FR, el offset 0x1A74EB es un offset comodín hecho para cada vez que se va a poner un mote)

Espero que quede claro, sino, me avisas
 
Estado
Cerrado para nuevas respuestas.
Arriba