tienes que poner un script de gatillo en el suelo y utilizar una flag para comprobar si una condición ha sido cumplida (y si no, ejecutas el script)... Aqui te dejo unos tutos, que te van a ayudar.
para no gastar flags innecesariamente, puedes poner por ejemplo (si es para salir del pueblo principal) la condición de la flag de la Pokédex, Pokémon o Deportivas, porque tendrás que usarlas obligatoriamente...
Si por ejemplo, es la Pokédex, cuando la cojas, en el script activas la flag (que en Rojo Fuego es 0x829). En el script de gatillo para no salir del pueblo sin la Pokédex tan solo tienes que comprobar si la flag está activada, mediante el comando "checkflag 0x(flag antes activada, en este caso 0x829)"...
Sería así:
#dynamic 0x800000
#org @inicio
checkflag 0x829
if 0x1 goto @fin
msgbox @1 0x2
applymovement 0xFF @atrás
waitmovement 0x0
end
#org @1
= ¡Ups, se me olvidaba la Pokédex!
#org @atrás
#raw 0x(Movimiento hacia atrás)
#raw 0xFE (fin de movimientos)
#org @fin
release
end
-"if 0x1 goto @fin" ---> Se traduce con lógica. "if" en inglés es "si... (condición)". "0x1" significa SI (afirmación), mientras que NO (negación) sería "0x0". "goto" significar "ir a" y "@fin" es la dirección a la que quieres que vaya... es decir, le estás diciendo al script que cuando lo compruebe: si la flag SI está activada, ir a @fin.
-Luego tendrás que crear la dirección de @fin. Le pones "release" y "end". ¿Por qué no se pone nada más? Porque si has llegado a esa parte del script, quiere decir que la flag está activada, lo cual quiere decir que tienes la Pokédex y que nada te ata a estar en ese pueblo. Si solo le pones "release" y "end", ocurrirá eso: nada, y podrás seguir adelante.
-Ese "applymovement" es para que te eche hacia atrás. Si no te echa hacia atrás, al final del script podrás pasar, y no quieres eso... el "0xFF" es el héroe (tu personaje).
Lo mejor para esto es que empieces con los scripts de gatillo gastando flags como un loco.
Que lo vayas repitiendo a lo largo de tu hack y te des cuenta de como se puede hacer realmente ahorrando, y lo hagas a tu manera, como hemos hecho todos.
El mejor caso que se me ocurre es que le pongas al script de gatillo que no se active hasta que cierta variable esté en el valor que tú le pongas.
Y que al hacer eso que tu quieres que se haga antes, haga setvar 0x el valor que tenga el script de gatillo.
En el script de gatillo, importante, debe de haber otro setvar 0x que le de un valor cualquiera y así no se repita más.
Como ves, solo con una variable se puede, espero que te sirva : )
P.D: No estoy seguro, pero si al script de gatillo le pones checkflag se te detendrá un milisegundo cada vez que pases por ahi, mientras que con la variable, si no esta en el valor adecuado automaticamente no checkea nada y sigue a su rollo.
No no, el setflag 0x829 es el de la Pokédex. Cuando anteriormente hayas cogido la Pokédex, se activará ese setflag... en este script solo está la comprobación, no hay que poner el setflag...
Bueno, como al chaval lo veo un poco perdido respecto a usar flags, es mejor no decirle nada aun sobre variables xD (yo uso variables, excepto en este ejemplo, ya que tendrás que usar esta flag por huevos xD)
¡Es más fácil en nuestro Discord! Actualmente la comunidad está más activa en nuestro Discord oficial. Todavía puedes crear tu duda aquí si lo prefieres, pero recuerda que estamos en Discord para poder ayudarte de una forma más ágil.