Guía para hacer hechizos con Triggers (III)
II. Herramientas y concocimiento que se necesitan
III. Trabajando con el Object Editor
IV. Triggers: ¿Que són y como funcionan?
V. Variables
Las variables son usadas para guarder información en la memoria, si quieres usarlas durante las acciones en el mismo o aún en diferentes triggers. Hay tres categories de variables: Global, Local y Event-Response.
Global Variables son extremadamente usadas cuando hacemos un hechizo mejorado con triggers. Para declarar estas variables, necesitas ir al variable editor y agregar una variable. El variable editor puede ser encontrado en el trigger editor donde hay un icono de una X. La única ventaja de las variables globales es que pueden ser usadas por cualquiera con un pequeño conocimiento en el manejo de los triggers. De todas maneras, tienen una gran desventaja: son únicas. Esto significa que en un preciso momento, la variable puede guardar un valor único. Si el trigger es ejecutado multiples veces, solo el valor de la última ejecución sera guardado en la variable.
En el trabajo de hacer spells es un pequeño gran problema. Consideren dos unidades casteando el mismo hechizo al mismo tiempo. Si usas variables globales, solo el hechizo lanzado por la segunda unidad (porque lanzar un hechizo EXACTAMENTE en el mismo momento es un poco imposible) sucederá. El hechizo de la primera unidad se verá toda buggeada, dependiendo de que tantas variables globales uses. Como ejemplo, imaginen dos sorceresses lanzando el hechizo slow al mismo tiempo, y solo el lanzado por la segunda toma efecto. ¿No sería molesto?
Los hechizos que permiten que sean lanzados por dos o más unidades al mismo tiempo sin causar ningún bug por el problema de las variables globales son llamados Multiinstanceable (o MUI). Para obtener esos hechizos tienes que usar las variables Event-Response (las cuales tienen sus límites) o variables locales, las cuales desafortunadamente por ahora serán inaccesibles para ti.
Local Variables desafortunadamente requieren de JASS, el cual es actualmente un lenguaje de programación, basado en los triggers que están hechos de Graphic User Interface o Interfase Grafica de Usuario (GUI), haciendolos accesibles a todos. Pero a debido a esto (al GUI) hay que limitarse a algunas posibilidades del lenguaje. No recomiendo aprender JASS hasta que se tenga considerable experiencia en triggers. Realmente le encontré muy difícil cuando empece a aprenderlo, y me tomó más de un mes hacerlo.
Pero regresando a la descripción de las variables locales, ellos guardan un valor separado por cada ejecución de las acciones en la memoria. Claro que esto causa Memory Leaks o Lags (variables que son guardadas en la memoria y que no son usadas) si no las remueves apropiadamente. Esto lo discutiremos luego, cuando hayamos terminado lo básico.
Event-Response Variables son un poquito diferentes e inflexibles. A diferencia de las variables Globales o Locales, estas variables no pueden recibir valor alguno. Sus valores, dependen únicamente del evento del trigger. Más aún, ellas tienen una vida limitada en la memoria. Después de un corto periodo de tiempo, la mayoría de ellas, son eliminadas de la memoria. Solo unas pocas de ellas se quedan hasta que la última acción sea ejecutada. Para resolver este problema, tienes que usar las variables globales o locales.
Nota:
Las variables Global/Local deben tener un nombre único. En el caso de las Variables Globales, el Editor de Variables te prevendrá cuando le des el mismo nombre a una variable que otra pero en el caso de las Locales, la situación cambia. Tu único interés por ahora será con las variables Globales.
Otra clasificación de las variables que puede hacerse es por su tipo. He enumerado la mas importantes aquí:
- Integer – Guarda un valor entero (ej: 34)
- Real – Guarda un valor real (ej: 500.32)
- Point – Guarda un punto en el mapa con coordenadas específicas (ej: Target Point of Ability Being Cast)
- String – Guarda múltiples caracteres (ej: “abcd”)
- Unit – Guarda una unidad (ej: Casting Unit)
- Boolean – Puede guardar valores True o False.
- Special Effect – Guarda un efecto especial (ej: Last Created Special Effect)
- Unit Group – Guarda un grupo de unidades (ej: Units In (Playable Map Area))
- Player – Guarda un jugador. Hay un total de 16 jugadores. (ex: Owner of Unit)
Eso es lo más importante de los tipos de variables. Aún si no entiendes todos los ejemplos, luego los comprenderás todos ellos.
13 comentarios
david -
david -
empresa informatica
fotos de coches
david -
tienda informatica
intercambio de enlaces
david -
juegos gratis wii
Portal Mascotas
david -
consumibles informatica
Directorio de Blogs
david -
REFORMAS MADRID
ASESORAMIENTO EN LAS ROZAS
david -
ESGUINCES MADRID
INMOBILIARIAS EN PLAYA SAN JUAN
david -
ASNEF
ARTES GRÁFICAS MADRID
david -
CHALET EN MONTECLARO
parquet madrid
david -
ludoteca en madrid
REVENTA
Galled -
saludos,
Shingo-Galled
WTF -
pVvL!+o0o0 PTK -
paulo_2_5@hotmail.com