Registrarse

[Otros] FR | Givepokemon Personalizable

Lunos

Enfrentando a La Organización
Miembro insignia
Holi <3
Si han leido este tema, sabrán que tecnicamente ahora, acabo de completar un Givepokemon Personalizado exitosamente.
¿Y que quiero hacer ahora?
Pues compartir como lo hice, con ustedes <3
(porque asi siento que estoy haciendo algo con mi vida en lugar de ser un pu.. vago)
Antes de comenzar, como siempre, los Creditos que en esta ocasión van totalmente para "Pokemon_xy" de PokeCommunity, pues él inventó esta preciosura y la compartió justo aqui <3

Prologo

(Lectura OBLIGATORIA para poder poner los Movimientos Personalizados al Pokémon)

Antes de poder correr nuestro Givepokemon Personalizado, necesitamos una Rutina especial creada por FBI, no se preocupen, es sencillisimo de insertar.

Todo lo que hay que hacer es insertar esta pieza de codigo, en un offset vacio:
Código:
0C B4 1B 48 1B 49 00 F0 21 F8 0C BC 00 28 1E D0 16 4D 00 24 29 1C 09 78 00 29 13 D0 02 21 61 43 49 19 09 88 40 46 14 4B 00 F0 1D F8 01 34 04 2C F0 D1 00 04 49 46 0D 0C 00 9B 10 49 48 45 05 D1 0F 49 08 47 0C 4B 00 F0 0E F8 F2 E7 08 47 40 46 21 1C 00 93 10 B4 08 4C 00 F0 06 F8 10 BC 00 04 49 46 0D 0C 07 4B 18 47 20 47 C0 46 BE 70 03 02 FF 40 00 00 69 E5 06 08 B1 E8 03 08 61 EA 03 08 57 EA 03 08 51 EA 03 08
Luego, debemos ir a "3EA46" y modificar los siguientes bytes por:
01 48 00 47 00 00 XX XX XX 08
Nota: "XX XX XX" es el Offset donde insertamos el Trozo anterior, convertido en un Pointer, +1.
¿Yo puse el trozo en 800000?
Entonces el Pointer será: 01 00 80 08
Es decir, el offset 800001

Y ya está, no hay que tocar nada mas relacionado con esto, ya que el Givepokemon Personalizado lo ejecutará automaticamente cuando sea necesario.

Y ahora si, una vez completado el Prologo..
¡Pasemos al platillo principal!

1) Insertamos el siguiente trozo de codigo, que es el Givepokemon Modificado
en un Offset Libre, en mi caso, 71A350:
Código:
F0 B5 88 B0 64 20 91 49 00 F0 1D F9 80 46 90 49 00 F0 19 F9 40 46 8F 49 00 F0 15 F9 8E 49 00 F0 12 F9 04 1C 8E 48 02 68 0A 32 16 1C 11 88 55 88 4D 40 8C 4B 5B 8B 88 49 00 F0 05 F9 00 F0 E8 F8 00 04 88 4A 20 32 14 80 20 43 00 21 85 4A 1C 32 10 60 40 46 81 4B 00 F0 F7 F8 40 46 7F 4B 01 21 32 1C 00 F0 F1 F8 40 46 7F 49 00 F0 EC F8 7D 4A 1C 32 10 80 40 46 09 21 78 4B 00 F0 E5 F8 40 46 7A 49 00 F0 E0 F8 68 46 76 49 09 88 78 4B 00 F0 DB F8 40 46 02 21 6A 46 70 4B 00 F0 D5 F8 75 4A 40 46 03 21 6D 4B 00 F0 CF F8 40 46 6C 4D 2A 68 07 21 6A 4B 00 F0 C8 F8 40 46 0B 21 69 4A 67 4B 00 F0 C2 F8 6C 4C 67 4A 11 88 C8 00 40 1A 80 00 00 19 C1 7C CA 20 40 00 0A 1C 42 43 61 48 80 78 80 00 66 49 40 18 12 18 40 46 19 21 5B 4B 00 F0 AB F8 5C 49 08 88 C2 00 12 1A 92 00 12 34 12 19 40 46 20 21 55 4B 00 F0 9F F8 5D 49 00 F0 9B F8 00 06 00 0E 23 21 53 4A 1C 32 10 60 40 46 4F 4B 00 F0 92 F8 40 46 24 21 4E 4A 02 32 4B 4B 00 F0 8B F8 40 46 53 4A 25 21 48 4B 00 F0 85 F8 49 4A 26 32 26 21 40 46 45 4B 00 F0 7E F8 2A 68 08 32 40 46 31 21 41 4B 00 F0 77 F8 00 F0 64 F8 46 4A 40 4B 19 88 C8 00 40 1A 80 00 80 18 C0 7D 00 28 0A D0 3C 4A 1C 32 90 88 01 21 08 40 10 60 40 46 2E 21 36 4B 00 F0 60 F8 40 46 3F 49 00 F0 5B F8 40 46 38 21 33 4A 02 32 3C 4B 00 F0 55 F8 40 46 40 21 30 4A 1C 32 FF 23 13 60 38 4B 00 F0 4C F8 40 46 37 49 00 F0 47 F8 40 46 0C 21 29 4A 04 32 32 4B 00 F0 41 F8 40 46 32 49 00 F0 3C F8 00 06 04 0E 24 48 00 88 30 49 00 F0 35 F8 00 04 05 0C 01 2C 0B DC 00 2C 09 DB 28 1C 02 21 2B 4B 00 F0 2B F8 28 1C 03 21 29 4B 00 F0 26 F8 40 46 28 49 00 F0 21 F8 20 1C 17 4C 20 83 08 B0 00 20 F0 BD 00 B5 00 2B 06 D0 10 49 00 F0 15 F8 07 21 08 40 68 40 60 40 00 BD 00 B5 00 27 0E 4A 0E 32 40 46 0A 4B 39 1C 27 31 7E 00 92 19 00 F0 05 F8 01 37 06 2F F2 D1 00 BD 08 47 18 47 C0 46 B1 2B 00 08 95 D9 03 08 7D D9 03 08 C9 4E 04 08 D1 04 04 08 0C 50 00 03 B8 70 03 02 E9 E3 03 08 F9 F8 03 08 D1 0F 04 08 11 9F 1E 08 84 47 25 08 E4 3A 25 08 61 62 05 08 10 9F 1E 08 E1 E9 03 08 7D 03 04 08 7D E4 03 08 15 0B 04 08 99 32 04 08 75 8E 08 08 C5 2B 00 08
2) Escribimos nuestro Script tranquilamente.
Al llegar al punto donde queremos poner nuestro Givepokemon, pondremos lo siguiente en lugar del tipico
Givepokemon 0xPkmn 0xLvl 0xItem:
lock
faceplayer
setvar 0x40FF 0x1 <-- ¡Importante!
setvar 0x8000 0xNumero Del Pokemon En Hex
setvar 0x8001 0xNivel En Hex
setvar 0x8002 0xNumero Del Item Equipado En Hex
setvar 0x8003 0xMovimiento #1 En Hex
setvar 0x8004 0xMovimiento #2 En Hex
setvar 0x8005 0xMovimiento #3 En Hex
setvar 0x8006 0xMovimiento #4 En Hex
setvar 0x8007 0xCantidad de IVs en HP en Hex
setvar 0x8008 0xCantidad de IVs en Atk en Hex
setvar 0x8009 0xCantidad de IVs en Def en Hex
setvar 0x800A 0xCantidad de IVs en Sp.Atk en Hex
setvar 0x800B 0xCantidad de IVs en Sp.Def en Hex
setvar 0x800D 0xCantidad de IVs en Speed en Hex
setvar 0x800F 0xDefinir si es Shiny, o No.
(0x0 para Shiny y 0x1 para Normal)
setvar 0x8014 0xPokeball con la que fue "Capturado"
callasm 0x8Offset donde insertamos el gigantezco trozo de codigo, +1
setvar 0x40FF 0x0 <-- ¡Importante!
release
end

3) Continuamos nuestro Script si lo queremos, compilamos, se lo damos a un NPC y Probamos.

Yo lo hice de la siguiente forma:
-Inserté el tocho trozo de Hex en 71A350, como dije anteriormente.
-Escribí mi Givepokemon de esta forma.

Y ya está, es muy facil pese a que en principio el Hex pueda parecer un poco aterrador xD..

Espero que les sea de utilidad, Hasta luego <3

EDITO:
¡Solucionado!
Desde luego, la Rutina de FBI era el problema.
¡Ya está todo corregido, lo he vuelto a probar paso por paso y funciona perfectisimamente!
<3

EDITO2:
Si se necesita, subiré imagenes en cada paso.

EDITO3:
Errores de texto corregidos para evitar confusiones, está en el titulo pero lo repetiré: Esto es un Givepokemon, no un Wildbattle.

EDITO4 (03/08/2017):
Añadido el link al perfil de Pokemon_XY en PokeCommunity y el post exacto donde posteó la rutina.​
 
Última edición:

Versekr Dark

Usuario mítico
Respuesta: GBA | Script | ¡Givepokemon Personalizable!

De cuanto debe de ser el espacio del offset?
Muy buen post por cierto.
 

Jon.

Usuario mítico
Respuesta: GBA | Script | ¡Givepokemon Personalizable!

Muuuy buen aporte. Gracias por traer este tipo de cosas a Wah. c:
Hace años quiero hacer algo así D:

Saludos.
 

DeadApolo

A'KERIA'S TRACES
Respuesta: GBA | Script | ¡Givepokemon Personalizable!

Que buen aporte compadre, de seguro les servirá a muchos ahora que esta cosa de los hacks mas personalizados está tomando auge y que todos quieren tener los mejores hacks xD.

Atte:

ApoloD
 

Dani_SR_17

¡Pokémon LionHeart!
Respuesta: GBA | Script | ¡Givepokemon Personalizable!

Sin duda muy útil para entregar ciertos Pokémon especiales, aunque esta algo limitado a que permite dar un Pokémon 100% personalizado, pero no editar uno ya existente, que ya sería lo mejor, pero bueno, mejor esto que nada.
 

Versekr Dark

Usuario mítico
Respuesta: GBA | Script | ¡Givepokemon Personalizable!

Hola me ha salido algun error, lo que pasa es que pongo todo tal y como dice y cuando me entregan al pokémon en lugar de nivel 5 me lo dan a nivel 58
 
Respuesta: GBA | Script | ¡Givepokemon Personalizable!

Hola amigo, quisiera saber si es posible de dar un huevo en lugar de dar un pokemon, Gracias de antemano :D
 

Versekr Dark

Usuario mítico
Re: Respuesta: GBA | Script | ¡Givepokemon Personalizable!

como solucionaste esto?


El error se da por el parche de mrdollsteak, asi que si lo tienes no funcionara, pero hay una segunda manera, tanto este sistema asm como el sistema del perfeccionador de jpan sirven en juegos de fire red con el parche de pss que se encuentra en pokecommunity, por lo cual seria otra opción yo lo tengo de esa manera y lo uso para eventos especiales y como ambas roms las tengo expandidas es facil pasar el sav a el juego que yo quiera para hacer el evento que quiera, osea que con este agrego los pokes y en el otro y lo guardo y luego ya nada mas cargo el juego en la otra rom y no hay problemas, espero te haya servido mi explicación aunque es una manera rara de hacerlo la puedes usar.
 

Versekr Dark

Usuario mítico
como solucionaste esto?


Si expandes la tabla debes poner esto, esos son los niveles, seguire investigando para ver que niveles encuentro :).

Donde poner el nivel debes poner el primer número y aparecera el segundo:

B=40

E=0

F=6

10=31

11=0

13=17

19=10

Holi <3
Si han leido este tema, sabrán que tecnicamente ahora, acabo de completar un Givepokemon Personalizado exitosamente.
¿Y que quiero hacer ahora?
Pues compartir como lo hice, con ustedes <3
(porque asi siento que estoy haciendo algo con mi vida en lugar de ser un pu.. vago)
Antes de comenzar, como siempre, los Creditos que en esta ocasión van totalmente para "Pokemon_xy" de PokeCommunity, pues él inventó esta preciosura <3

Prologo

(Lectura OBLIGATORIA para poder poner los Movimientos Personalizados al Pokémon)

Antes de poder correr nuestro Givepokemon Personalizado, necesitamos una Rutina especial creada por FBI, no se preocupen, es sencillisimo de insertar.

Todo lo que hay que hacer es insertar esta pieza de codigo, en un offset vacio:
Código:
0C B4 1B 48 1B 49 00 F0 21 F8 0C BC 00 28 1E D0 16 4D 00 24 29 1C 09 78 00 29 13 D0 02 21 61 43 49 19 09 88 40 46 14 4B 00 F0 1D F8 01 34 04 2C F0 D1 00 04 49 46 0D 0C 00 9B 10 49 48 45 05 D1 0F 49 08 47 0C 4B 00 F0 0E F8 F2 E7 08 47 40 46 21 1C 00 93 10 B4 08 4C 00 F0 06 F8 10 BC 00 04 49 46 0D 0C 07 4B 18 47 20 47 C0 46 BE 70 03 02 FF 40 00 00 69 E5 06 08 B1 E8 03 08 61 EA 03 08 57 EA 03 08 51 EA 03 08
Luego, debemos ir a "3EA46" y modificar los siguientes bytes por:
01 48 00 47 00 00 XX XX XX 08
Nota: "XX XX XX" es el Offset donde insertamos el Trozo anterior, convertido en un Pointer, +1.
¿Yo puse el trozo en 800000?
Entonces el Pointer será: 01 00 80 08
Es decir, el offset 800001

Y ya está, no hay que tocar nada mas relacionado con esto, ya que el Givepokemon Personalizado lo ejecutará automaticamente cuando sea necesario.

Y ahora si, una vez completado el Prologo..
¡Pasemos al platillo principal!

1) Insertamos el siguiente trozo de codigo, que es el Givepokemon Modificado
en un Offset Libre, en mi caso, 71A350:
Código:
F0 B5 88 B0 64 20 91 49 00 F0 1D F9 80 46 90 49 00 F0 19 F9 40 46 8F 49 00 F0 15 F9 8E 49 00 F0 12 F9 04 1C 8E 48 02 68 0A 32 16 1C 11 88 55 88 4D 40 8C 4B 5B 8B 88 49 00 F0 05 F9 00 F0 E8 F8 00 04 88 4A 20 32 14 80 20 43 00 21 85 4A 1C 32 10 60 40 46 81 4B 00 F0 F7 F8 40 46 7F 4B 01 21 32 1C 00 F0 F1 F8 40 46 7F 49 00 F0 EC F8 7D 4A 1C 32 10 80 40 46 09 21 78 4B 00 F0 E5 F8 40 46 7A 49 00 F0 E0 F8 68 46 76 49 09 88 78 4B 00 F0 DB F8 40 46 02 21 6A 46 70 4B 00 F0 D5 F8 75 4A 40 46 03 21 6D 4B 00 F0 CF F8 40 46 6C 4D 2A 68 07 21 6A 4B 00 F0 C8 F8 40 46 0B 21 69 4A 67 4B 00 F0 C2 F8 6C 4C 67 4A 11 88 C8 00 40 1A 80 00 00 19 C1 7C CA 20 40 00 0A 1C 42 43 61 48 80 78 80 00 66 49 40 18 12 18 40 46 19 21 5B 4B 00 F0 AB F8 5C 49 08 88 C2 00 12 1A 92 00 12 34 12 19 40 46 20 21 55 4B 00 F0 9F F8 5D 49 00 F0 9B F8 00 06 00 0E 23 21 53 4A 1C 32 10 60 40 46 4F 4B 00 F0 92 F8 40 46 24 21 4E 4A 02 32 4B 4B 00 F0 8B F8 40 46 53 4A 25 21 48 4B 00 F0 85 F8 49 4A 26 32 26 21 40 46 45 4B 00 F0 7E F8 2A 68 08 32 40 46 31 21 41 4B 00 F0 77 F8 00 F0 64 F8 46 4A 40 4B 19 88 C8 00 40 1A 80 00 80 18 C0 7D 00 28 0A D0 3C 4A 1C 32 90 88 01 21 08 40 10 60 40 46 2E 21 36 4B 00 F0 60 F8 40 46 3F 49 00 F0 5B F8 40 46 38 21 33 4A 02 32 3C 4B 00 F0 55 F8 40 46 40 21 30 4A 1C 32 FF 23 13 60 38 4B 00 F0 4C F8 40 46 37 49 00 F0 47 F8 40 46 0C 21 29 4A 04 32 32 4B 00 F0 41 F8 40 46 32 49 00 F0 3C F8 00 06 04 0E 24 48 00 88 30 49 00 F0 35 F8 00 04 05 0C 01 2C 0B DC 00 2C 09 DB 28 1C 02 21 2B 4B 00 F0 2B F8 28 1C 03 21 29 4B 00 F0 26 F8 40 46 28 49 00 F0 21 F8 20 1C 17 4C 20 83 08 B0 00 20 F0 BD 00 B5 00 2B 06 D0 10 49 00 F0 15 F8 07 21 08 40 68 40 60 40 00 BD 00 B5 00 27 0E 4A 0E 32 40 46 0A 4B 39 1C 27 31 7E 00 92 19 00 F0 05 F8 01 37 06 2F F2 D1 00 BD 08 47 18 47 C0 46 B1 2B 00 08 95 D9 03 08 7D D9 03 08 C9 4E 04 08 D1 04 04 08 0C 50 00 03 B8 70 03 02 E9 E3 03 08 F9 F8 03 08 D1 0F 04 08 11 9F 1E 08 84 47 25 08 E4 3A 25 08 61 62 05 08 10 9F 1E 08 E1 E9 03 08 7D 03 04 08 7D E4 03 08 15 0B 04 08 99 32 04 08 75 8E 08 08 C5 2B 00 08
2) Escribimos nuestro Script tranquilamente.
Al llegar al punto donde queremos poner nuestro Givepokemon, pondremos lo siguiente en lugar del tipico
Givepokemon 0xPkmn 0xLvl 0xItem:
lock
faceplayer
setvar 0x40FF 0x1 <-- ¡Importante!
setvar 0x8000 0xNumero Del Pokemon En Hex
setvar 0x8001 0xNivel En Hex
setvar 0x8002 0xNumero Del Item Equipado En Hex
setvar 0x8003 0xMovimiento #1 En Hex
setvar 0x8004 0xMovimiento #2 En Hex
setvar 0x8005 0xMovimiento #3 En Hex
setvar 0x8006 0xMovimiento #4 En Hex
setvar 0x8007 0xCantidad de IVs en HP en Hex
setvar 0x8008 0xCantidad de IVs en Atk en Hex
setvar 0x8009 0xCantidad de IVs en Def en Hex
setvar 0x800A 0xCantidad de IVs en Sp.Atk en Hex
setvar 0x800B 0xCantidad de IVs en Sp.Def en Hex
setvar 0x800D 0xCantidad de IVs en Speed en Hex
setvar 0x800F 0xDefinir si es Shiny, o No.
(0x0 para Shiny y 0x1 para Normal)
setvar 0x8014 0xPokeball con la que fue "Capturado"
callasm 0x8Offset donde insertamos el gigantezco trozo de codigo, +1
setvar 0x40FF 0x0 <-- ¡Importante!
release
end

3) Continuamos nuestro Script si lo queremos, compilamos, se lo damos a un NPC y Probamos.

Yo lo hice de la siguiente forma:
-Inserté el tocho trozo de Hex en 71A350, como dije anteriormente.
-Escribí mi Givepokemon de esta forma.

Y ya está, es muy facil pese a que en principio el Hex pueda parecer un poco aterrador xD..

Espero que les sea de utilidad, Hasta luego <3

EDITO:
¡Solucionado!
Desde luego, la Rutina de FBI era el problema.
¡Ya está todo corregido, lo he vuelto a probar paso por paso y funciona perfectisimamente!
<3

EDITO2:
Si se necesita, subiré imagenes en cada paso.


EDITO3:
Errores de texto corregidos para evitar confusiones, está en el titulo pero lo repetiré: Esto es un Givepokemon, no un Wildbattle.​
Ya encontre el por que salen de nivel 58 o 64, es por que se expande la tabla de pokémon o bueno asi paso en mi caso, según estuve investigando los niveles se dan asi:

B=40

E=0

F=6

10=31

11=0

13=17

19=10

Por ejemplo pones el 19 en nivel y te dan a magby en nivel 10:



 

Nachoius

Caminante del cielo
lunos una duda se puede cambiar la VAR 40FF por otra? es que yo la uso para una rutina ya! y si no se me activa. saludos!

por cierto para que es la VAR exactamente porque le das 0 y 1? activado y desactivado? asi el sistema no está entorpeciendo las variables dinamicas el resto del juego? supongo que es eso. Saludos!

pd: Por cierto si puedes dejar la estructura en ASM, en vez de compilada ahí seria genial, asi cambio la variable 40ff por otra que tenga libre.
 

Dragonite

But where's your heart
Respuesta: Re: FR | Givepokemon Personalizable

lunos una duda se puede cambiar la VAR 40FF por otra? es que yo la uso para una rutina ya! y si no se me activa. saludos!

por cierto para que es la VAR exactamente porque le das 0 y 1? activado y desactivado? asi el sistema no está entorpeciendo las variables dinamicas el resto del juego? supongo que es eso. Saludos!

pd: Por cierto si puedes dejar la estructura en ASM, en vez de compilada ahí seria genial, asi cambio la variable 40ff por otra que tenga libre.
En la rutina del prólogo, si miras con atención, verás una parte que dice:

0C B4 1B 48 1B 49 00 F0 21 F8 0C BC 00 28 1E D0 16 4D 00 24 29 1C 09 78 00 29 13 D0 02 21 61 43 49 19 09 88 40 46 14 4B 00 F0 1D F8 01 34 04 2C F0 D1 00 04 49 46 0D 0C 00 9B 10 49 48 45 05 D1 0F 49 08 47 0C 4B 00 F0 0E F8 F2 E7 08 47 40 46 21 1C 00 93 10 B4 08 4C 00 F0 06 F8 10 BC 00 04 49 46 0D 0C 07 4B 18 47 20 47 C0 46 BE 70 03 02 FF 40 00 00 69 E5 06 08 B1 E8 03 08 61 EA 03 08 57 EA 03 08 51 EA 03 08
Prueba reemplazar eso con la variable que quieras (siempre intercambia los valores, si lo cambias por la variable 15, el valor debería ser 15 00).
 

Lunos

Enfrentando a La Organización
Miembro insignia
Respuesta: Re: FR | Givepokemon Personalizable

pd: Por cierto si puedes dejar la estructura en ASM, en vez de compilada ahí seria genial, asi cambio la variable 40ff por otra que tenga libre.


Lo naranja es un enlace. Vos clickeás ahi y vas al enlace que yo enlacé, que es el post original escrito por Pokemon_xy que naturalmente contiene la rutina original.
 

Nachoius

Caminante del cielo
Re: Respuesta: Re: FR | Givepokemon Personalizable



Lo naranja es un enlace. Vos clickeás ahi y vas al enlace que yo enlacé, que es el post original escrito por Pokemon_xy que naturalmente contiene la rutina original.
lunos otra duda, es necesario usar todos los parametros? si no quiero personalizarlo en todas las cosas que hago?
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: Re: Respuesta: Re: FR | Givepokemon Personalizable

lunos otra duda, es necesario usar todos los parametros? si no quiero personalizarlo en todas las cosas que hago?
Pruba y error, hijo mio. Noolvide intentarlo primero.

Poniendo en cero las variables que no quieras personalizar debería ser suficiente.
 

jrlopes

Héroe de WaH
Holi <3
Si han leido este tema, sabrán que tecnicamente ahora, acabo de completar un Givepokemon Personalizado exitosamente.
¿Y que quiero hacer ahora?
Pues compartir como lo hice, con ustedes <3
(porque asi siento que estoy haciendo algo con mi vida en lugar de ser un pu.. vago)
Antes de comenzar, como siempre, los Creditos que en esta ocasión van totalmente para "Pokemon_xy" de PokeCommunity, pues él inventó esta preciosura y la compartió justo aqui <3

Prologo

(Lectura OBLIGATORIA para poder poner los Movimientos Personalizados al Pokémon)

Antes de poder correr nuestro Givepokemon Personalizado, necesitamos una Rutina especial creada por FBI, no se preocupen, es sencillisimo de insertar.

Todo lo que hay que hacer es insertar esta pieza de codigo, en un offset vacio:
Código:
0C B4 1B 48 1B 49 00 F0 21 F8 0C BC 00 28 1E D0 16 4D 00 24 29 1C 09 78 00 29 13 D0 02 21 61 43 49 19 09 88 40 46 14 4B 00 F0 1D F8 01 34 04 2C F0 D1 00 04 49 46 0D 0C 00 9B 10 49 48 45 05 D1 0F 49 08 47 0C 4B 00 F0 0E F8 F2 E7 08 47 40 46 21 1C 00 93 10 B4 08 4C 00 F0 06 F8 10 BC 00 04 49 46 0D 0C 07 4B 18 47 20 47 C0 46 BE 70 03 02 FF 40 00 00 69 E5 06 08 B1 E8 03 08 61 EA 03 08 57 EA 03 08 51 EA 03 08
Luego, debemos ir a "3EA46" y modificar los siguientes bytes por:
01 48 00 47 00 00 XX XX XX 08
Nota: "XX XX XX" es el Offset donde insertamos el Trozo anterior, convertido en un Pointer, +1.
¿Yo puse el trozo en 800000?
Entonces el Pointer será: 01 00 80 08
Es decir, el offset 800001

Y ya está, no hay que tocar nada mas relacionado con esto, ya que el Givepokemon Personalizado lo ejecutará automaticamente cuando sea necesario.

Y ahora si, una vez completado el Prologo..
¡Pasemos al platillo principal!

1) Insertamos el siguiente trozo de codigo, que es el Givepokemon Modificado
en un Offset Libre, en mi caso, 71A350:
Código:
F0 B5 88 B0 64 20 91 49 00 F0 1D F9 80 46 90 49 00 F0 19 F9 40 46 8F 49 00 F0 15 F9 8E 49 00 F0 12 F9 04 1C 8E 48 02 68 0A 32 16 1C 11 88 55 88 4D 40 8C 4B 5B 8B 88 49 00 F0 05 F9 00 F0 E8 F8 00 04 88 4A 20 32 14 80 20 43 00 21 85 4A 1C 32 10 60 40 46 81 4B 00 F0 F7 F8 40 46 7F 4B 01 21 32 1C 00 F0 F1 F8 40 46 7F 49 00 F0 EC F8 7D 4A 1C 32 10 80 40 46 09 21 78 4B 00 F0 E5 F8 40 46 7A 49 00 F0 E0 F8 68 46 76 49 09 88 78 4B 00 F0 DB F8 40 46 02 21 6A 46 70 4B 00 F0 D5 F8 75 4A 40 46 03 21 6D 4B 00 F0 CF F8 40 46 6C 4D 2A 68 07 21 6A 4B 00 F0 C8 F8 40 46 0B 21 69 4A 67 4B 00 F0 C2 F8 6C 4C 67 4A 11 88 C8 00 40 1A 80 00 00 19 C1 7C CA 20 40 00 0A 1C 42 43 61 48 80 78 80 00 66 49 40 18 12 18 40 46 19 21 5B 4B 00 F0 AB F8 5C 49 08 88 C2 00 12 1A 92 00 12 34 12 19 40 46 20 21 55 4B 00 F0 9F F8 5D 49 00 F0 9B F8 00 06 00 0E 23 21 53 4A 1C 32 10 60 40 46 4F 4B 00 F0 92 F8 40 46 24 21 4E 4A 02 32 4B 4B 00 F0 8B F8 40 46 53 4A 25 21 48 4B 00 F0 85 F8 49 4A 26 32 26 21 40 46 45 4B 00 F0 7E F8 2A 68 08 32 40 46 31 21 41 4B 00 F0 77 F8 00 F0 64 F8 46 4A 40 4B 19 88 C8 00 40 1A 80 00 80 18 C0 7D 00 28 0A D0 3C 4A 1C 32 90 88 01 21 08 40 10 60 40 46 2E 21 36 4B 00 F0 60 F8 40 46 3F 49 00 F0 5B F8 40 46 38 21 33 4A 02 32 3C 4B 00 F0 55 F8 40 46 40 21 30 4A 1C 32 FF 23 13 60 38 4B 00 F0 4C F8 40 46 37 49 00 F0 47 F8 40 46 0C 21 29 4A 04 32 32 4B 00 F0 41 F8 40 46 32 49 00 F0 3C F8 00 06 04 0E 24 48 00 88 30 49 00 F0 35 F8 00 04 05 0C 01 2C 0B DC 00 2C 09 DB 28 1C 02 21 2B 4B 00 F0 2B F8 28 1C 03 21 29 4B 00 F0 26 F8 40 46 28 49 00 F0 21 F8 20 1C 17 4C 20 83 08 B0 00 20 F0 BD 00 B5 00 2B 06 D0 10 49 00 F0 15 F8 07 21 08 40 68 40 60 40 00 BD 00 B5 00 27 0E 4A 0E 32 40 46 0A 4B 39 1C 27 31 7E 00 92 19 00 F0 05 F8 01 37 06 2F F2 D1 00 BD 08 47 18 47 C0 46 B1 2B 00 08 95 D9 03 08 7D D9 03 08 C9 4E 04 08 D1 04 04 08 0C 50 00 03 B8 70 03 02 E9 E3 03 08 F9 F8 03 08 D1 0F 04 08 11 9F 1E 08 84 47 25 08 E4 3A 25 08 61 62 05 08 10 9F 1E 08 E1 E9 03 08 7D 03 04 08 7D E4 03 08 15 0B 04 08 99 32 04 08 75 8E 08 08 C5 2B 00 08
2) Escribimos nuestro Script tranquilamente.
Al llegar al punto donde queremos poner nuestro Givepokemon, pondremos lo siguiente en lugar del tipico
Givepokemon 0xPkmn 0xLvl 0xItem:
lock
faceplayer
setvar 0x40FF 0x1 <-- ¡Importante!
setvar 0x8000 0xNumero Del Pokemon En Hex
setvar 0x8001 0xNivel En Hex
setvar 0x8002 0xNumero Del Item Equipado En Hex
setvar 0x8003 0xMovimiento #1 En Hex
setvar 0x8004 0xMovimiento #2 En Hex
setvar 0x8005 0xMovimiento #3 En Hex
setvar 0x8006 0xMovimiento #4 En Hex
setvar 0x8007 0xCantidad de IVs en HP en Hex
setvar 0x8008 0xCantidad de IVs en Atk en Hex
setvar 0x8009 0xCantidad de IVs en Def en Hex
setvar 0x800A 0xCantidad de IVs en Sp.Atk en Hex
setvar 0x800B 0xCantidad de IVs en Sp.Def en Hex
setvar 0x800D 0xCantidad de IVs en Speed en Hex
setvar 0x800F 0xDefinir si es Shiny, o No.
(0x0 para Shiny y 0x1 para Normal)
setvar 0x8014 0xPokeball con la que fue "Capturado"
callasm 0x8Offset donde insertamos el gigantezco trozo de codigo, +1
setvar 0x40FF 0x0 <-- ¡Importante!
release
end

3) Continuamos nuestro Script si lo queremos, compilamos, se lo damos a un NPC y Probamos.

Yo lo hice de la siguiente forma:
-Inserté el tocho trozo de Hex en 71A350, como dije anteriormente.
-Escribí mi Givepokemon de esta forma.

Y ya está, es muy facil pese a que en principio el Hex pueda parecer un poco aterrador xD..

Espero que les sea de utilidad, Hasta luego <3

EDITO:
¡Solucionado!
Desde luego, la Rutina de FBI era el problema.
¡Ya está todo corregido, lo he vuelto a probar paso por paso y funciona perfectisimamente!
<3

EDITO2:
Si se necesita, subiré imagenes en cada paso.

EDITO3:
Errores de texto corregidos para evitar confusiones, está en el titulo pero lo repetiré: Esto es un Givepokemon, no un Wildbattle.

EDITO4 (03/08/2017):
Añadido el link al perfil de Pokemon_XY en PokeCommunity y el post exacto donde posteó la rutina.​
@Lunos
Hice este tutorial en un Firered limpio funcionó, luego de haber compilado el DPE + CFRU presenta algunos errores como Nivel si pongo 0x5 es nivel CERO.
¿Puede decirme si necesito cambiar algo para implementar esta rutina en DPE + CFRU?
 

Eaas

Profesional de WaH
@Lunos
Hice este tutorial en un Firered limpio funcionó, luego de haber compilado el DPE + CFRU presenta algunos errores como Nivel si pongo 0x5 es nivel CERO.
¿Puede decirme si necesito cambiar algo para implementar esta rutina en DPE + CFRU?
El CFRU está hecho en realidad para trabajar con una Rom limpia por lo tanto no es compatible con Rom avanzadas en su desarrollo
Ademas creo q el CFRU ya tiebe dicha fusión
te aconsejo q leas bien la documentación de l CFRU.
 
Arriba