Registrarse

Como activar un script de gatillo con otro

Estado
Cerrado para nuevas respuestas.

JkiisRuizKill

Jkiis Ruiz
He estado intentando hacer un script de gatillo así:
son dos script el primero hace que no puedas SALIR de dónde ya has entrado:

#dynamic 0x800000
#org @inicio
checkflag 0x203
if 0x0 goto @inicio2
applymovement 0xFF @move
waitmovement 0xFF
setflag 0x203
end

#org @inicio2
msgbox @text 0x6
end

#org @text
= Creo que debería mirar eso...

#org @move
#raw 0x9 'Paso Arriba (Muy Lento)
#raw 0xFE 'Finalizar Movimientos


y otro para que este se active, ya que si estubiera activado no podrias ENTRAR
 

pikachu240

Junior C# Developer
Lo que no entiendo es que si el flag esta desactivado no se envia para activarlo y asi la próxima vez que se pise actue la otra parte que le impida salir...creo que le faltaria otro flag para que cuando solucione el problema pueda salir sin más...y otra cosa que no acabo de vet es si el flag esta activado pars que lo vuelves a activar? Podria der que te hubieras liado,te aconsejo que escribas lo que quieres hacer como un enunciado y luego lo desgloses en apartados para poder desarrollar la idea paso a paso.
 

Markuzz Kaizuka

Usuario de platino
En cualquier caso el script que pides seria
Código:
#dynamic 0x800000
#org @inicio
setflag 0x203
addvar 0x5000 0x1
end
La cosa es que los scripts gatillo usan variables para hacer mas facil todo
un variable es algo parecido a una flag pero en vez de tener valor 1 o 0
puede tener valor 1,2,3,4,5,6,7,8,9 y asi sucesivamente, A-map para que
un script se active tienes que configurarlo con el numero de la variable:"5000"(ejemplo) y el valor que debe tener esta:"0".

Asi cuando tu pises la casilla del script y la variable 5000 tenga el valor 0, se activara el script en el cual puedes colocarle un "addvar" como en el script que acabo de hacer, el cual le da un valor mas lo que significa que ya no tiene valor "0" sino "1" por ende como la variable ahora tiene valor "1" la proxima vez que pises la casilla del script no se activara.
 

Inferno

Miembro insignia
Miembro insignia
Para que un script de gatillo no te de problemas tienes que usar variables, si no estarás gastando una flag y una variable al mismo tiempo pues en Advance Map lo vas a tener que configurar con una variable sí o sí y las flags son menos abundantes y se gastan antes.

El script que yo haría sería el siguiente:
Código:
#dynamic 0x800000

#org @inicio
lockall
compare 0x4001 0x0
if 0x1 goto @entrar
applymovement 0xFF @mov1
waitmovement 0xFF
releaseall
end

#org @entrar
msgbox @texto 0x6
applymovement 0xFF @mov
waitmovement 0xFF
setvar 0x4001 0x1
releaseall
end

#org @mov
#raw 0x11 'Paso Arriba
#raw 0xFE 'Finalizar Movimientos

#org @mov1
#raw 0x9 'Paso Arriba (Muy Lento)
#raw 0xFE 'Finalizar Movimientos

#org @texto
= Creo que debería mirar eso...
Habría varias maneras de hacerlo, pero creo que está es la más simple y fácil de entender.

La parte de entrada está controlada por una variable diferente a la que cerrará el bucle del script (la que configuras en AM), lo que esta controla es que el personaje entra en esa zona, y he puesto que entre a narices haciendo un applymovement. Esta parte solo se repetirá una vez, de ahí el setvar del final. La variable 4001 es la que yo elegí, tú puedes mirar cualquiera de las que estén disponibles.

La parte de que no pueda salir es la que controlará la variable del bucle.
Esta parte, una vez allá sucedido la primera, se repetirá hasta que desactives el script de gatillo. Para hacer esto último sería darle a la variable que pongas en la casilla del script de gatillo en AM, un valor diferente al que tú pongas en "value".

Por ponerte un ejemplo, para el anterior script yo pondría la configuración de AM así:


La variable 4000 es la que yo elegí tu puedes elegir la que quieras.
Viendo esta configuración el script se repetirá hasta que la variable 4000 no tenga el valor 0 asignado y, para lo que tu quieres hacer, esto significaría que el personaje no podría volver a salir.
Ahora bien, en el momento que tu decidas que ya puede salir de ahí lo único que tendrás que poner en un script cualquiera sería:

Código:
setvar 0x4000 0x1
Con esto el valor de la variable 4000 ya no sería el mismo que nosotros configuramos en AM, por lo que el script ya no se ejecutará.

Espero que te sirva, para cualquier duda pregunta. :D
 

JkiisRuizKill

Jkiis Ruiz
Respuesta: Re: Como activar un script de gatillo con otro

Pero al salir de la habitación y volver a entrar se me repite el script.
 

JkiisRuizKill

Jkiis Ruiz
Respuesta: Re: Como activar un script de gatillo con otro

he puesto el setvar 0x4000 0x1, entonces me deja salir, pero al volver a entrar en el mapa me vuelve a activar el script de gatillo
 

Fran Agustín

Si el sol besa tus ojos, ni cuenta te das.
Miembro insignia
Respuesta: Re: Como activar un script de gatillo con otro

he puesto el setvar 0x4000 0x1, entonces me deja salir, pero al volver a entrar en el mapa me vuelve a activar el script de gatillo
Cito el tema que siempre mando a leer a la gente que usa cualquier variable:

4000 Temporary/disposable variable.
Usa una variable segura y ya, amigo. Esa variable cambia de valor al salir del mapa, por eso se repite.
 
Estado
Cerrado para nuevas respuestas.
Arriba