Registrarse

[ASM] FR |Comprobar la felicidad de tu Pokémon

Lunos

Enfrentando a La Organización
Miembro insignia
Holi. Pedí una rutina en el Tema de Recursos ASM de PokeCommunity que me permitiese comprobar los puntos de felicidad/amistad de mis Pokémon y una gran persona la creó. Como siento que merece la pena compartirla, vine a compartirla.
Los creditos van para esa magnifica persona, el usuario ghoulslash de PokeCommunity por haberla creado y posteado justo aqui.
Sin mas que añadir, vamos a ello.

Necesitaremos:
-ROM de Pokémon Fire Red v1.0 (USA)
-Editor hexadecimal a preferencia (Como siempre, yo usaré HxD)
-Editor de scripts a elección (Yo usaré XSE, como el 99.9% de la comunidad)

Instrucciones:

1) Abrí tu ROM de Pokémon Fire Red en tu editor hexadecimal, copiá la siguiente Rutina ASM Compilada y pegala usando Ctrl+B en un offset con espacio vacio en tu ROM.
Como siempre mas vale prevenir que lamentar, yo sugiero que la pongan en un offset que termine en 0, 4, 8 o C. Yo la puse en 71A250.
Código:
07 B5 08 48 00 78 64 21 48 43 05 49 08 18 20 21 00 F0 03 F8 03 49 88 70 07 BD 03 4A 10 47 C0 46 84 42 02 02 C0 70 03 02 E9 FB 03 08
Explicación: Lo que hace esta rutina es comprobar los puntos de felicidad/amistad que tenga el Pokémon que hayamos puesto en la Variable 0x8004, y devuelve dicho valor en la Variable 0x8005 (en principio).

2) Escribir el script como se les antoje, usando el callasm 0x8XXXXXX+1 correspondiente.
Nota: XXXXXX+1 = Offset donde insertamos la rutina, +1.

En mi caso yo creé este simplón script para probar la rutina.
Usenla como base o expandanla a su antojo, como les apetezca.

Aqui una muestra del resultado:


Y eso fue todo.​
 
M

Miembro eliminado 28262

Invitado
Re: FR | Otros | Comprobar la felicidad de tu Pokémon

Yo ya tenia hecho esto hace tiempo para final red
No es gran cosa la verdad pero es un sistema bastante chido

Gracias por compartirlo!
Y ahora a esperar a que se viralice :snooty:
 

Markuzz Kaizuka

Usuario de platino
Respuesta: FR | Otros | Comprobar la felicidad de tu Pokémon

Cosas tan simples, pero que ayudan tanto...

Porque no haces un tutorial mas grande en donde recolectes los demas tutos de similar tamaño a este, en todos ellos das una muy buena explicación y es facil, esa es tu decisión,pero seria genial que los reunieras todos en uno, así hay mas facilidad para encontrarlos.

Saludos!!
Muy buen tuto!!
 

kakarotto

Leyenda de WaH
Respuesta: FR | Otros | Comprobar la felicidad de tu Pokémon

Buen tutorial Lunos, se puede hacer algun sistema de evolución espeon umbreon crobat como script secundario en un hack. Es un aporte bastante interesante y se agradece usuarios asi
 

MichaKing

Grafista avanzado
Respuesta: FR | Otros | Comprobar la felicidad de tu Pokémon


Ni que decir Lunos, todos tus "pequeños" aportes a la comunidad son de las cosas que más aprecio sin duda alguna, dan mucha jugabilidad la verdad. Ahora mismo no me imagino algo secundario que se pueda hacer gracias a esto, pero es muy útil para todos aquellos Pokémon que evolucionan por felicidad o algo por el estilo...

~MichaKing
 
Respuesta: FR | Otros | Comprobar la felicidad de tu Pokémon

Buen tutorial. Gracias!

PD. Podrías proveer el script? Estoy teniendo problemas con la identificación de su felicidad.
 
M

Miembro eliminado 28262

Invitado
Respuesta: FR | Otros | Comprobar la felicidad de tu Pokémon

Buen tutorial. Gracias!

PD. Podrías proveer el script? Estoy teniendo problemas con la identificación de su felicidad.
Pa que? Pa que te lo robes?
Aquí está, el mismo lo dejo en el tema, sabes

Código:
#dynamic 0x071A250
#org @inicio
lock
faceplayer
special 0x9F // Pantalla de selección de Pokémon
waitstate
compare 0x8004 0x6 // Comprueba si el jugador se echó para atras
if 0x4 goto @end // En cuyo caso, obliga al script a terminar.
special 0x7C // Toma el Mote del Pokémon que esté marcado en la Variable 0x8004 y lo guarda en el Buffer #1
callasm 0x8XXXXXX+1 // Invoca la rutina de ghoulslash
buffernumber 0x1 0x8005 // Guarda la cantidad de felicidad/amistad de tu Pokémon en el Buffer #2.
msgbox @1 0x6
release
end

#org @end
release
end

#org @1
= Tu [buffer1] tiene [buffer2]\npuntos de felicidad.
 
Respuesta: FR | Otros | Comprobar la felicidad de tu Pokémon

Pa que? Pa que te lo robes?
Aquí está, el mismo lo dejo en el tema, sabes

Código:
#dynamic 0x071A250
#org @inicio
lock
faceplayer
special 0x9F // Pantalla de selección de Pokémon
waitstate
compare 0x8004 0x6 // Comprueba si el jugador se echó para atras
if 0x4 goto @end // En cuyo caso, obliga al script a terminar.
special 0x7C // Toma el Mote del Pokémon que esté marcado en la Variable 0x8004 y lo guarda en el Buffer #1
callasm 0x8XXXXXX+1 // Invoca la rutina de ghoulslash
buffernumber 0x1 0x8005 // Guarda la cantidad de felicidad/amistad de tu Pokémon en el Buffer #2.
msgbox @1 0x6
release
end

#org @end
release
end

#org @1
= Tu [buffer1] tiene [buffer2]\npuntos de felicidad.
Robar, que idiota!
 

IIWolfgangII

Usuario de oro
Respuesta: FR | ASM | Comprobar la felicidad de tu Pokémon

Hola Una Consulta.. Aun estoy tratando de entender Esto "yo sugiero que la pongan en un offset que termine en 0, 4, 8 o C" Queres decir que la primera parte de la rutina osea "07 B5 .. .." Este en Un Offset que termine en esos Números, o que el Final de la rutina osea ".. .. 03 08" Termine en esos Números.. Disculpa por la Duda!!!
 

Samu

Miembro insignia
Miembro insignia
Re: Respuesta: FR | ASM | Comprobar la felicidad de tu Pokémon

Hola Una Consulta.. Aun estoy tratando de entender Esto "yo sugiero que la pongan en un offset que termine en 0, 4, 8 o C" Queres decir que la primera parte de la rutina osea "07 B5 .. .." Este en Un Offset que termine en esos Números, o que el Final de la rutina osea ".. .. 03 08" Termine en esos Números.. Disculpa por la Duda!!!
Se refiere al comienzo de la rutina. Si no quieres complicarte la vida, ponla al principio de una línea vacía. Con eso debería funcionar.

Es por como funciona el procesador de GBA, que 'coge' la información de 4 bytes en 4 bytes, y necesita por lo tanto que el inicio esté alineado respecto a 4 (0, 4, 8, C). De hecho, más que una sugerencia, es algo que debes hacer si quieres que no se te cuelgue el juego.
 

IIWolfgangII

Usuario de oro
Respuesta: FR | ASM | Comprobar la felicidad de tu Pokémon

Muchas Gracias Samu!! Ademas de sacarme la duda me diste una breve explicacion y ahora entiendo entonces por que se debe compilar en esos offsets!! MUCHAS GRAACIAS!
 
Arriba