tuts_gba
Thread Id: 25420
Thread Name: GBA | Scripting | ¡Cambia los movimientos y PP de cualquier Pokémon de tu equipo!
#0
Loony Boo♪ 12263
Hola muchachos, hoy os traigo una utilidad de lo más interesante que he encontrado en Pokecommunity, se trata ni más ni menos que de una rutina que os permite cambiar los movimientos de cualquiera de los Pokémon que llevéis en vuestro equipo, créditos antes que nada a Rasenshurikenbum. Y bien, ¿para qué sirve esto? Pues es sencillo, si quieres hacer un givepokemon en el que te entreguen a un Pokémon, podréis ponerle los movimientos que queráis.

Bien, pequeñas anotaciones en el modo de empleo:

1. Descarga la rutina: >>Descarga aquí<<
2. Elige el script que corresponda a tu rom base.
3. Inserta la rutina en tu rom (y si no tienes ni zorra idea, pues aquí tienes un tuto in inglish: ¡Tachán!
4. Ahora haz tu script normal con tu givepokemon.
5. Ahora tienes que ir usando setvar para chorrocientas variables, ve completando los distintos campos que aparecen abajo. ¡Importante! Los valores SIEMPRE en hex, y aunque sólo vayas a cambiar un movimiento, debes especificar los valores para los otros tres movimientos (osea, te toca rellenar todo, pillastre):

0x8000 - ID del Movimiento 1
0x8001 - ID del Movimiento 2
0x8002 - ID del Movimiento 3
0x8003 - ID del Movimiento 4
0x8004 - La posición del Pokémon al que le vayas a cambiar el movimiento (la fórmula es n-1, donde n es el número del Pokémon; si por ejemplo quieres cambiar los movimientos del número 5, pues n=5, osea, que el valor será 4).
0x8005 - Número de PP del movimiento 1
0x8006 - Número de PP del movimiento 2
0x8007 - Número de PP del movimiento 3
0x8008 - Número de PP del movimiento 4

6. Ahora llama a la rutina, para eso usas el comando callasm:

callasm "el offset de tu rutina + 1" (si tu rutina tiene el offset 0x800000 , then pues escribes "callasm 0x800001").

Preguntas frikis

¿Y esto se puede usar para cambiar los movimientos a otros Pokémon?
¡Efectivywonder!

¡Ja, te pillé! Melón, ¿qué piensas hacer para saber cada uno de los movimientos del Pokémon y no cagarla?
:yauh:

¿Y para el número de Pokémon qué, eh?
Juega con el comando countpokemon y el valor de LASTRESULT.

¿Eh?
En resumidas cuentas: countpokemon y copyvar.


Pues nada, gracias a todos por leer el tema y espero que os sea de ayuda.

¡Jira jira... Jirachii!
#1
Tito Sayer301 26309
Hummm... Me gusta mucho esta idea, así podría hacer una de las cosas que tenia pensadas antes y pense que era imposible por no poder entregar pokemons con ataques definidos.

Ahora me entra una duda enorme, cuando haces un givepokemon, no eliges la posicion en la que entra el pokemon simplemente se pone el ultimo y si esta lleno al PC sin mas complicacion.
¿Si omitiese esa variable, se colocaría al final? O habria qe hacer varios countspokemon para que se coloque en un sitio u otro dependiendo de como este el equipo?
Imagino que para enviarlo al PC habra que poner un 6 no?

La verdad es que es algo confuso el tema, pero me ha causado muchisima curiosidad, lo investigare, lo guardo en favoritos y un +gracias que te llevas!!!
#2
Loony Boo♪ 12263
Deberás tener el hueco en el equipo necesariamente, y para establecer la posición en la variable, basta con que uses el comando countpokemon y el valor de LASTRESULT lo copias en la variable 8004 con copyvar.
#3
G0LD_ZTHVARD0X! 27515
Gracias por traer para aca este aporte, lo usare para mi proyecto, eso de tener movimientos custom en los givepokemon mola c:

Saludos!!!
#4
Chamber4315♪ 26330
:feel like nintendo:

Ahora podremos tener nuestros propios pokemon de evento, como el Dratini con extreme speed o Magikarp con Hydropump!!!

Muy buen aporte, gracias!
#5
Brock 25910
Yo tengo una pregunta,
No se si esta explicado en el tutorial, porque por lo que yo leo, solo se puede modificar los movimientos y PPs..
Pero... se pueden modificar las habilidades?
Es por ejemplo, para hacer un torichic con IMPULSO( cameo a X e Y )
se podria hacer-? o solo se podria hacer con el Yape?
#6
Cheve_X 15014
Iniciado por oscar1234
Yo tengo una pregunta,
No se si esta explicado en el tutorial, porque por lo que yo leo, solo se puede modificar los movimientos y PPs..
Pero... se pueden modificar las habilidades?
Es por ejemplo, para hacer un torichic con IMPULSO( cameo a X e Y )
se podria hacer-? o solo se podria hacer con el Yape?


Si te refieres a las habilidades de los pokémon, que dan habilidades especiales, pues no, necesitas otra rutina, que escriba específicamente en la Data del pokémon (Pues se encuentra en otra parte) (En la parte de la "Data", específicamente con los 8 bits últimos que afectan al sexo del pokémon, si ese número (que vá random entre los valores posibles) es par o impar dependerá si el pokémon tiene su primer habilidad o segunda habilidad) ( Personality value - Bulbapedia, the community-driven Pokémon encyclopedia )
Pero no es posible "darle" una habilidad que no tenga antes, a no ser que cambies toda la rutina que chequea si es par o no y la cambies por alguna otra cosa (Digamos que chequee bits o byte de otro lado)
¡Saludetes!
#7
Megascep_9 Kuchiki 28187
Que buen tutorial, muy bien
explicado y todo...

Ya esto de las rutinas ASM
cada vez se hacen más
presentes en nuestros juegos,
hasta donde llegaremos XD.

Aunque posiblemente no lo
use en mi hack, pero aún así
se te agradece.

Saludos.
#8
Horus Pen. 24335
Muy buen aporte, creo que los PP sí se podían cambiar con WBTO, pero los movimientos era imposible xDD bueno, te doy un gracias. Por cierto cada ves veo más gente usando ASM, que genial (:

Saludos.
#9
Powergirl 28584
pues lamentablemente no tengo ni pajonera idea de lo que se está hablando aqui, sobretodo la parte que menos entiendo es
"setvar como chorrocientas veces"
en donde aplico el setvar?, alguien tiene un tutorial mejor explicado?
#10
Ciro4315♪ 17148
Iniciado por laflacapkm
pues lamentablemente no tengo ni pajonera idea de lo que se está hablando aqui, sobretodo la parte que menos entiendo es
"setvar como chorrocientas veces"
en donde aplico el setvar?, alguien tiene un tutorial mejor explicado?


Bueno, te lo explica claramente más abajo. Los setvar son estos:

0x8000 - ID del Movimiento 1
0x8001 - ID del Movimiento 2
0x8002 - ID del Movimiento 3
0x8003 - ID del Movimiento 4
0x8004 - La posición del Pokémon al que le vayas a cambiar el movimiento (la fórmula es n-1, donde n es el número del Pokémon; si por ejemplo quieres cambiar los movimientos del número 5, pues n=5, osea, que el valor será 4).
0x8005 - Número de PP del movimiento 1
0x8006 - Número de PP del movimiento 2
0x8007 - Número de PP del movimiento 3
0x8008 - Número de PP del movimiento 4


Una vez puestos los valores a esas variables, solo tienes que llamar a la rutina y ya.
#11
Tito Dafting301_4315♪ Kuchiki 24341
No sé ustedes, pero yo la veo aún algo cruda a la rutina. Es como que necesita mucha previsión, no es muy dinámica que digamos. Quizá combinada con la de desencriptar la data del Pokémon podamos obtener la info de los otros ataques y sus respectivos PP y podamos evitar cagarla. Pero si usamos un decrypter, seguramente los offsets cambien, así que no es soplar y hacer botellas (?