22676-¿Flag_o_variable\?
#3
Javi4315♪ 13374
A ver, un script de gatillo puedes evitar que se siga ejecutando con una flag o cualquier otra condición. Por ejemplo, imagínate que después del script activas la flag 0x200 (o la que sea). Entonces pones al principio del script un checkflag que te lleve a un puntero llamémosle "vacío":

[...]
checkflag 0x200
if 0x1 goto @fin
[...]
#org @fin
end
[...]

De esa manera, cuando pisas y ya está activada la flag, el script termina sin hacer nada. Claro que esta es la forma chapucera. Notarás que al pisar se te quedará como bloqueado, muy, muy poco tiempo, pero se queda porque lee el script. Entonces eso no queda profesional, lo suyo es hacerlo con variables.

Cuando configuras el script de gatillo, tienes que poner una variable y un valor (en advance map) para que se ejecute. Lo que tienes que hacer es asignar una variable, imagínate que es la 0x40FF. Si no la has utilizado antes, tendrá por defecto el valor 0. Así que configuras el script con la variable "40FF" y el valor "0000" ¿Bien hasta ahí?

Eso lo que quiere decir básicamente es que siempre que la variable 0x40FF tenga el valor 0x0 se ejecutará el script. Pero si tiene uno distinto, no lo hará. Por ejemplo, si en un momento determinado haces un setvar y le cambias el valor de la variable, por ejemplo, a 1, ya no se ejecutará el script ¿Entiendes?

Entonces, la forma de hacerlo es poner al final del script un setvar, un addvar o algún comando de esos para cambiar el valor a la variable, de tal forma que no se vuelva a repetir el script al pisar.