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
 

 ¿Ayuda par crear habilidad de ''Manada''?

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
LycanFallen
Peón
LycanFallen


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

Mensajes Mensajes : 41
Reputación Reputación : 0
Monedas de oro : 238
Monedas de Platino : 0 ¿Ayuda par crear habilidad de ''Manada''? Empty

Inventario :
¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10
¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10

¿Ayuda par crear habilidad de ''Manada''? Empty
Mensaje(#) Tema: ¿Ayuda par crear habilidad de ''Manada''? ¿Ayuda par crear habilidad de ''Manada''? Clock10Lun Dic 06, 2021 3:04 pm

Heeey, hace mucho no estoy por aquí, y he vuelto... Para joder (y). Pero ya en serio, holap, quería retomar mi antiguo mapa y ahora se me dio por crear un tipo de unidad cuyo daño sea en base a cuantas del mismo tipo haya en el mismo rango, algo así como esos lobos del AOM, no se si los ubican; pero no se me ocurre ninguna forma.

Un ejemplo para que sea claro: ''Lobo estigio: 10 DMG base'', invocas 4 más y ahora cada lobo tiene 15 de daño en vez de 10, o 10+5, en su defecto.

Gracias de antemano u.u.


EDIT: Me las apañe un poco y cree un detonador (2, en realidad) que lo que hacen es detectar si una unidad de x tipo entró al mapa o murió, luego cuenta cuantas unidades hay en la variable de grupo asociado al numero del jugador y, en base a eso, remueve todas las habilidades de daño (utilizo habilidades de objeto) y añade la que corresponde.

[gui]Regulares
   Acontecimientos
       Unidad - A unit enters (Entire map)
   Condiciones
       (Unit-type of (Triggering unit)) Igual a Arquera regular.
   Acciones
       Grupo de unidad - Add (Triggering unit) to Regulares[(Player number of (Owner of (Triggering unit)))]
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               And - All (Conditions) are true
                   Condiciones
                       (Number of units in Regulares[(Player number of (Owner of (Triggering unit)))]) Igual a 1
           Entonces: Acciones
               Unidad - Remove Objeto Bonificación de daño (+1) from (Picked unit)
           Otros: Acciones
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               And - All (Conditions) are true
                   Condiciones
                       (Number of units in Regulares[(Player number of (Owner of (Triggering unit)))]) Igual a 2
           Entonces: Acciones
               Unidad - Add Objeto Bonificación de daño (+1) to (Picked unit)
           Otros: Acciones
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               And - All (Conditions) are true
                   Condiciones
                       (Number of units in Regulares[(Player number of (Owner of (Triggering unit)))]) Igual a 3
           Entonces: Acciones
               Unidad - Remove Objeto Bonificación de daño (+1) from (Picked unit)
               Unidad - Add Objeto Bonificación de daño (+2) to (Picked unit)
           Otros: Acciones
[/gui]


Funciona mejor de lo que esperaba, pero ahora mi duda es... ¿Puedo hacerlo mejor? si algo aprendi, es que siempre hay maneras más eficientes de crear un detonador, haciendolos menos especificos y tal, pero no se si este sea uno de esos casos, lol.
Volver arriba Ir abajo
Marcos_M

Marcos_M


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

Mensajes Mensajes : 3638
Reputación Reputación : 707
Monedas de oro : 11194
Monedas de Platino : 0 ¿Ayuda par crear habilidad de ''Manada''? Empty

Inventario :
¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10
¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10 ¿Ayuda par crear habilidad de ''Manada''? Empysl10

¿Ayuda par crear habilidad de ''Manada''? Empty
Mensaje(#) Tema: Re: ¿Ayuda par crear habilidad de ''Manada''? ¿Ayuda par crear habilidad de ''Manada''? Clock10Mar Dic 07, 2021 12:06 pm

Pues tu detonador así como está, está casi bien, solamente que no deberías usar "Picked Unit" sin el bucle de grupo(supongo que es porque no supiste como subir el detonador correctamente), en vez de usar muchas habilidades para los distintos daños, yo usaría una sola. Y haría algo así:

[gui]Add or Remove
   Acontecimientos
       Unidad - A unit enters (Entire map)
       Unidad - A unit Muere
   Condiciones
       (Unit-type of (Triggering unit)) Igual a Soldado raso
   Acciones
       Set Entero = (Player number of (Owner of (Triggering unit)))
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Entering unit) No igual a (Triggering unit)
           Entonces: Acciones
               Grupo de unidad - Remove (Triggering unit) from Regulares[Entero]
           Otros: Acciones
               Grupo de unidad - Add (Triggering unit) to Regulares[Entero]
       Set Entero2 = (Number of units in Regulares[Entero])
       Grupo de unidad - Pick every unit in Regulares[Entero] and do (Actions)
           Bucle: Acciones
               Unidad - Add Aumento de daño Manada to (Picked unit)
               Unidad - Set level of Aumento de daño Manada for (Picked unit) to Entero2
[/gui]

Explicación del If: Aquí el detonador usa 2 eventos diferentes, entonces debemos diferenciarlos, el evento "unit enters region" tiene una unidad "Entering Unit" pero el evento "unit muere" no, entonces si Entering Unit no es igual a Triggering Unit podemos asegurarnos de que la unidad se murió y la removemos del grupo (de otra manera, la agregamos).


Con la variable de grupo de Array, tienes que tener la previsión de acomodar su tamaño como se muestra en la imagen, caso contrario, el hechizo no funcionará en los jugadores excepto player 1
¿Ayuda par crear habilidad de ''Manada''? Captura-de-pantalla-2021-12-07-114807

Si tienes un nivel máximo de daño y no quieres pasarte, en Entero2 cambialo por esto:
[gui]Set Entero2 = (Min((Number of units in Regulares[Entero]), 10))
[/gui]

La función "Matemáticas - Min" te devolverá el menor valor, entonces en este caso, mi habilidad tiene 10 niveles, y si yo tengo 11 unidades en mi grupo, la variable igual me devolverá 10 y podré colocar el nivel máximo sin errores
Volver arriba Ir abajo
 

¿Ayuda par crear habilidad de ''Manada''?

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

 Temas similares

-
» Ayuda con mazo verde rojo.
» Nueva Ayuda para Erepublik
» Wizards revisa la habilidad de Toque Mortal en M11
» (((Ajani, llamador de la manada Foil)))
» Nuevo modo de crear estadios !

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Zona de Aprendizaje(Dudas) :: GUI (Detonadores)-