Wc3WoW Forum
Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Conectarse

Recuperar mi contraseña

Últimos temas
Chatbox

[Tutorial] Variables

Página 1 de 2. 1, 2  Siguiente

Ir abajo

Tema Resuelto [Tutorial] Variables

Mensaje por Tristan_07 el Miér 16 Mayo - 20:10

Variables - Nociones Básicas - TRISTAN_07

En este tutorial explico de forma practica y simple de comprender todo sobre las variables de WorldEditor, indicando sus tipos y diferentes relaciones que pueden realizarse entre ellas.
Este Tuto contiene:
⭐ ¿Qué es una Variable?
⭐ ¿Son muy útiles las Variables?
⭐ ¿Qué podemos hacer con Variables?
⭐ ¿Cómo creamos una Variable?
⭐ ¿Qué son y Cuales son los tipos de Datos mas Utilizados?
⭐ ¿Qué son los Arrays o Formación de Variables?
⭐ Ejemplo complejo de la manipulación y relación de las Variables con Explicación.

¿Qué es una Variable?:
⭐ ¿Qué es una Variable?
Las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud:
Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas.
Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.

Fuente: [Tienes que estar registrado y conectado para ver este vínculo]

Bien de una forma mas metafórica, muchos podemos decir que las Variables son como pequeñas cajas en donde guardamos algo, y que luego queremos utilizar entonces buscamos esa caja. Estas Variables ocupan memoria, así como ocupan lugar las cajas en una habitación.

¿Son muy útiles las Variables?:
⭐ ¿Son muy útiles las Variables?
Así es, las variables son muy útiles y en algunos casos hasta indispensables, si vamos por el lado del World Edit, con las variables podemos hacer sistemas que ínter actúan de forma continua refiriéndonos a Variables que al fin generan un circuito continuo, o referirnos mediante variables a "cosas" a las que de otro modo ya no podríamos referirnos entonces las guardamos en estas cajitas.

¿Qué podemos hacer con Variables?:
⭐ ¿Qué podemos hacer con Variables?
Multiples acciones podemos realizar con las variables, podemos darle valores que luego modificaremos, y/o le demos nuevos valores que luego aplicaremos.

¿Cómo creamos una Variable?:
⭐ ¿Cómo creamos una Variable?
Esto es muy simple simple, solo tenemos que ir al editor de detonadores, y en la barra de herramientas de este menú se encuentra una herramienta cuyo icono tiene la forma de una "X" , Luego vamos a -Editar -Nueva Variable (Ctrl+N). Después de esto tenemos que darle un Nombre a nuestra Variable, esto no tiene mucha influencia en cuanto al dato de la variable pero sí en cuanto al orden propio, lo ideal es darle un nombre siguiendo un Patrón para estar mas orientado, y así no tener inconvenientes cuando debemos referirnos a ella. A estas variables se les puede dar un valor predeterminado o darle posteriormente un valor mediante detonadores, comúnmente conocido como "SETEO", cada variable puede almacenar diferentes tipos de Datos.

¿Qué son y Cuales son los Tipos de Datos mas utilizados?:
⭐ ¿Qué son los tipos de Datos?
Los tipos de datos, son valga la redundancia el tipo de dato que tiene la capacidad de almacenar una cierta variable, si bien hay muchos tipos de datos en el contexto de World Edit los mas utilizados son:
⭐ -Booleana: este tipo de valor nos permite guardar una relación entre True-False, es decir, un valor Verdadero o Falso, podemos utilizar este tipo de datos para denotar si queremos o no que una función se realice.
⭐ -Integer (Numero Entero): este tipo de dato nos permite almacenar números de tipo entero, se puede utilizar para muchas acciones, y generalmente este tipo de variable nunca falta en cualquier mapa, podemos utilizar esta variable para numerar una cantidad de otro dato, o para realizar operaciones aritméticas que deriven en otras funciones.
⭐ -Tipo de Objeto: con este tipo de datos nos referimos a un tipo de objeto al cual queramos referirnos nuevamente, ejemplo
"VARIABLE_TIPO_OBJETO=(Type of Last Being Manipulated Item)" es decir le damos el valor referido al tipo de objeto del Ultimo Objeto manipulado.
⭐ -Payer (Jugador): este tipo de daos es para hacer referencia a un jugador determinado, al cual luego le podemos aplicar acciones por ejemplo,
"VAR_JUGADOR=(Owner (Death Unit))" controlador de la unidad muerta, luego de esto podemos realizar una acción parecida a esta "Partida- Derrota - Enforced Derrota for Player(VAR_JUGADOR), es decir decimos que el jugador guardado en la Variable pierde la Partida.
⭐ -Point (Punto): en este tipo de variables podemos almacenar el dato de un Punto determinado del Mapa, este tipo de variables es muy particular y muy utilizada, ya que suele ser muy difícil o hasta aveces imposible referirse a un Punto que hayamos Utilizado anterior mente, por eso es que se guarda el Dato de ese Punto en este tipo de variables para luego hacer referencia nuevamente a este Punto. ejemplo metafórico, si una unidad a la hora 23:14 del juego pasa por Punto-A, va a ser muy difícil referirnos a ese punto después de que la unidad ya haya abandonado el Punto, por eso lo almacenamos.
⭐ -Real: este es un tipo de dato muy utilizado ya que que nos permite almacenar números de tipo Real, así como por ejemplo el n° de la Hora,el ángulo de visión de una unidad y cualquier otro numero con ","(coma).
⭐ -String (Cadena o Cadena de Texto): esta tipo de variable se utiliza para guardar datos de Caracteres, es decir lineas de letras, Palabras, Textos y demás caracteres que puedan formar una cadena de texto y que pueden ser utilizados como Mensajes posteriormente.por ejemplo
"VAR_CADENA=Roberto Quiere Tomar #$%#$/&#"
y luego -Partida - Display Mensaje for All Players (VAR_CADENA)
entonces enviará el mensaje almacenado en la variable "VAR_CADENA"
⭐ -Unit(Unidad): este tipo de datos hace referencia a una unidad, a la que luego podemos referirnos mediante la variable. Lo bueno de este tipo de datos es que nos permite almacenar unidades muertas, unidades creadas, y demás. Por ejemplo
"VAR_MI_UNIDAD=(Last Created Unit)" - ultima unidad creada
"VAR_MI_UNIDAD=(Entering Unit)" - Unidad Entrante, cuando nos referimos a ingresos en regiones
-Así también hay una opción que puede referirse a otras opciones, la Triggering Unit - Unidad Detonadora, esta puede ser utilizada cuando hablamos de el acontecimiento eventual de una unidad. por ejemplo en un acontecimiento que hace referencia a "Generic Unit Muere" podemos usar (Death Unit) pero es mas conveniente (Triggering Unit) que también hace referencia a la unidad detonadora del evento, en este caso la muerte de esa unidad, pero esta referencia es mas eficiente ya que acciona de forma más rápida.
-Otros tipos:
⭐ -Grupo de Unidad: hace referencia a un grupo determinado de unidades
⭐ _Grupo de Jugadores: se refiere a un grupo determinado de jugadores así como Jugadores aliados del jugador 9 (gris).
⭐ -Tipo de Unidad: se refiere a un tipo de unidad determinado, puede servirá para crear unidades de ese mismo tipo, y desde esta variable podemos referirnos a el tipo de una unidad almacenada en una variable de Unidad
⭐ -Tipo de Objeto: se refiere a un tipo de objeto determinado, puede servir para crear objetos de ese mismo tipo, ademas desde esta variable podemos referirnos a un objeto almacenado en una variable de Objeto

¿Qué son los Arrays o Formación de las Variables?:
¿Qué son los Arrays o Formación?
Estas son un tipo particular de Variables, para crear una Arrays tenemos tildar la opción "Formación" al momento de crear la variable, estas variables permiten guardar varios datos dentro de esta misma variable por ejemplo:
Set VAR_JUGADOR[1]=Jugador 1
Set VAR_JUGADOR[2]=Jugador 2
Set VAR_JUGADOR[3]=Jugador 3
Set VAR_JUGADOR[4]=Jugador 4
Set VAR_JUGADOR[5]=Jugador 5
Set VAR_JUGADOR[6]=Jugador 6

en los "[](corchetes)" se establece el Index(Indice de la Variable) es decir se determinan bajo que indice tiene cada valor en esta variable. De forma combinada podemos referirnos a los diferentes indices de una misma variable mediante otras Variables, por ejemplo
Actions:
Código:
Set VAR_INTEGER=(Random number beetwin 1 and 6)
-----(Un numero Random entre 1 y 6)------
Set VAR_JUGADOR[1]=Jugador 1
Set VAR_JUGADOR[2]=Jugador 2
Set VAR_JUGADOR[3]=Jugador 3
Set VAR_JUGADOR[4]=Jugador 4
Set VAR_JUGADOR[5]=Jugador 5
Set VAR_JUGADOR[6]=Jugador 6
Unidad-Create 3 Grunt for VAR_JUGADOR[VAR_INTEGER] in (Center of PlayMap Area)
si nos fijamos bien este codigo creara una unidad para el jugador de la variable "VAR_JUGADOR" que esta almacenado en el Arrays que arroje el cálculo al azar(Random) de la Variable "VAR_INTEGER"

en caso de que VAR_INTEGER sea igual a 3
va a crear el Grunt para el jugador de la Variable "VAR_JUGADOR" con indice en "3", o "VAR_JUGADOR[3]"

EJEMPLO(explicado):
EJEMPLO COMPLEJO:
bien ahora les pasare mediante código un detonador que utilice los diferentes tipos de Variables de forma combinada. y les voy a ir explicado.

VARIABLES:
⭐ T_PUNTO:variable de tipo Punto
⭐ T_UNIDAD:variable de tipo Unidad
⭐ T_TIPO_UNIDAD:variable de tipo Tipo de Unidad
⭐ T_JUGADORES[10]:variable de tipo Jugador con formación 10
⭐ T_G_JUGADORES:variable de tipo Grupo de Jugadores
⭐ T_CADENA:variable de tipo Cadena de Texto
⭐ T_INTEGER:variable de tipo Numero entero
⭐ T_INTEGER2:variable de tipo Numero entero

Código:
EJEMPLO
    Acontecimientos
        Unidad - A unit Gana un Nivel
    Condiciones
    Acciones
Set T_UNIDAD=(Triggering Unit)
---aca guardamos la unidad que gano el nivel en la variable---
Set T_TIPO_UNIDAD=(Type(T_UNIDAD))
---guardamos el tipo de la unidad que gano el nivel en la variable---
Set T_INTEGER=(Player Number(Owner of(T_UNIDAD)))
---almacenamos el numero del jugador controlador de la unidad que gana el nivel o de la variable T_UNIDAD que es lo mismo ya que le dimos ese valor---
Set T_INTEGER2=(Level of(T_UNIDAD))
---aca guardamos el numero entero de el nivel de la unidad T_UNIDAD y la guardamos en esta variable---
Set T_CADENA=(Concatenate String(Name of(T_JUGADOR[T_INTEGER]()+("a ganado")+(T_INTEGER2)+("unidad/es"))
--- aca guardamos una cadena de texto que va a decir el nombre de el jugador controlador de T_UNIDAD "a ganado" T_INTEGER2 (el nivel de la unidad T_UNIDAD) "unidad/es"---
Set T_PUNTO=(Position of(T_UNIDAD))
---aca Guardamos el punto de la posicion de la unidad detonadora que subio de nivel guardada en la variable T_UNIDAD---
Set T_JUGADOR[1]=Jugador 1
Set T_JUGADOR[2]=Jugador 2
Set T_JUGADOR[3]=Jugador 3
Set T_JUGADOR[4]=Jugador 4
Set T_JUGADOR[5]=Jugador 5
Set T_JUGADOR[6]=Jugador 6
Set T_JUGADOR[7]=Jugador 7
Set T_JUGADOR[8]=Jugador 8
Set T_JUGADOR[9]=Jugador 9
Set T_JUGADOR[10]=Jugador 10
--- aca seteamos una variable Arrays con los diferentes Jugadores---
Set T_G_JUGADORES=(Allies of(T_JUGADOR[T_INTEGER]))
---aca grabamos a todos los jugadores aliados de el Jugador de la variable T_JUGADOR con el numero de indice en la variable T_INTEGER que seria el numero de el controlador de la unidad T_UNIDAD, es decir si el dueño de la unidad es el jugador 7, T_INTEGER va a ser = a 7 por ende va a quedar T_JUGADOR[7], y guardamos los aliados de este jugador en la variable de grupo de jugadores---
Unidad - Create (T_INTEGER2) for (T_JUGADOR[T_INTEGER]) in (T_PUNTO)
---aca creamos tantas cantidades como T_INTEGER2 marqué es decir el tantas unidades como el nivel de la T_UNIDAD, para el jugador T_JUGADOR[T_INTEGER]es decir el jugador controlador de la unidad T_UNIDAD en la la ubicación de T_PUNTO---
Partida- Display Mensaje for (T_G_JUGADORES) Mensaje (T_CADENA)
---aca enviamos un mensaje a T_G_JUGADORES, es decir a los aliados de el jugador controlador de la Unidad T_UNIDAD y que arroje el mensaje guardado en la variable T_CADENA---
Custom Scripts - "call RemoveLocation(udg_T_PUNTO)
---esta es una linea de código que nativo que nos permite borrar los datos guardados en la variable de punto T_PUNTO, ya que como habíamos comentado las variables ocupan lugar en la memoria de uso (RAM) por ende si guardamos muchas veces diferentes puntos en la variable deberíamos remover esos datos de otro modo se volvería lento el mapa por el hecho de guardar datos de forma permanente si borralos---

este ejemplo es muy explícito y hasta muy posiblemente inútil o ineficiente (por no decir @#$%) pero muestra como se puede inter actuar con las variables.

⭐ Espero les haya servido o les sirva en algún futuro saludos..


Última edición por Dartz el Dom 27 Ene - 13:05, editado 2 veces (Razón : En los tutorialas jamas se ocultan los links.)
avatar
Tristan_07
Rango: Caballero
Rango: Caballero

Comentarios Comentarios : 213
Experiencia Experiencia : 2563
Reputación Reputación : 76
Alianza Humano Paladín Joyería Masculino
Premio Wc3WoW
Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Redsuitheart el Miér 16 Mayo - 20:24

Buen tuto sigue asip... todo eso ya lo sabia pero sera muy util para quein este comenzando a hacer mapas =D +rep
10/10
avatar
Redsuitheart
Rango: Campeón
Rango: Campeón

Título : Top 17
Comentarios Comentarios : 507
Experiencia Experiencia : 3487
Reputación Reputación : 564
Alianza Tauren Cazador de Demonios Ingeniería Masculino
Premio Wc3WoW Premio Wc3WoW Premio Wc3WoW Premio Wc3WoW Premio Wc3WoW Premio Wc3WoW
Vacío
Segundo Skinner Master
Colaborador Supremo Tutor Destacado Gran Skinner Mapper Destacado

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Ptorres el Miér 16 Mayo - 20:48

Oooo

orgasmico tuto


buenisimo!
avatar
Ptorres
Rango: Campeón
Rango: Campeón

Título : Top 14
Comentarios Comentarios : 537
Experiencia Experiencia : 3100
Reputación Reputación : 224
Alianza Caballero de la Muerte Masculino
Vacío
Colaborador Destacado

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Hikan el Vie 18 Mayo - 22:07

veamos
avatar
Hikan
Nuevo

Comentarios Comentarios : 5
Experiencia Experiencia : 2400
Reputación Reputación : 0
Alianza Sacerdote Masculino
Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Nekkrov el Mar 29 Mayo - 8:35

yo ya lo sabia pero buen tutorial
avatar
Nekkrov
Rango: Élite
Rango: Élite

Título : Top 1 - Elite
Comentarios Comentarios : 1318
Experiencia Experiencia : 3055
Reputación Reputación : 143
Neutral Trol Cazador Desuello Masculino
Vacío
Segundo Gran Mapper II
Colaborador Destacado

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por YEYOXCORE el Dom 15 Jul - 10:06

veamos

YEYOXCORE
Nuevo

Comentarios Comentarios : 3
Experiencia Experiencia : 3649
Reputación Reputación : 3
Horda Caballero de la Muerte Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por buni el Dom 15 Jul - 13:01

veamos
avatar
buni
Nuevo

Comentarios Comentarios : 1
Experiencia Experiencia : 2163
Reputación Reputación : 0
Alianza Mago Masculino
Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Copha el Lun 16 Jul - 18:28

+rep
avatar
Copha
Rango: Explorador
Rango: Explorador

Comentarios Comentarios : 52
Experiencia Experiencia : 2838
Reputación Reputación : 49
Alianza Cazador Masculino
Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Nordther el Lun 16 Jul - 20:41

mis +rep y gracias por el tuto me va a venir de anillo al dedo
avatar
Nordther
Rango: Explorador
Rango: Explorador

Comentarios Comentarios : 82
Experiencia Experiencia : 2300
Reputación Reputación : 19
Horda Elfo de Sangre Guerrero Ingeniería Masculino
Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por maoganis el Vie 19 Oct - 8:10

[b] |cff00ff00Gracias por el aporte|r [b]
avatar
maoganis
Nuevo

Comentarios Comentarios : 3
Experiencia Experiencia : 2929
Reputación Reputación : 0
Alianza Cazador Masculino
Vacío

Ver perfil de usuario

Volver arriba Ir abajo

Tema Resuelto Re: [Tutorial] Variables

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 1 de 2. 1, 2  Siguiente

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.