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

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte
 

 Darkterror Spellpack[GUI]

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
armando368
Caballero
armando368


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

Mensajes Mensajes : 416
Reputación Reputación : 22
Monedas de oro : 366
Monedas de Platino : 0 Darkterror Spellpack[GUI] Empty

Inventario :
Frostmourne Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10
Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10

Darkterror Spellpack[GUI] Empty
Mensaje(#) Tema: Darkterror Spellpack[GUI] Darkterror Spellpack[GUI] Clock10Miér Sep 25, 2019 4:33 pm

Holax, aqui Armando368 les trae otro Aporte Cool

Es un Spellpack del Héroe DarkTerror, ah pero Pensarán "Pero si ya Tenemos uno!"

Pues no exactamente, el otro Spellpack es Jass, el que vengo a mostar es GUI

REQUIERE: GDD DAMAGE EVEN
SOLO 360 GRADOS(Utilidad)
TOMAR EN CUENTA QUE EL DETECTOR DE DAÑO FISICO SOLO ES UN TEST, LA CUAL PUEDES QUITAR

Iré al Grano con las Spells

TIME WALK
Deto Init
Spoiler:
 

Deto Loop
Spoiler:
 

Backtrack
Spoiler:
 
Time Lock
Spoiler:
 

Chronosphere
Deto Init
Spoiler:
 

Deto Loop
Spoiler:
 

COMENTAR PARA DESCARGAR
Material oculto


Mis Spells

Arrow OMNISLASH: http://www.worldofeditors.net/t3778-omnislash#30794

Visita mi Canal de Youtube Wink

Arrow https://www.youtube.com/channel/UC1C1xPzx3-mNOTwC0RPikjg

Idea Subo contenido muy Interesante Idea
Volver arriba Ir abajo
Marcos_M

Marcos_M


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

Mensajes Mensajes : 3278
Reputación Reputación : 571
Monedas de oro : 10200
Monedas de Platino : 0 Darkterror Spellpack[GUI] Empty

Inventario :
Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10
Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10 Darkterror Spellpack[GUI] Empysl10

Darkterror Spellpack[GUI] Empty
Mensaje(#) Tema: Re: Darkterror Spellpack[GUI] Darkterror Spellpack[GUI] Clock10Jue Sep 26, 2019 1:30 pm

Está todo muy bien, excepto que no remueves bien los leaks. Por alguna razón, quieres remover los leaks en la parte "Otros" de tus Ifs, y esto lo repites en tus otros detonadores también. Lo correcto es hacer lo siguiente:

En Timewalk, tienes 3 puntos que están mal removidos.
TWalk_Punto[TWalk_Enteros[2]] (o [3] en el loop)

TWalk_Punto[0]
TWalk_PuntoAMover[TWalk_Enteros[3]]

El primero lo seteas en el detonador init y lo dejas fijo hasta el final, entonces se debe remover al final del hechizo

Los otros dos se setean en cada iteración del loop, así que deben removerse luego de usarse en el detonador loop, también tuve que mover de lugar el seteo de la variable TWalk_Punto[0] para evitar errores con el if. Fijate como

[gui]TimeWalkLoop
Acontecimientos
Tiempo - Every 0.04 seconds of game time
Condiciones
Acciones
Do Multiple ActionsFor each (Integer TWalk_Enteros[3]) from 1 to TWalk_Enteros[2], do (Actions)
Bucle: Acciones
Set TWalk_Punto[0] = (Position of TWalk_Caster[TWalk_Enteros[3]])
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
TWalk_OFF[TWalk_Enteros[3]] Igual a (==) False
Entonces: Acciones
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
Multiple ConditionsOr - Any (Conditions) are true
Condiciones
(Distance between TWalk_Punto[0] and TWalk_Punto[TWalk_Enteros[3]]) Menor que (<) TWalk_VelocidadCalculada[TWalk_Enteros[3]]
Entonces: Acciones
Animación - Change TWalk_Caster[TWalk_Enteros[3]]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
Unidad - Desactivar pausa TWalk_Caster[TWalk_Enteros[3]]
Unidad - Make TWalk_Caster[TWalk_Enteros[3]] Vulnerable
Animación - Change TWalk_Caster[TWalk_Enteros[3]]'s animation speed to 100.00% of its original speed
Set TWalk_Caster[TWalk_Enteros[3]] = Ninguna unidad
Set TWalk_OFF[TWalk_Enteros[3]] = True
Custom script: call RemoveLocation(udg_TWalk_Punto[udg_TWalk_Enteros[3]])
Set TWalk_Enteros[1] = (TWalk_Enteros[1] - 1)
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
TWalk_Enteros[1] Igual a (==) 0
Entonces: Acciones
Set TWalk_Enteros[2] = 0
Detonador - Turn off (This trigger)
Otros: Acciones
Otros: Acciones
-------- Verificamos que no se bugee el heroe en los limites del Mapa --------
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
(Max X of (Playable map area)) Menor que o igual a (<=) (X of TWalk_Punto[TWalk_Enteros[3]])
Entonces: Acciones
Set external_real[0] = (Max X of (Playable map area))
Otros: Acciones
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
(Min X of (Playable map area)) Mayor que o igual a (>=) (X of TWalk_Punto[TWalk_Enteros[3]])
Entonces: Acciones
Set external_real[0] = (Min X of (Playable map area))
Otros: Acciones
Set external_real[0] = (X of TWalk_Punto[TWalk_Enteros[3]])
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
(Max Y of (Playable map area)) Menor que o igual a (<=) (Y of TWalk_Punto[TWalk_Enteros[3]])
Entonces: Acciones
Set external_real[1] = (Max Y of (Playable map area))
Otros: Acciones
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
(Min Y of (Playable map area)) Mayor que o igual a (>=) (Y of TWalk_Punto[TWalk_Enteros[3]])
Entonces: Acciones
Set external_real[1] = (Min Y of (Playable map area))
Otros: Acciones
Set external_real[1] = (Y of TWalk_Punto[TWalk_Enteros[3]])
Set TWalk_Punto[TWalk_Enteros[3]] = (Point(external_real[0], external_real[1]))
Set TWalk_PuntoAMover[TWalk_Enteros[3]] = (TWalk_Punto[0] offset by TWalk_VelocidadCalculada[TWalk_Enteros[3]] towards TWalk_Angle[TWalk_Enteros[3]] degrees)
Unidad - Move TWalk_Caster[TWalk_Enteros[3]] instantly to TWalk_PuntoAMover[TWalk_Enteros[3]], facing TWalk_Angle[TWalk_Enteros[3]] degrees
Custom script: set bj_wantDestroyGroup =true
Grupo de unidad - Pick every unit in (Units within TWalk_AreaColision[TWalk_Enteros[3]] of TWalk_Punto[0] matching ((((Matching unit) is Una estructura) Igual a (==) False) and ((((Matching unit) belongs to an enemy of (Owner of TWalk_Caster[TWalk_Enteros[3]])) Igual a (==) True) and ((((Matchin and do (Actions)
Bucle: Acciones
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
((Picked unit) has buff Time Walk ) Igual a (==) False
Entonces: Acciones
Unidad - Create 1 DarkTerror_DUMMY for (Owner of TWalk_Caster[TWalk_Enteros[3]]) at TWalk_Punto[0] facing Vista edificio predeterminada (270.0) degrees
Unidad - Add Time Walk Ralentizacion to (Last created unit)
Unidad - Order (Last created unit) to Humano Hechicera: Ralentizar (Picked unit)
Unidad - Add a 3.00 second Elemental del agua expiration timer to (Last created unit)
Otros: Acciones
Custom script: call RemoveLocation(udg_TWalk_PuntoAMover[udg_TWalk_Enteros[3]])
Otros: Acciones
Custom script: call RemoveLocation(udg_TWalk_Punto[0])
[/gui]

En la cronoesfera tienes el mismo error con un punto que se setea al inicio y permanece estático, debe ser removido al final
Luego tienes varios leaks con el grupo, cada vez que usas "Set Grupo = Alguna función GUI", se está creando un nuevo grupo, y ese nuevo grupo debe ser destruido cada vez que lo usas

Otro detalle que tienes es que declaras variables locales que luego usas dentro del bucle de grupo. El bucle de grupo es una función nueva, por lo tanto tus variables "locales" no se ven como tales, sino como la variable global del GUI. Debes declarar tus variables locales dentro del bucle de grupo para usarlas como tales, fijate:

[gui]ChronosphereLoop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer CS[3]) from 1 to CS[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       CS_OFF[CS[3]] Igual a (==) False
                   Entonces: Acciones
                       Set CS_TIME[CS[3]] = (CS_TIME[CS[3]] - 0.04)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               CS_TIME[CS[3]] Menor que o igual a (<=) 0.00
                           Entonces: Acciones
                               Set CS_Group[CS[3]] = (Units within CS_Area[CS[3]] of CS_Point[CS[3]] matching (((Matching unit) No igual a (!=) CS_Caster[CS[3]]) and (((Unit-type of (Matching unit)) No igual a (!=) DarkTerror_CSPHERE) and ((Unit-type of (Matching unit)) No igual a (!=) DarkTerror_DUMMY))))
                               Grupo de unidad - Pick every unit in CS_Group[CS[3]] and do (Actions)
                                   Bucle: Acciones
                                       Custom script:   local unit udg_CS_TempUnit
                                       Custom script:   local real udg_Real
                                       Set CS_TempUnit = (Picked unit)
                                       Animación - Change CS_TempUnit's animation speed to 100.00% of its original speed
                                       Unidad - Desactivar pausa CS_TempUnit
                                       Unidad - Desactivar pausa the expiration timer for CS_TempUnit
                                       Set Real = (Default turn speed of CS_TempUnit)
                                       Animación - Change CS_TempUnit turn speed to Real
                                       Custom script:   set udg_CS_TempUnit =null
                               Set CS_Caster[CS[3]] = Ninguna unidad
                               Unidad - Kill CS_Sphere[CS[3]]
                               Custom script:   call DestroyGroup(udg_CS_Group[CS[3]]
                               Custom script:   call RemoveLocation(udg_CS_Point[udg_CS[3]])
                               Set CS_Sphere[CS[3]] = Ninguna unidad
                               Set CS[1] = (CS[1] - 1)
                               Set CS_OFF[CS[3]] = True
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       CS[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Set CS[2] = 0
                                       Detonador - Turn off (This trigger)
                                   Otros: Acciones
                           Otros: Acciones
                               Set CS_Group[CS[3]] = (Units within CS_Area[CS[3]] of CS_Point[CS[3]] matching (((Matching unit) No igual a (!=) CS_Caster[CS[3]]) and (((Unit-type of (Matching unit)) No igual a (!=) DarkTerror_CSPHERE) and ((Unit-type of (Matching unit)) No igual a (!=) DarkTerror_DUMMY))))
                               Grupo de unidad - Pick every unit in CS_Group[CS[3]] and do (Actions)
                                   Bucle: Acciones
                                       Custom script:   local unit udg_CS_TempUnit
                                       Set CS_TempUnit = (Picked unit)
                                       Animación - Change CS_TempUnit's animation speed to 0.00% of its original speed
                                       Unidad - Activar pausa CS_TempUnit
                                       Unidad - Activar pausa the expiration timer for CS_TempUnit
                                       Animación - Change CS_TempUnit turn speed to 0.00
                                       Custom script:   set udg_CS_TempUnit =null
                               Custom script:   call DestroyGroup(udg_CS_Group[CS[3]]
                   Otros: Acciones
[/gui]


Como detalle extra, backtrack debería tener su "set udg_Punto = null" al final y aconsejaría usar una condición para que no se active el detonador siempre que cualquier unidad reciba daño (sería mover la condición del primer if a las condiciones), pero esto no es algo realmente necesario.

Una vez hagas los cambios debería poder aprobarlo
Volver arriba Ir abajo
 

Darkterror Spellpack[GUI]

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

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Aportes :: Spells GUI :: Nuevos Spells-