Registrarse

Flag se desactiva tras cambiar de mapa

Estado
Cerrado para nuevas respuestas.
Saludos

Tengo un problema, hice un script donde se active una flag para que no se repita, el script hace que un mini camine hacia ti tras ver un trofeo.

Cuando el mini termina de hablar se activa el flag, y asi cuando se vuelve a ver el trofeo y se preciosa A entonces el mini no vuelve a moverse.

El problema es que se supone que el flag quede ahi activado, pero si salgo del mapa (que es una casa) y vuelvo a entrar, el flag esta desactivado porque tras darle A al trofeo el mini camina otra vez.

Alguien sabe por que se desactiva el flag? no he usado clearflag :(

Gracias :D

'-----------------------
#org 0x86BFEA
msgbox 0x886C020 '"Trofeo de la Liga Pokemon\nCAMPEON ..."
callstd 0x2
checkflag 0x5050
if 0x1 goto 0x89C35F9
applymovement 0x1 0x886C231
waitmovement 0x1
applymovement MOVE_PLAYER 0x886C239
waitmovement 0xFF
msgbox 0x886C196 '"Este es el Trofeo que gano mi hijo\..."
callstd 0x2
setflag 0x5050
release
end

'-----------------------
#org 0x9C35F9
release
end


'-----------
' Movements
'-----------
#org 0x86C231
#raw 6 'Step Left (Slow)
#raw 6 'Step Left (Slow)
#raw 6 'Step Left (Slow)
#raw 6 'Step Left (Slow)
#raw 6 'Step Left (Slow)
#raw 2 'Face Left
#raw FE 'End of Movements

#org 0x86C239
#raw 2 'Face Left
#raw FE 'End of Movements


'---------
' Strings
'---------
#org 0x86C020
= el texto 1

#org 0x86C196
= el texto 2
 

Javi4315

Babyface
Miembro de honor
A ver. Con esa flag lo que me extraña es que el propio protagonista en el juego no se negara a seguir jugando xD

Me gustaría, si pudiera ser, que me dijeras donde has aprendido a manejar las flags. Es porque muchos usuarios vienen con ese mismo problema y a ver si se puede solucionar desde la raíz.

Pero bueno, vamos con ese script. Veo dos fallos. El primero es que estás utilizando un diálogo de tipo 0x2, no, ese tipo de diálogo lleva implícito un lock y un faceplayer. Eso se hace para un script simple en el que sólo exista eso, un diálogo. En un script más complejo puede derivar en errores, por lo que debes utilizar el 0x6. El segundo y más importante es la flag que utilizas, yo diría que es el problema, así que vamos a corregirlo usando una de estas flags:

Macrotutorial hacking desde 0 dijo:
Desde la 0x200 hasta la 0x29F
Desde la 0x500 hasta la 0x79F
Desde la 0x1000 hasta la 0x109F
Yo diría que con eso se debería solucionar, si no, el script está bien, habría que mirar el mapa: configuraciones y scripts asociados.

A parte de eso te voy a dar un par de consejos. Lo primero es que el release es la contraparte del lock. Sin haber puesto un lock, no sirve de mucho poner un release, te lo puedes ahorrar si quieres. Aún así, para no tener problemas con lo el movimiento de los minis, hay un comando similar al lock pero global, el lockall. Y se desactiva con el releaseall. Si los minis se pudieran mover solos durante la ejecución del script, es la solución. Lo otro es que has hecho un applymovement para cambiar la orientación del protagonista. Es mucho más rápido, fácil y se gasta menos espacio si utilizas simplemente el comando spriteface para determinar hacia donde mira.
 
Uso la version 1.0 del XSE porque la 1.1 se cierra sola.
Por eso utilizo el callstd 0x2 sé que tiene implicito el release pero cuando usé el 0x6 me dio un error, deberé probarlo.
La flag sinceramente la invente porque No se cuales flags estan libres en Esmeralda y por ahi vi que podia usar la 40FF pero comprobé que en esmeralda esta en uso por lo que puse esa para probar.
La cuestion es que si sirvió. Porque la flag se activo como lo necesitaba luego le hable al trofeo y ya el mini no se movio mas como si la flag se hubiera activado todo bien. Pero necesito que se quede activada y cuando vuelvo a entrar al mapa la flag ya esta desactivada no se porque.

Lo del spriteface lo desconocia por eso supuse hacer un applymovement
 

Javi4315

Babyface
Miembro de honor
Uso la version 1.0 del XSE porque la 1.1 se cierra sola.
Por eso utilizo el callstd 0x2 sé que tiene implicito el release pero cuando usé el 0x6 me dio un error, deberé probarlo.
La flag sinceramente la invente porque No se cuales flags estan libres en Esmeralda y por ahi vi que podia usar la 40FF pero comprobé que en esmeralda esta en uso por lo que puse esa para probar.
La cuestion es que si sirvió. Porque la flag se activo como lo necesitaba luego le hable al trofeo y ya el mini no se movio mas como si la flag se hubiera activado todo bien. Pero necesito que se quede activada y cuando vuelvo a entrar al mapa la flag ya esta desactivada no se porque.

Lo del spriteface lo desconocia por eso supuse hacer un applymovement
Que utilices la versión 1.0 o la 1.1 no tiene nada que ver. Si te daba error el 0x6 es porque has hecho algo mal. Todos hemos utilizado durante mucho tiempo la versión 1.0 y nos ha ido bien.

La 0x40FF es una variable. Y la flag, si se desactiva, no funciona, ¿Has probado con las que te he dicho?
 
no pero hoy mismo las probaré.
Solo tengo una duda esas son para esmeralda? O es que son las mismas flags libres para todos los juegos?
 
Estado
Cerrado para nuevas respuestas.
Arriba