Bueno, esto es un pequeño tutorial, o más bien una aclaración, de una duda que me ha surgido en mi vuelta como RomHacker (sí, estoy intentando volver)
Siempre que nos han enseñado a usar un applymovement nos han dicho que podemos usar un comando después para esperar a que el movimiento termine. Y bien, nosotros hacíamos lo siguiente:
applymovement 0xNºMini @direccióndelmovimiento
waitmovement 0x0
El problema, que aquí no sucede, es cuando intentas usar ese mismo comando en un MOVE_PLAYER o en un MOVE_CAMERA.
Os mostraré un ejemplo de un script que presenté a un concurso y que contenía ese error, solucionado hoy mismo, al darme cuenta:
YouTube Video
Código original de la parte del error(que no se ve en el video, pero es para que comparéis y situéis el error)
special 0x113
applymovement MOVE_CAMERA 0x8900020
applymovement 0xB 0x8900180
waitmovement 0x0
msgbox 0x88003A0 MSG_NORMAL '"Rocket: Venga, danos la pasta ya,\..."
msgbox 0x8800620 MSG_NORMAL '"Comprador: Pero es que me da pena\..."
Con ese código, cuando el MOVE_CAMERA se estaba efectuando, el diálogo aparecía, y si pulsabas A, el MOVE_CAMERA se paraba, dejándote en una situación estúpida.
El problema viene del waitmovement, que tiene como parámetro 0x0 y debería tener como parámetro 0x7F.
Explico:
En la descripción del parámetro pone, traducido:
Bytes necesarios: 3
Parámetros:
> Número de persona(movimiento) a la que esperar.
Así que de ahí el error, no debería aparecer 0x0, sino 0x7F (7F es el número Hex que corresponde a la cámara).
Así que para cuando pongáis un waitmovement, recordad que el parámetro no es 0x0, sino el número de la persona que realiza el movimiento.
applymovement 0xNºMini @direccióndelmovimiento
waitmovement 0xNºMini
Y ahora diréis: "¡Qué estupidez de tutorial", y tendréis razón, si no sois cuidadosos con vuestra obra o si no os ha ocurrido ese error nunca, pero estaría bien que revisaseis vuestros scripts y comprobaseis errores, ¿no creéis?