qna_rh
Thread Id: 11158
Thread Name: Como desactivo un script accionando otro?
#0
FR@NKKeY 19160
Pos eso, como desactivo un script cuando piso un script de gatillo o con un script de nivel.
Espero si me puedan resolver la duda.

Saludos.
#1
ReoNeky 18653
¡Hola! pues para desactivar 1 script cuando pisas otro se usan las "Flags"
Tu en el script que quieres desactivar, al principio del script añades:
Checkflag 0x(Una flag libre, estan libres de 1200 hacia arriba, esto es en ruby)
Ejemplo: Checkflag 0x1200 (esto lo pones en el script que quieres quitar despues de pisar otro script de gatillo o de nivel)
y en el script de nivel o de gatillo añades:
Setflag 0x1200 (tienes que poner la misma que pusistes en el script que quieres desactivar) y una vez actives el segundo script, el otro se desactivará y no saltará cuando lo pises, o hables con la persona.
Es todo ;) espero haberte ayudado.
Si dudas, pregunta.
¡saludos!
#2
Hackun 12904
La mejor opción sería utilizar las variables:

Para que se active la variable estará con su valor por defecto: 0
Cuando pase lo que tenga que pasar, solo le damos valor 1, de esta manera no se volverá a activar, ya que, esta solo se activa si su valor es 0.
Conclusión: a investigar un poco sobre las variables... créeme, es fácil ^^
Saludos.
#3
FR@NKKeY 19160
Tengo un problema, en el script de gatillo que quiero desactivar e puesto checkflag 0x(la flag que utilizo) tambien he puesto setvar 0x(la variable que utilizo) 0x0 y en la persona que hablo le pongo al final setflag 0x(y la flag) y luego setvar 0x(y la variable) 0x1 pero aun asi se sigue repitiendo el script de gatillo, no se desactiva, que debo hacer? :s

Saludos.
#4
ReoNeky 18653
¡Hola!
Creo haberte entendido....
Vale, se me olvidó comentarte una cosa... xD
En el script que quieres desactivar (El de gatillo) pon:

Checkflag 0x(la flag)
if 0x1 goto 0x(Y aqui pones un offset vacio)(Esto hace que cuando actives la setflag, te lleve a la direccion vacía que has puesto y que no se repita el script)

Eso es todo, espero que te sirva.
PD: yo es que en casos así prefiero usar las flag, que las variables. En otros casos las variables.
PD: es que si no quieres que se repita, aparte de como te acabo de poner.
Si usas las variables al poner 0x0 (No estoy seguro de ello, pero se repetiría) en cambio 0x1 (Hace que cuando se haga el script, que este no se repita) y luego continuaría el 0x2, 0x3... etc
Bueno suerte

¡Saludos!
#5
FR@NKKeY 19160
Muchas gracias, ahora si que se desactiva. :D
Sois los mejores. :blush:

Saludos.

Edit: Tengo otra duda, ahora es al reves, como hago para activar un script de gatillo, estando desactivado, activando otro.
#6
Hackun 12904
Solo asignale valor 1, una vez "pisaste" el script que tiene valor 0, dale a la variable valor 1, y así se activaría el script que tiene valor 1.
Saludos.
#7
FR@NKKeY 19160
Sorry por responder tan tarde no tengo tiempo para escribir, sobre la respuesta no entiendo muy bien que se tiene que hacer me lo puedes explicar mas bien si puede ser?

Saludos.
#8
ReoNeky 18653
¡Hola!
El quiere decir, que al script que quieres desactivado, en la setvar le añadas valor 1.
y al otro script le das al setvar valor 0, entonces cuando se pase el script activado, el otro script (El desactivado) se activaría, entonces cuando pases por el funcionaría.
Espero que lo entiendas, si no, pregunta vale? =D
¡Saludos!
#9
FR@NKKeY 19160
Tengo un problema, hago lo que dices pero no se desactiva hasta que haya finalizado el evento, lo bueno es que cuando termina el evento que tiene que activar el desactivado lo vuelve a activar, solo me queda poner que no este activo hasta que no ocurra el evento pero no se como hacerlo, me puedes ayudar?

Saludos.
#10
Hackun 12904
En ese caso usa las flags, si no está activada el evento no ocurriría.
Si tienes mas problemas con las variables, pásame el script y detalladamente te digo que poner.
Saludos.