Registrarse

[RH - Scripting] Script Bugeado

Estado
Cerrado para nuevas respuestas.

Monchis

Héroe de WaH
Hola a todos!

Vengo con un pequeño problema:
Estaba testeando un script de gatillo (con comandos muy sencillos) pero esté no anda correctamente, cuándo piso la baldosa el script anda con normalidad, el profesor habla y despues tiene que hacer unos pasos y mi personaje lo tiene que seguir, el profesor llega correctamente pero mi personaje da 2 pasos y se detiene, puedo moverlo pero cuándo habló con un NPC (o cualquier cosa) mi personaje hace los movimientos que tenía que haber echo desdé el inició y enseguida sale el texto,simplemente no lo entiendo, alguien me ayuda?

Más datos:
-Cambie la variable del script y nada.
-Elimine todos los scripts del laboratorio del profesor oak.
-Elimine el script e intente hacerlo desdé cero pero el resultado es el mismo.
-Movi los minis y edite el script pero es lo mismo.
-Este es el código y cómo mencione es extremadamente básico, sólo lo hice para testear:

Código:
org 0x965E71
msgbox 0x8965E89 MSG_FACE '"Saludos [player], llegas un poco t..."
applymovement 0x4 0x8965F2F
applymovement MOVE_PLAYER 0x8965F3C
end


'---------
' Strings
'---------
#org 0x965E89
= Saludos [player], llegas un poco tarde\npero no importa, tú madre me ha\lcomentado que quieres iniciar tú\lpropia aventura, te veo bastante\ldispuesto, acompañame por favor.


'-----------
' Movements
'-----------
#org 0x965F2F
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x0 'Face Down
#raw 0xFE 'End of Movements

#org 0x965F3C
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x12 'Step Left (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
Cual es el problemas entonces?
 

Sayer301!

UnityLord!
Miembro de honor
despues de los applymovements, antes del end pon.

Waitmovement 0x(numero de mini al que esperar antes de terminar), o si no lo tienes muy claro pon un FF que sirve para esperar a todos.
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
despues de los applymovements, antes del end pon.

Waitmovement 0x(numero de mini al que esperar antes de terminar), o si no lo tienes muy claro pon un FF que sirve para esperar a todos.
Esto debería solucionar el problema pero quiero aclarar una cosita: el 0 es para esperar a todos, el 0xFF es para esperar que se mueva el overworld del jugador.
En este caso, el 0xFF debería funcionar porque estás moviendo al jugador, pero tenlo en cuenta para otros scripts en el futuro.
 

Monchis

Héroe de WaH
Comento mis resutados:
Coloque el waitmovement 0xFF pero sólo hizo que la pantalla quedara en negro, intrigado tomé la desicion de descargarme otro rom e intentar hacer el script ahí pero el resultado fue el mismo, pero después de editar el script ahora SI funciono, entonces hice la novatada de copiar el offset y pegarlo en mi rom pero no funciono, pero recordé una cosa del tutorial de script:

He compilado, he abierto el script, lo he modificado y vuelto a compilar y ahora tengo bugs

Cuando abres un script compilado, le añades comandos y lo vuelves a compilar estás provocando que el offset almacene más datos de los que en un principio le fueron asignados, y esto causa bugs no solo en tu script sino en otros scripts con offsets de números cercanos.

Cuando se modifica y es para sustituir comando del miso tamaño o para cambiar un número o una letra no importa que compilemos tal cual. Pero si lo que quieres es añadir nuevos comandos, lo que tienes que hacer es asignar nuevos offsets. Para esto volverás a escribir arriba del todo #dynamic 0x800000 y sustituirás los offsets por nombre con @, (como si estuvieras haciendo un script desde el principio). De esta forma generarás nuevos offsets para el script y no bugearás el script ni otros scripts.

Y el offset es muy diferente al resto de los eventos, por lo que sólo edité ese offset y el evento ahora si funciona con normalidad!!!

Problema resuelto, muchas gracias a los dos.
 
Estado
Cerrado para nuevas respuestas.
Arriba