Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarse
Eventos Actuales
No hay eventos actualmente
¡ Bienvenido Invitado !

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte
 

 [RM] Crear spells de manera facil

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3579
Reputación Reputación : 695
Monedas de oro : 11031
Monedas de Platino : 0 [RM] Crear spells de manera facil Empty

Inventario :
[RM] Crear spells de manera facil Empysl10 [RM] Crear spells de manera facil Empysl10 [RM] Crear spells de manera facil Empysl10
[RM] Crear spells de manera facil Empysl10 [RM] Crear spells de manera facil Empysl10 [RM] Crear spells de manera facil Empysl10

[RM] Crear spells de manera facil Empty
Mensaje(#) Tema: [RM] Crear spells de manera facil [RM] Crear spells de manera facil Clock10Dom Jun 20, 2021 9:57 pm

Buenos días queridos users .3

Hoy les traigo unos cuantos métodos para crear habilidades de manera muy fácil
No dejen que el tamaño del post los asuste, las explicaciones no son necesaria para entender los métodos sino para entender el funcionamiento del juego, si aprender a replicar lo aprendido, les bastará para este tutorial


Índice:
   1. "No quiero leer nada dame el mapa"
   2. Explicación Detonadores y Detonadores bucle
   3. Explicación de Variables
   4. Explicación Libro de conjuros
   5. Explicación de Runas dummy
   6. Explicación de Unidades Dummy caster
   7. Explicación de Grupos de unidad
   8. Explicación Variables Locales
   9. Explicación acción a acción de algunos hechizos

[RM] Crear spells de manera facil 623713d2ee

"No quiero leer nada, solo dame el mapa"
Pues está perfecto pensar así, todo este texto está aquí solamente para aquellos que quieran aprender un poco más del funcionamiento y uso de los métodos usados en el mapa, dentro del mapa también están los ejemplos de las explicaciones
https://www.epicwar.com/maps/314753/

[RM] Crear spells de manera facil 623713d2ee

Detonadores y Detonadores bucle

Lo primero que debemos aprender para crear hechizos es, qué es un detonador y cuáles son sus partes. Un detonador es un conjunto de acciones que se activan una vez un evento ocurra y cumpla con sus condiciones.

[RM] Crear spells de manera facil Exp-Detonador

Ahora, un detonador bucle es ligeramente especial, ya que utiliza el evento "Tiempo - Periodic Event", y es un detonador que ocurre cada X segundos constantemente, en hechizos lo usamos constantemente para poder hacer cosas a lo largo del tiempo (en oposición a que todo ocurra instantaneamente)

[RM] Crear spells de manera facil Worldedit121-2021-06-20-21-36-57



[RM] Crear spells de manera facil 623713d2ee


Explicación de Variables

Si quieres leer bien la definición de variables ir a este tutorial

Aquí va la explicación corta:
Las variables son declaradas desde el Editor de variables con su nombre y su tipo, y contienen información que nosotros decidimos guardar dentro

Para este tutorial se usan 3 tipos de variables: Unidad, Punto y Número Entero, explicaré la importancia de la variable de Punto aquí, ya que es la más necesitada en los detonadores.

La variable de Punto es sencilla de entender, guarda un Punto(localización) en el mapa, y siempre debemos usarla para evitar potencial lag en nuestro map, un ejemplo de su uso es así:

[gui]Variable de Punto
   Acontecimientos
   Condiciones
   Acciones
       Set Punto = (Center of PuntoRespawnCreeps )
       Unidad - Create 5 Soldado raso for Jugador 1 (rojo) at Punto facing Vista edificio predeterminada (270.0) degrees
       Custom script:   call RemoveLocation(udg_Punto)
[/gui]

Como ven, tiene 3 pasos, primero, usando la acción Set variable, guardo la información del punto que voy a usar. El segundo paso es hacer uso de este punto(podemos usarlo tantas veces queramos). Y el último y más importante paso, es usar la acción Custom Script y escribir dentro [ljass]call RemoveLocation(udg_Punto)[/ljass] donde "call RemoveLocation(udg_" siempre se escribirá igual, y luego sigue el nombre de la variable y el cierre del paréntesis, si mi variable se llama "PaillanGod" entonces debo escribir [ljass]call RemoveLocation(udg_PaillanGod)[/ljass]

La variable de tipo unidad guardará la información de una unidad, por ejemplo, la unidad(o héroe) que utilizó el hechizo. La variable de Número Entero guardará un número sin decimales dentro.

Para más información:
https://www.worldofeditors.net/t49-fugas-de-memoria-gui-o


[RM] Crear spells de manera facil 623713d2ee

Explicación Libro de conjuros[/b]

Existe un hechizo en la parte de "Objetos" llamado "Libro de Conjuros" este es uno de los hechizos más especiales del juego, es capaz de contener hechizos dentro, y se lo utiliza para otorgar habilidades invisibles a unidades, así podemos crear nuevos debuffs y buffs, por ejemplo, un buff que por 30 segundos obtengas la habilidad de Caparazón de Pinchos

Solo se necesitan 2 cosas para esto. crear la habilidad:
[RM] Crear spells de manera facil Worldedit121-2021-06-20-13-50-14

Y un detonador de Map Initialization así
[gui]Escudo Acuoso Init
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer A) from 1 to 12, do (Actions)
           Bucle: Acciones
               Jugador - Desactivar CapLibro  for (Player((Integer A)))
[/gui]

Y listo, luego le agregamos la habilidad "CapLibro" a la unidad que queramos, y ganarán caparazón de pinchos sin  mostrar icono

Para más información:
https://www.worldofeditors.net/t3784-reinventando-las-mecanicas-combinar-pasivos
https://www.worldofeditors.net/t4077-explicando-libro-de-conjuros

[RM] Crear spells de manera facil 623713d2ee


Explicación Runas Dummy

Esta es la primera de las 2 maneras que tenemos para utilizar hechizos extra para añadirles efectos a nuestros poderes, la Runa Dummy tiene 2 limitaciones:
- La habilidad debe ser de 1 nivel
- Debe usarse sobre una unidad con la habilidad Inventario o el método no funcionará

Las ventaja de este método es su facilidad para utilizarse, ya que es algo muy intituivo, todo lo que hacemos es crear un objeto estilo runa y darselo a un héroe o unidad, para utilizarse se hace esto:

Crear el objeto, basándose en una runa se ahorrarán mucha configuración
[RM] Crear spells de manera facil Worldedit121-2021-06-20-13-50-14

Poner estas 2 acciones en un detonador
[gui]Piel Escamosa
   Acontecimientos
       Unidad - A unit Es atacado
   Condiciones
       (Level of Piel escamosa  for (Triggering unit)) Mayor que (>) 0
       (Random integer number between 1 and 100) Menor que o igual a (<=) (10 + (5 x (Level of Piel escamosa  for (Triggering unit))))
   Acciones
       Héroe - Create Runa Piel escamosa and give it to (Triggering unit)
       Objeto - Remove (Last created item)
[/gui]

Para más información: https://www.worldofeditors.net/t4047-runas-dummy-en-gui´

[RM] Crear spells de manera facil 623713d2ee


Explicación Unidades dummy caster

Un dummy caster, es una unidad invisible capaz de lanzar hechizos instantáneamente, se utilizan para poder utilizar hechizos desde los detonadores sin demora y sin interrumpir a ninguna unidad. Los dummy caster deben ser creados teniendo varias modificaciones en cuenta, lo que yo aconsejo es usar Ctrl+C y Ctrl+V en el dummy caster que ya está en el mapa del tutorial, pero las modificaciones a tener en cuenta son las siguientes:

Gráfico - Archivo de modelos : Utilicen un modelo dummy.mdx o simplemente escriban en la ultima opción "none.mdl"(un modelo inexistente)
Gráfico - Animación - Lanzar con efecto de retroceso: Colocar en 0
Gráfico - Animación - Mezclar tiempo: Colocar en 0
Gráfico - Animación - Punto de lanzamiento: Colocar en 0. Estas 3 opciones son para que los hechizos salgan instantáneamente
Estadísticas - Coste de comida: Colocar en 0, de lo contrario gastará comida
Gráfico - Imagen de sombra (Unidad): Colocar Ninguno
Habilidades - Normal: Debe tener la habilidad "Inventario (Héroe) y la habilidad "Langosta", si no pueden agregar esta habilidad, entonces seleccionen con Shift+Enter y escriban "AInv,Aloc" (sin comillas)
Movimiento - Tipo: Ninguno
Movimiento - Velocidad base: Colocar en 0
Sonido - Configuración sonido unidad: Colocar Ninguno.

Para utilizarse se siguen unos cuantos pasos
[gui]EjemploDummyCaster
   Acontecimientos
   Condiciones
   Acciones
       Set Punto = (Center of PuntoRespawnCreeps )
       Unidad - Create 1 Dummy Caster for Jugador 1 (rojo) at Punto facing Vista edificio predeterminada (270.0) degrees
       Unidad - Add TorbellinoDeCuchillasDummy  to (Last created unit)
       Unidad - Add a 2.00 second Genérico expiration timer to (Last created unit)
       Unidad - Order (Last created unit) to Humano Sacerdote: Fuego interior Ninguna unidad
       Custom script:   call RemoveLocation(udg_Punto)
[/gui]
Este es un ejemplo ligeramente incompleto, pero se entiende que siempre usa estas acciones, para más información ir a:
https://www.worldofeditors.net/t1423-unidades-dummy
https://www.worldofeditors.net/t3033-reinventando-las-mecanicas-convertir-un-spell-single-target-a-spell-aoe

[RM] Crear spells de manera facil 623713d2ee

Explicación Grupo de unidad

Los grupos de unidades son muy usados en hechizos, sobretodo cuando queremos hacer hechizos con AoE, un grupo de unidad busca varias unidades según le indicamos, esto puede ser:

         - Unidades en Región
         - Unidades en Rango de un punto
         - Unidades de X Jugador
         - Unidades de X tipo de unidad

Estos generan Leaks de memoria y deben ser limpiados, en esta tutorial usaremos este método de uso

Primero usamos una acción Custom Script con el texto [ljass]set bj_wantDestroyGroup = true[/ljass], luego vamos a la acción "Grupo de unidad - Pick every unit in Unit Group and Do Actions"(apreten la U y luego la G cuando vayan a agregar una acción y encuentran la acción)

[gui]Grupos de Unidad
   Acontecimientos
   Condiciones
   Acciones
       Custom script:   set bj_wantDestroyGroup = true
       Grupo de unidad - Pick every unit in (Units in (Playable map area)) and do (Actions)
           Bucle: Acciones
[/gui]

Luego en "Bucle: Acciones" ponemos nuestras acciones para nuestras unidades, dentro del bucle deben usar "Picked Unit" para referirse a las unidades del grupo.



[RM] Crear spells de manera facil 623713d2ee

Explicación Variables Locales

Las variables locales, son variables que solo funcionan en el entorno que se declaran, comprender el concepto puede ser complicado, pero solo les bastará saber esto:

       - Las variables locales se deben declarar al principio del detonador donde las usaremos
       - Las variables locales funcionan con Waits
       - Las variables locales siempre deben ser limpiadas a valor "null" para evitar fugas de memoria
       - Las variables locales no funcionan con bucles Grupos de jugador, grupo de unidad o condiciones de If/then/else
       - El bucle Integer A e Integer B no funcionan con variables locales

Las variables locales que usamos en este tutorial son de Unidad y una de Número entero para poder crear bucles
Para declarar una variable local usamos Custom script así:
[gui]Custom script:   local unit udg_Unidad
[/gui] Donde, siempre debemos usar la palabra "local" seguida del tipo de variable (en este caso "unit") y el nombre de la variable, siempre deben colocar el prefijo "udg_" y luego el nombre de su variable Global creada desde editor de variables.
Luego le dan un valor con la acción Set Variable
[gui]Set Unidad = (Triggering unit)
[/gui]
Y al final, deben liberar esa variable usando Set Variable pero en Ninguna unidad
[gui]Set Unidad = Ninguna unidad
[/gui]

Para poder usar un bucle, debemos hacer lo siguiente:

[gui]Ejemplo Bucle Local
   Acontecimientos
   Condiciones
   Acciones
       Custom script:   local integer udg_LocalLoop
       Custom script:   local integer udg_LocalLoopIndex
       Set LoopLocal = (2 + (Level of (Ability being cast) for (Triggering unit)))
        Do Multiple ActionsFor each (Integer LoopLocalIndex) from 1 to LoopLocal, do (Actions)
           Bucle: Acciones
               -------- Acciones aquí dentro --------
               Partida - Display to (All players) the text: (String(LoopLocalIndex))
               Wait 1.90 seconds
[/gui]

Como ven, deben usar 2 variables, la variable LoopLocal para definir el punto máximo del bucle(también pueden usar un número plano, pero si deben usar una función, recurran a la variable local) y luego una variable para ser el (Integer A), pero en este caso es "LoopLocalIndex"

Para más información:
Dejen sus preguntas abajo

[RM] Crear spells de manera facil 623713d2ee

Explicación Hechizos acción a acción

[gui]Pequenio Avatar Explicado
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Mini Avatar
   Acciones
       -------- La primera acción siempre debe ser la declaración de la variable local --------
       Custom script:   local unit udg_Unidad
       -------- Guardamos en nuestra variable local al héroe caster --------
       Set Unidad = (Triggering unit)
       -------- Le agregamos las habilidades que le dan regen de vida y resistencia mágica, así funcione nuestra habilidad como deseamos --------
       Unidad - Add MagResistAvat  to Unidad
       Unidad - Add RegenVidaAvatar  to Unidad
       -------- Usamos las funciones "Arithmetic" y "Conversión - Convert integer to Real" para crear la duración adecuada según el nivel de habilidad --------
       Wait (2.40 + (2.50 x (Real((Level of (Ability being cast) for (Triggering unit)))))) seconds
       -------- -------------------------------------- --------
       -------- Una vez termina nuestro wait debemos quitar las habilidades agregadas --------
       Unidad - Remove MagResistAvat  from Unidad
       Unidad - Remove RegenVidaAvatar  from Unidad
       -------- Y por último, colocamos nuestra variable a "Ninguna Unidad" para evitar fugas --------
       Set Unidad = Ninguna unidad
[/gui]

[gui]Oleaje Aplastante Explicado
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Oleaje Aplastante
   Acciones
       -------- Primero, declarar variables locales --------
       Custom script:   local unit udg_Unidad
       Custom script:   local unit udg_Unidad2
       Custom script:   local integer udg_LocalLoop
       Custom script:   local integer udg_LocalLoopIndex
       -------- Asignamos el valor de la variable a Triggering Unit que es la unidad que usa el hechizo --------
       Set Unidad = (Triggering unit)
       -------- La variable de Punto para crear el dummy caster --------
       Set Punto = (Position of Unidad)
       -------- Se crea el dummy caster, se le agrega la habilidad que usará y lo asignamos a nuestra segunda variable local --------
       -------- Este dummy es el que produjirá nuestro "oleaje" --------
       Unidad - Create 1 Dummy Caster for (Owner of Unidad) at Punto facing Vista edificio predeterminada (270.0) degrees
       Unidad - Add OleajeDummy  to (Last created unit)
       Set Unidad2 = (Last created unit)
       Custom script:   call RemoveLocation(udg_Punto)
       -------- Para poder crear 3/4/5 oleadas según el nivel, tenemos que usar esta variable local para nuestro límite del bucle --------
       Set LoopLocal = (2 + (Level of (Ability being cast) for (Triggering unit)))
       -------- Se utiliza la tercera accion For Loop, que utiliza una variable para controlar esto --------
       -------- SI UTILIZAS INTEGER A O INTEGER B EL DETONADOR SE BUGUEARA --------
        Do Multiple ActionsFor each (Integer LoopLocalIndex) from 1 to LoopLocal, do (Actions)
           Bucle: Acciones
               -------- Aunque las variables puntos no sean variables locales las podemos usar después del wait --------
               -------- pero debes destruirlo antes que termine el wait, y debes utilizarlos en relación a las variables locales, para no generar problemas --------
               Set Punto = (Position of Unidad)
               -------- Aqui movemos el dummy a la posición nueva del caster, y desde ahí activa el oleaje --------
               Unidad - Move Unidad2 instantly to Punto
               -------- Este segundo punto es que para que la oleada salga hacia el frente --------
               Set Punto2 = (Punto offset by 256.00 towards (Facing of Unidad) degrees)
               Unidad - Order Unidad2 to Señor de las bestias neutral - Estampida Punto2
               -------- Y limpiamos los puntos ANTES del wait --------
               Custom script:   call RemoveLocation(udg_Punto)
               Custom script:   call RemoveLocation(udg_Punto2)
               Wait 1.90 seconds
       -------- Una vez termina el wait, debemos remover nuestro dummy y limpiar las variables de unidad --------
       Unidad - Remove Unidad2 from the game
       Set Unidad = Ninguna unidad
       Set Unidad2 = Ninguna unidad
[/gui]

Y fin, si no aprendiste nada no es mi culpa
Volver arriba Ir abajo
 

[RM] Crear spells de manera facil

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» Nuevo modo de crear estadios !
» Mejor manera de cojer a dittos
» League of Legends (LoL)
» Ayuda con mazo verde rojo.
» Nociones básicas de como draftear

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Academia :: Area GUI :: Creación de Spells-