Blogia
MANGBROSS

Guía para hacer hechizos con Triggers (III)

I.Introducción

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.

¿Y esta publicidad? Puedes eliminarla si quieres
¿Y esta publicidad? Puedes eliminarla si quieres

13 comentarios

david -

naves industriales china

david -

unetcom-kids
empresa informatica
fotos de coches

david -

accesorios movil
tienda informatica
intercambio de enlaces

david -

posicionamiento web
juegos gratis wii
Portal Mascotas

david -

bartorero
consumibles informatica
Directorio de Blogs

david -

MOBILIARIO DE OFICINA EN MADRID
REFORMAS MADRID
ASESORAMIENTO EN LAS ROZAS

david -

MASTER MBA
ESGUINCES MADRID
INMOBILIARIAS EN PLAYA SAN JUAN

david -

Posicionamiento natural
ASNEF
ARTES GRÁFICAS MADRID

david -

jamón ibérico
CHALET EN MONTECLARO
parquet madrid

david -

TERAPIAS NATURALES MADRID
ludoteca en madrid
REVENTA

Galled -

Hola WTF, si quieres más información te recomiendo que visites http://www.e4zone.com que ahí también he escrito un poco más y con tutoriales y tó.

saludos,

Shingo-Galled

WTF -

Oe pero x ejemplo si quiero crear una habilidad en AoE como un stun de zona con un bolt storm o algo asi como puede ser ps explica con todo y detalles xq no se casi nada de world editor.

pVvL!+o0o0 PTK -

Esta muy bueno esto de las variables a ver si podemos intercambiar info. xD
paulo_2_5@hotmail.com
¿Y esta publicidad? Puedes eliminarla si quieres