[RH - Scripting] [ESCUELA DE SCRIPTS] Scripts de gatillo / Variables (2)


Like Tree1Gracias
  • 1 Post By Xabier2012
 
 
Herramientas Desplegado
  #1  
13/10/2016
Predeterminado [ESCUELA DE SCRIPTS] Scripts de gatillo / Variables (2)



¿Qué es un script de gatillo?

Un script de gatillo es aquel script que se ejecuta cuando se pisa una casilla en
el suelo que representa el script, es decir, que cuando pisas el script creado en AM, se ejecute el script guardado en su offset.

Estos scripts se representan con una casilla verde y una 'S' dentro. Par que funcionen necesitan como condición que una variable del juego tenga cierto valor.


Configuración de un script de gatillo



1-El tipo de evento, que tiene que ser script. Así se representa un script de gatillo en el AM.

2-Esta casilla es obligatoria para que el script funcione correctamente.

3-Normalmente aqui se pone el número 3, pero yo suelo poner 0 y no me da problemas

4-Aquí ponemos la variable que queremos comprobar su valor

5-Aquí ponemos el valor de la variable, y si la variable tiene el valor que se pone aquí el script se ejecutará.

6-Offset del script.



Los scripts de gatillo se repiten

Imaginemos que queremos poner un sitio donde el personaje no pueda pasar hasta que no le den un pokémon. Lo que tenemos que hacer es un script de gatillo. Un script de gatillo se ejecuta cuando la variable que se pone en la configuración tiene el valor que se pone en la configuración también, entonces si lo hemos configurado para que se ejecute cuando la variable 4050 tenga el valor 0, lo que tenemos que hacer es que en el código de cuando nos den un pokemon pongamos un setvar 0x4050 0x1, de esta forma ahora la variable 4050 ya no tiene el valor 0 sino el 1 y por lo tanto lo se ejecuta el script que no te deja pasar y ahora sí puedes pasar. ¿Captas el concepto? Recordad que todas las variables empiezan con el valor 0 por defecto y que a medida que transcurre el juego puede ser cambiado.


Addvar y Subvar

Con el comando setvar, podemos estar un poco limitados para hacer scripts y condiciones. Estos dos comandos al menos nos facilitan bastante las cosas si queremos hacer determinados tipos de eventos.

El comando Addvar suma el valor a una variable, suma. El setvar sustituye y fija el valor de la variable, pero el Addvar lo suma al valor que ya tenía la variable. Si queremos que un script se ejecuta cuando se hablen con 5 personas por ejemplo, en vez de hacer 5 condiciones por separado para comprobar que se habló con las 5 personas, podemos a una variable sumar el valor "1" cada vez que se hable con la persona que queremos, de forma que cuando se hablen con todas las personas el valor sumado total que habrá en la variable será "5". De esta forma ponemos la condición en nuestro script de gatillo que el var value sea 5, y así se ejecutará solo cuando sea 5 y se haya hablado con dichas personas.

En comando Addvar es tal que así:

Código:
addvar 0xVariable 0xValor
Si hacemos esto:
Código:
setvar 0x4000 0x2
addvar 0x4000 0x1
El valor de 4000 será de 3.

El comando subvar es igual solo que en vez de sumar resta

Código:
subvar 0xVariable 0xValor

Copyvar y Copyvarifnotzero

Copyvar hace que el valor de una variable pase a otra variable.

Código:
Copyvar 0xVariable1 0xVariable2
De esta forma, el valor de Variable1 ahora lo tendrá también Variable2.

Copyvarifnotzero es igual, solo que si Variable1 tiene el valor 0, este valor no se pasará a la Variable2, como si se ignorara el comando.

Código:
Copyvarifnotzero 0xVariable1 0xVariable2

@Tervaxx @Toni @rdoble @AwesomeCS @RafaSc3 @LluviaElemental @AlexanderWWE @Axnez @ZeonElMagnífico @jfem
Gracias: KevinXDE
 

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 01:32.