Registrarse

FR | Minis vigilando

Estado
Cerrado para nuevas respuestas.

SamOri

Si algo te gusta no lo dejes por nada
Hola a todos y todas amantes y amantas del Rom Hacking, me presento, soy Orioner y llevo relativamente poco dedicándome a aprender sobre este fascinante mundo y menos aún siendo activo en esta web.

Recientemente posteé mi primera duda enfocada a solucionar uno de los problemas contra los que me había topado avanzando en mi proyecto, un evento tipo “vigilancia”, enseguida verán a qué me refiero exactamente. El caso es que finalmente logré dar con la solución y quería compartirla con todos ustedes por si alguien que no sepa el día de mañana necesita algo similar en su hack.

Pd: por cierto, soy virgen aún haciendo tutos por aquí así que no sean muy duros y agradezco cualquier crítica constructiva para mejorar, ahora así, ¡allá voy!

Lo primero de todo y aún mejor para aquellos que no dominamos (ya quisiera yo) el oscuro mundo de ASM o incluso con escaso conocimiento sobre I/O y Ram es la mejor manera, debemos descargar el fantástico y conocidísimo parche de Jpan y una vez lo tengamos descargado y aplicado en nuestra Rom lo único que deberemos hacer es cambiar los parámetros a la hora de configurar el Script en AM tal cual aparece en la imagen a continuación:



1º: Este byte indica el tipo de batalla, lo que permite cargar el código de “trainerbattle” pero como el juego automáticamente carga el evento sin utilizar scripts si mantenemos el valor que AM nos da por defecto “00” el juego se crashea, por lo que debemos darle el valor de la imagen.
2º: Debemos marcar esta casilla ya que la función parte de la rutina “trainerbattle” la cual está manipulada para no desembocar en batalla en este caso.
3º: Básicamente el juego comprueba 2 opciones en este byte, “01” para el código de batalla normal que estamos acostumbrados a ver en el juego o “03” para que solo aparezca la exclamación (!) y proceda a realizar el movimiento hacia nosotros sin desencadenar en batalla.
4º: Al igual que en el caso anterior este byte funciona de manera similar a una flag, si ponemos el valor “00” el script se repetirá cada vez que pasemos ante el mini en cuestión y este nos vea, sin embargo si por el contrario ponemos cualquier valor superior el juego lo detecta como si de una flag se tratase y hubiésemos aplicado un “clearflag” para evitar caer en un bucle.

*Nota: Por supuesto aunque mantengamos el valor “00” del 4º punto buscando la repetición del evento no quita a que podamos eliminarlo posteriormente mediante scripts como puede ser haciendo desaparecer los minis o poniéndoles una variable que inhabilitemos posteriormente.

*También recomiendo meter un Warp justo al final del script para resetear el evento y que los minis recuperen sus posiciones iniciales.


Un ejemplo de Script sencillo para aplicar junto con esta rutina o evento podría ser el siguiente:

Código:
#dynamic 0x800000

'---------------
#org @start
faceplayer
msgbox @string1 MSG_NORMAL '"Detente"
waitmsg
warpmuted 0x3 0x0 0x3 0x0 0x0

'---------
' Strings
'---------
#org @string1
= Detente


Todo lo expuesto aquí ha sido el fruto de lo que he leído a partir de los documentos del parche así como de mi propia experiencia probando luego, cualquier corrección que consideren hacer sobre algo que sepan que no es del todo cierto bienvenida será :)

Por supuesto créditos superlativos a Jpan, creador de este parche y de los documentos relativos que me ayudaron mientras experimentaba hasta dar con la solución que tanto buscaba, y también me gustaría mencionar a Cheve_X porque gracias a una entrada que creó hace bastante tiempo di con el parche y con las explicaciones iniciales para poder usarlo.

Sin más que añadir gente me despido por hoy, espero haberles ayudado aportando un granito más y sean felices!
 

Dani_SR_17

¡Pokémon LionHeart!
Respuesta: GBA | Scripting | Minis vigilando [FR]

Esto es algo que todos hemos necesitado alguna vez, y siempre hemos tirado de gatillos.
Aunque hay formas, por ahora todas las que he probado me han dado problemas.

Esta la verdad es que no la había probado, he leído un poco el documento de JPAN y así a ojo es el "Trainer flag script runner".
El parche da bastantes bugs y no es nada recomendable, lo suyo es usar la herramienta e insertar solo lo que vayas a usar y testeandolo bien.

A la que tenga tiempo lo probaré a ver que tal va, si va bien me veo quitando unos pocos scripts de gatillos.

PD: Después de un warp mete un "pause 0x40" y un "end", te puede ahorrar bugs.
 
Estado
Cerrado para nuevas respuestas.
Arriba