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
 

 [Duda] Eliminar fugas de memoria, variables punto

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
WrathfulSteel
Iniciado


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

Mensajes Mensajes : 6
Reputación Reputación : 0
Monedas de oro : 24
Monedas de Platino : 0 [Duda] Eliminar fugas de memoria, variables punto Empty

Inventario :
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10

[Duda] Eliminar fugas de memoria, variables punto Empty
Mensaje(#) Tema: [Duda] Eliminar fugas de memoria, variables punto [Duda] Eliminar fugas de memoria, variables punto Clock10Dom Ago 16, 2020 9:08 pm

Hola buenas, tengo una duda respecto a eliminar fugas de memoria de posición utilizando la variable de punto, adjunto detonadores de ejemplo para explicar mi duda:
[GUI]Detonador sin nombre 001
   Acontecimientos
   Condiciones
   Acciones
       Set VARIABLE_PUNTO_UNIDAD = (Position of (Triggering unit))
       Unidad - Create 1 Soldado raso for Jugador 1 (rojo) at VARIABLE_PUNTO_UNIDAD facing Vista edificio predeterminada degrees
       Custom script:   call RemoveLocation(udg_VARIABLE_PUNTO_UNIDAD)
       Wait 2.00 seconds
       Set VARIABLE_PUNTO_UNIDAD = (Position of (Triggering unit))
       Unidad - Create 1 Equipo Mortero for Jugador 2 (azul) at VARIABLE_PUNTO_UNIDAD facing Vista edificio predeterminada degrees
       Custom script:   call RemoveLocation(udg_VARIABLE_PUNTO_UNIDAD)
[/GUI]

En este detonador se crea una unidad con detonadores, utilizo la variable de punto para hacer referencia a la posición de la unidad creada, y luego utilizo el custom script para eliminar la posición, luego a modo de ejemplo se crea otra unidad diferente, mi duda es si ¿es correcto utilizar la misma variable para mas posiciones? es decir, puedo utilizar la misma variable en varios detonadores diferentes una y otra vez solo para eliminar las posiciones? o tengo que crear una variable para cada posición?


En este otro detonador, por ejemplo utilizo la misma variable que arriba para eliminar la posición de un texto flotante, es correcto? se puede utilizar la misma variable para varias acciones diferentes?
[GUI]Acciones
   Set VARIABLE_PUNTO_UNIDAD = (Position of (Triggering unit))
   Texto flotante - Create floating text that reads hola at VARIABLE_PUNTO_UNIDAD with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
   Custom script:   call RemoveLocation(udg_VARIABLE_PUNTO_UNIDAD)
[/GUI]

También mi duda aplica para las otras variables para remover fugas de grupo, región, etc.

Gracias, Saludos.
Volver arriba Ir abajo
GhxBronie

GhxBronie


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

Mensajes Mensajes : 1045
Reputación Reputación : 220
Monedas de oro : 5861
Monedas de Platino : 5 [Duda] Eliminar fugas de memoria, variables punto Empty

Inventario :
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10

[Duda] Eliminar fugas de memoria, variables punto Empty
Mensaje(#) Tema: Re: [Duda] Eliminar fugas de memoria, variables punto [Duda] Eliminar fugas de memoria, variables punto Clock10Mar Ago 18, 2020 7:25 pm

Puedes usar la misma variable siempre y cuando no se ejecuten ambas acciones al mismo tiempo. Y como te comenté en el panel de comentarios de YouTube, usa Arrays o Formaciones.

En este Deto, yo uso dos veces las variables de Puntos llamadas ANoLeak_Punto[11] y ANoLeak_Punto[12] porque al ser una Spell No-MUI, puedo estar seguro de que no se ejecutará más de una acción al mismo tiempo.

[gui]Dream World
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a Entering to Dream World
   Acciones
       Set A_DreamCaster = (Casting unit)
       Set A_DreamTarget = (Target unit of ability being cast)
       Set ANoLeak_Punto[11] = (Position of A_DreamCaster)
       Set ANoLeak_Punto[12] = (Position of A_DreamTarget)
       Sonido - Play FK_Stage_OST[(Random integer number between 1 and 2)] at 100.00% volume, located at (Center of FK Stage ) with Z offset 0.00
       --------   --------
       Unidad - Create 1 Entering to Dream World Dummy for (Triggering player) at (Center of FK Stage ) facing Vista edificio predeterminada degrees
       Set A_DreamDummy = (Last created unit)
       Unidad - Add PS1 Dream World to A_DreamCaster
       Unidad - Remove Saiyon Aura  buff from A_DreamCaster
       Unidad - Remove Saiyon Aura  buff from A_DreamTarget
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               And - All (Conditions) are true
                   Condiciones
                       (Owner of A_TemporalBlink_Dummy) Igual a (Owner of A_DreamTarget)
                       (A_TemporalBlink_Dummy is alive) Igual a True
           Entonces: Acciones
               Unidad - Remove A_TemporalBlink_Dummy from the game
           Otros: Acciones
               Partida - Display to Grupo jugador: Neutral pasivo for 1.00 seconds the text: (Name of the current trigger)
       --------   --------
       Efecto especial - Create a special effect at ANoLeak_Punto[12] using war3mapImported\FX_BaronFerrada.mdx
       Efecto especial - Destroy (Last created special effect)
       --------   --------
       Cámara - Set the camera bounds for (Owner of A_DreamCaster) to FK Stage
       Cámara - Set the camera bounds for (Owner of A_DreamTarget) to FK Stage
       Cámara - Pan camera for (Owner of A_DreamCaster) to (Center of FK Stage ) over 0.00 seconds
       Cámara - Pan camera for (Owner of A_DreamTarget) to (Center of FK Stage ) over 0.00 seconds
       --------   --------
       Custom script:   call RemoveLocation(udg_ANoLeak_Punto[11])
       Custom script:   call RemoveLocation(udg_ANoLeak_Punto[12])
       --------   --------
       Unidad - Activar pausa A_DreamCaster
       Unidad - Move A_DreamCaster instantly to (Random point in FK Stage )
       Unidad - Desactivar pausa A_DreamCaster
       Unidad - Move A_DreamTarget instantly to (Center of FK Stage )
       --------   --------
       Cuenta atrás del reloj - Start A_DreamWorld as a Un tiro timer that will expire in ((Random real number between 6.00 and 10.00) + (Real((Hero level of A_DreamCaster)))) seconds
       Cuenta atrás del reloj - Create a timer window for A_DreamWorld with title Nightmare Stage
       Set ATimer_DreamWorld = (Last created timer window)
       Cuenta atrás del reloj - Change the color of the title for ATimer_DreamWorld to (100.00%, 20.00%, 20.00%) with 0.00% transparency
       Cuenta atrás del reloj - Change the color of the time for ATimer_DreamWorld to (100.00%, 100.00%, 100.00%) with 0.00% transparency
       Cuenta atrás del reloj - Ocultar ATimer_DreamWorld
       Cuenta atrás del reloj - Mostrar ATimer_DreamWorld for (Owner of A_DreamCaster)
       Cuenta atrás del reloj - Mostrar ATimer_DreamWorld for (Owner of A_DreamTarget)
[/gui]

[gui]Dream World Killer
   Acontecimientos
       Unidad - A unit Muere
   Condiciones
   Acciones
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Dying unit) Igual a A_DreamTarget
           Entonces: Acciones
               Set ANoLeak_Punto[12] = (Position of A_DreamTarget)
               Set A_DreamWorldNumber = (Random integer number between 5 and 15)
               Efecto especial - Create a special effect at ANoLeak_Punto[12] using war3mapImported\FK_Pillar.mdx
               Efecto especial - Destroy (Last created special effect)
               Héroe - Modify Agilidad of A_DreamCaster: Añadir A_DreamWorldNumber
               Texto flotante - Create floating text that reads (|CFFFE8A0EUnique Points:|R  + (String(A_DreamWorldNumber))) above A_DreamCaster with Z offset -10.00, using font size 15.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
               Texto flotante - Set the velocity of (Last created floating text) to 38.00 towards 90.00 degrees
               Texto flotante - Change (Last created floating text): Desactivar permanence
               Texto flotante - Change the lifespan of (Last created floating text) to 3.00 seconds
               Texto flotante - Change the fading age of (Last created floating text) to 2.00 seconds
               Efecto especial - Create a special effect attached to the origin of A_DreamCaster using war3mapImported\SFX_Doomsday.mdx
               Efecto especial - Destroy (Last created special effect)
               Unidad - Remove A_DreamTarget from the game
           Otros: Acciones
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Dying unit) Igual a A_DreamCaster
           Entonces: Acciones
               Set ANoLeak_Punto[11] = (Position of A_DreamCaster)
               Set A_DreamWorldNumber = (Random integer number between 5 and 15)
               Efecto especial - Create a special effect at ANoLeak_Punto[11] using war3mapImported\FK_Pillar.mdx
               Efecto especial - Destroy (Last created special effect)
               Héroe - Modify Agilidad of A_DreamTarget: Añadir A_DreamWorldNumber
               Texto flotante - Create floating text that reads (|CFFFE8A0EUnique Points:|R  + (String(A_DreamWorldNumber))) above A_DreamTarget with Z offset -10.00, using font size 15.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
               Texto flotante - Set the velocity of (Last created floating text) to 38.00 towards 90.00 degrees
               Texto flotante - Change (Last created floating text): Desactivar permanence
               Texto flotante - Change the lifespan of (Last created floating text) to 3.00 seconds
               Texto flotante - Change the fading age of (Last created floating text) to 2.00 seconds
               Efecto especial - Create a special effect attached to the origin of A_DreamTarget using war3mapImported\SFX_Doomsday.mdx
               Efecto especial - Destroy (Last created special effect)
               Unidad - Remove A_DreamCaster from the game
           Otros: Acciones
[/gui]

[gui]Dream World Timer
Acontecimientos
Tiempo - A_DreamWorld expires
Condiciones
Acciones
Cuenta atrás del reloj - Destroy ATimer_DreamWorld
Unidad - Kill A_DreamDummy
-------- --------
Efecto especial - Create a special effect at ANoLeak_Punto[11] using RedHarvest.mdx
Efecto especial - Destroy (Last created special effect)
Efecto especial - Create a special effect at ANoLeak_Punto[12] using RedHarvest.mdx
Efecto especial - Destroy (Last created special effect)
-------- --------
Sonido - Stop FK_E1 Después del fundido
Sonido - Stop FK_E2 Después del fundido
-------- --------
Unidad - Remove PS1 Dream World from A_DreamCaster
Unidad - Remove Nightmare Stage FK from A_DreamCaster
Unidad - Remove Entering to Dream World Buff buff from A_DreamCaster
Unidad - Remove Entering to Dream World Buff buff from A_DreamTarget
-------- --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Si: Condiciones
And - All (Conditions) are true
Condiciones
(Owner of A_TemporalBlink_Dummy) Igual a (Owner of A_DreamTarget)
(A_TemporalBlink_Dummy is alive) Igual a True
Entonces: Acciones
Unidad - Remove A_TemporalBlink_Dummy from the game
Otros: Acciones
Partida - Display to Grupo jugador: Neutral pasivo for 1.00 seconds the text: (Name of the current trigger)
-------- --------
Unidad - Move A_DreamCaster instantly to (Center of Choose )
Unidad - Move A_DreamTarget instantly to (Center of Choose )
-------- --------
Set A_DreamCaster = Ninguna unidad
Set A_DreamTarget = Ninguna unidad
Custom script: call RemoveLocation(udg_ANoLeak_Punto[11])
Custom script: call RemoveLocation(udg_ANoLeak_Punto[12])
[/gui]


[Duda] Eliminar fugas de memoria, variables punto Firma_10

El Canal de YouTube del Foro WorldOfEditors
(Click a la Firma para Entrar)
Volver arriba Ir abajo
En línea
Marcos_M

Marcos_M


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

Mensajes Mensajes : 3525
Reputación Reputación : 671
Monedas de oro : 11022
Monedas de Platino : 0 [Duda] Eliminar fugas de memoria, variables punto Empty

Inventario :
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10

[Duda] Eliminar fugas de memoria, variables punto Empty
Mensaje(#) Tema: Re: [Duda] Eliminar fugas de memoria, variables punto [Duda] Eliminar fugas de memoria, variables punto Clock10Mar Ago 18, 2020 9:05 pm

Citación :
¿es correcto utilizar la misma variable para mas posiciones?

Reutilizar la misma variable no está mal, pero siempre debes algo de consciencia en el extraño caso que se crucen los detonadores, te hago un ejemplo de como esto se podría romper

[gui]Detonador sin nombre 001
Acontecimientos
Unidad - A unit Inicia el efecto de una habilidad
Condiciones
(Ability being cast) Igual a Trueno
Acciones
Set Punto = (Position of (Triggering unit))
Unidad - Create 1 Soldado raso for Jugador 1 (rojo) at Punto facing Vista edificio predeterminada degrees
Efecto especial - Create a special effect at (Center of (Playable map area)) using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl
[/gui]

[gui]Detonador sin nombre 002
Acontecimientos
Unidad - A unit enters (Entire map)
Condiciones
(Unit-type of (Triggering unit)) Igual a Soldado raso
Acciones
Set Punto = ((Position of (Triggering unit)) offset by 540.00 towards 0.00 degrees)
[/gui]

Sé que no destruyo los puntos, pero eso no cambia el claro error de "cruzamiento" que tienen estos detonadores.

¿Qué es lo que pasa?
Pues el evento "Unit enters Region" se activa en el momento que se ejecuta la línea "Create 1 soldado raso" y sus acciones corren ANTES de llegar a la línea "Create special effect", por eso hay que tener cuidado con usar la misma variable, una de las soluciones más comunes es utilizar variables array (de formación) y asegurarse que cada detonador utilice un número diferente(o al menos, cada detonador que puede resultar conflictivo), esto hará que tu mapa no se llene de variables(una lista larga de variables es SUPER tedioso cuando creas un map)

Citación :
se puede utilizar la misma variable para varias acciones diferentes?
Totalmente, la idea de las variables es almacenar datos para su fácil y repetido acceso.

Volver arriba Ir abajo
WrathfulSteel
Iniciado


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

Mensajes Mensajes : 6
Reputación Reputación : 0
Monedas de oro : 24
Monedas de Platino : 0 [Duda] Eliminar fugas de memoria, variables punto Empty

Inventario :
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10
[Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10 [Duda] Eliminar fugas de memoria, variables punto Empysl10

[Duda] Eliminar fugas de memoria, variables punto Empty
Mensaje(#) Tema: Re: [Duda] Eliminar fugas de memoria, variables punto [Duda] Eliminar fugas de memoria, variables punto Clock10Miér Ago 19, 2020 2:52 pm

Gracias por su ayuda Wink Wink Wink
Volver arriba Ir abajo
Contenido patrocinado




[Duda] Eliminar fugas de memoria, variables punto Empty
Mensaje(#) Tema: Re: [Duda] Eliminar fugas de memoria, variables punto [Duda] Eliminar fugas de memoria, variables punto Clock10

Volver arriba Ir abajo
 

[Duda] Eliminar fugas de memoria, variables punto

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

 Temas similares

-
» [Duda] Habilidades al entrar en juego [Resuelta]
» [DUDA] Sower a Iona
» Duda con el Snapcaster
» duda
» Un hombre pierde la memoria tras someterse a una liposucción

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