GUIA DE VARIABLES

editores!
Para quienes tengan dudas respecto a las variables, les recomendaré leer esta amplía guía, puesto a que las variables son fundamentales para la configuración de detonadores.
¿Qué son las variables?Las variables son posiciones en la memoria que puede almacenar valores. En éstas puedes almacenar casi cualquier tipo de datos que sirven para realizar un seguimiento de una determinada unidad, jugador , un tipo de unidad o incluso cadenas de texto.
El almacenamiento de información en una variable permite utilizarlo más tarde: Por ejemplo, podría almacenar el número de unidades que un jugador ha matado en una variable de tipo
número entero o algún tipo de texto introducido por el usuario en una variable de tipo
cadena.
Creación de variablesEn el editor de mundos, las variables se crean normalmente dentro del editor de variables(accesible desde el editor de detonadores F3).
En el editor de variables podrás crear cualquier tipo de variable que se necesita para su mapa.
Todas las variables tienen un tipo, un nombre y un valor.



En Tipo de variable puedes abrir la lista para cambiar el tipo
NombreCada variable debe tener un nombre único. Éste nombre no significa nada, es sólo una referencia para usted mientras crea su mapa.
Puedes llamar a las variables como quieras, así que mientras te acuerdas de lo que son adelante. =)
Tipos de variableEl tipo de una variable determina el tipo de datos que almacenará.
Hay muchos diferentes tipos de datos utilizados en Warcraft III.
Al crear una variable, se tendrá que determinar qué tipo de tipo de datos para su uso.
Por ejemplo, una variable de número entero puede
sólo almacenar un número, y una variable de tipo
unidad sólo puede hacer referencia a una unidad existente sola.
A continuación, los tipos de variable
Integer (Número Entero) | Almacena un número entero (1, 2, 3, etc.), y no acepta números decimales. |
Real (Real) | Almacena un número de punto flotante, o un número con decimales. |
String (Cadena)
| Almacena una línea de texto (también llamadas Cadenas de texto). |
Ability (Habilidad)
| Almacena un tipo de habilidad, como Windwalk o sed de sangre. |
Boolean (Booleana)
| Almacena una afirmación verdadera o falsa (true y false). |
Buff (Conjuro positivo)
| Almacena un tipo de buff, como lento (slow) o poision (veneno). |
Camera Object (Objeto cámara) | Almacena un objeto de cámara pre-colocado en su mapa. |
Destructable (Destructibles) | Almacena destructibles, ya sea antes de colocarlo o crearlo. |
Destructable Type (Destructible-tipo) | Almacena un tipo de destructibles. |
Defeat Condition (Condición de derrota)
| Almacena la última condición de derrota que hayas impuesto.
|
Dialog (Diálogo) | Puede almacenar el último cuadro de diálogo que se ha creado. |
Dialog Button (Botón de diálogo) | Puede almacenar botones de diálogos.
|
Floating Text (Texto flotante) | Puede almacenar texto flotante. |
Game Cache (Caché de Juego) | Puede almacenar caché de juego. |
Game Speed (Velocidad de Juego)
| Almacena el valor de la velocidad del juego, ya sea la velocidad de la corriente u otro valor. |
Item (Objeto) | Almacena un objeto en particular que ya existe en el mapa. |
Item Class (Clase de Objeto)
| Clases de los objetos (recargables, power-up, etc.).
|
Item Type (Tipo de objeto)
| Almacena tipos de objetos.
|
LoaderBoard (Tabla de líderes) | Puede almacenar la tabla de clasificación. |
MultiBoard (Tabla múltiple)
| Puede almacenar la MultiBoard. |
Order (Ordenar)
| Orden de una unidad, como ataque u ocultar. |
Player (Jugador) | Hace referencia a un jugador en particular. |
Player Color (Color de jugador)
| Almacena un valor de color del jugador, como el rojo. |
Player Group (Grupo de jugadores)
| Almacena un grupo de jugadores para ser utilizado de nuevo. |
Point (Punto) | Almacena una X, Y coordenadas en el mapa. |
Quest (Misión)
| Almacena la última búsqueda (misión) que ha creado. |
Quest Requirement (Requisito de misión) | Almacena el requisito de búsqueda (misión). |
Race (Raza) | Tipos de razas, como humanos o elfos de la noche. |
Region (Región) | Hace referencia a una región en particular en el mapa. |
Sound (Sonido) | Hace referencia a un sonido que ha utilizado o importadas, en el administrador de sonido. |
Special Effect (Efecto especial) | Almacena los últimos efectos especiales que ha creado. |
Tech Type (Tipo de técnico) | Almacena un tipo de investigación o de actualización. |
Terrain Deformation (Deformación del terreno) | Almacena la deformación del terreno pasada que usted creó. |
Timer (Reloj) | Se utiliza para crear temporizadores. Cada reloj tiene una variable contador de tiempo. |
Timer Window (Ventana de reloj) | Tiendas de la ventana del temporizador pasada que usted creó. |
Trigger (Detonador)
| Hace referencia a un detonador en particular en su mapa. |
Unit (Unidad) | Almacena una unidad en particular de su mapa. |
Unit Group (Grupo de unidades)
| Almacena un grupo de unidades. |
Unit Type (Tipo de Unidad) | Almacena un tipo particular de unidad, como lacayo o Hechicera. |
Visibility Modifier (Modificador visibilidad)
| Almacena el visibiliy (visibilidad) del mapa. |
Weather Effect (Efecto meteorológico)
| Almacena el efecto del tiempo pasado que ha creado. |
ValorDe forma predeterminada, el valor de una nueva variable es 0, o ninguno.
Más tarde, se puede cambiar esto durante el juego usando los códigos de activación y scripts personalizados.
Después de crear una variable, siempre puede volver al editor de variables, y cambiar las propiedades de la variable.
Establecer valores de variablesEl valor de una variable se puede ajustar en cualquier momento durante el juego.
Puede establecer las variables importantes en el inicio de su mapa.
Más tarde se pueden establecer las variables de menor a medida que se necesitan, o cuando ocurre un evento.
Las variables son flexibles.
El valor de una variable siempre se puede cambiar.
Puede establecer una variable con la acción: "Set Variable".
Las matrices de variables (arrays)Una matriz es una variable que puede almacenar varios valores.
Cualquier variable que se puede crear una matriz.
Puede especificar esto dentro del editor de variables tildando el cuadradito que dice
Array(Versión en ingles) o
Formación(Versión en español).
Cada uno de estos valores tiene un índice, o el número de la matriz, con el primer índice es 0. El índice se utiliza para llamar a las variables de la lista.
Es una manera de acceder a los valores individual almacenados dentro de la matriz.
Por ejemplo, podría haber una variable llamada Frutas, que es una matriz de variables de cadena.
Dentro de un detonador de "Map initilization", podría establecer los valores distintos de las frutas a lo que voy a necesitar más adelante en mi mapa.
Frutas Ajuste [0] = "manzanas" Frutas Ajuste [1] = "Naranjas" Frutas Ajuste [2] = "Peras" Frutas Ajuste [3] = "Bananas" |
Más adelante en el juego, si yo quiero decirle a un jugador para recoger las peras, podría utilizar frutas [2] para darles instrucciones.
Usando la lógica booleanaLa lógica booleana se utiliza para encontrar la respuesta global a una serie de sentencias condicionales.
Una booleana puede ser verdadera o falsa - nada más.
Una declaración de ejemplo sería: Yo soy diez pies de altura
o El árbol ha caído ".
La mención se
verdadero o
falso.
Si es
Verdadero, podría recoger las peras para el rey.
Variables localesLas variables locales son diferentes de las variables globales.
Las variables locales
sólo existen dentro de la función que fueron declaradas.
Por ejemplo, si usted tenía un detonador que inicia cada vez que se mata a una unidad, y que estaba usando una variable estándar global, la triggeres podría sobreescribiendo esa variable como las nuevas centrales.
Las cosas no funcionan correctamente porque el valor de la variable se cambia constantemente.
O, si usted tuviera un detonador que revive los Héroes, y almacena el héroe en una variable de unidad global, si algunos
otros héroes muertos antes de revivir la primera, la unidad héroe se sobrescribe con el nuevo. El valor de héroe de la unidad original se perdió.
Para crear las variables locales, es necesario utilizar JASS.
Inserte una nueva acción en la secuencia de comandos, y elegir "Custom Script".
Agregue la variable en el gatillo, como se muestra:
script personalizado: la unidad local Revive_Hero |
Para establecer esta nueva variable, también se tendría que utilizar un script personalizado.
Insertar otra línea en su lista de acciones, utilizando 'Custim Script':
script personalizado: juego Revive_Hero = GetTriggerUnit () |
Luego, más tarde, de nuevo tendría que JASS para revivir al héroe:
script personalizado: llame ReviveHeroLoc (Revive_Hero, GetRectCenter (GetPlayableMapRect ()), true) |
Recuerde que las variables locales no se mostrará en la interfaz estándar.
Por eso usted tiene que utilizar JASS para manipularlos.
La mejor manera de hacer esto es crear un borrador de sólo las acciones especiales con variables dicotómicas.
A continuación, convertirlo en un texto personalizado, el cambio, y insertarlo en el detonador. Espero que este tutorial pueda servirles de mucha ayuda.

En sí es una traducción echa de una guía amplía de The.helper, pero nunca está de mas tener este tipo de data en la comunidad de manera sencilla de entender.
Saludos,
Sapphiron.