[Leaks] Did I fix them?

Kelv

TH.net Regular
Reaction score
7
I'll post two triggers that I tried to fix their leaks.
Code:
Spawn Top Ally
    Events
        Time - Every 20.00 seconds of game time
    Conditions
    Actions
        Wait 2.50 seconds
        Set Move_Loc = (Center of top boss sw <gen>)
        Unit - Create 1 boss_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Set Move_Loc = (Center of top melee sw 1 <gen>)
        Unit - Create 1 melee_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Set Move_Loc = (Center of top melee sw 2 <gen>)
        Unit - Create 1 melee_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Set Move_Loc = (Center of top melee sw 3 <gen>)
        Unit - Create 1 melee_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Set Move_Loc = (Center of top ranged sw 1 <gen>)
        Unit - Create 1 ranged_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Set Move_Loc = (Center of top ranged sw 2 <gen>)
        Unit - Create 1 ranged_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Set MoveGroup = (Units in top boss sw <gen> owned by Player 12 (Brown))
        Set Move_Loc = (Center of Top Ally 2 <gen>)
        Unit Group - Order MoveGroup to Attack-Move To (Center of Top Ally 2 <gen>)
        Wait 2.50 seconds
        Set MoveGroup = (Units in Top Ally <gen> owned by Player 12 (Brown))
        Unit Group - Order MoveGroup to Attack-Move To Move_Loc
        Custom script:   call DestroyGroup (udg_MoveGroup)
        Custom script:   call RemoveLocation (udg_Move_Loc)

and

Code:
top ally
    Events
        Unit - A unit enters Top Ally 2 <gen>
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Owner of (Triggering unit)) Equal to Player 12 (Brown)
            Then - Actions
                Set Move_Loc = (Center of ally base <gen>)
                Unit - Order (Triggering unit) to Attack-Move To Move_Loc
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Owner of (Triggering unit)) Equal to Player 1 (Red)
                (Unit-type of (Triggering unit)) Not equal to Akama
            Then - Actions
                Set Move_Loc = (Center of Top Ally <gen>)
                Unit - Order (Triggering unit) to Attack-Move To Move_Loc
            Else - Actions
        Custom script:   call RemoveLocation (udg_Move_Loc)

Are there any leaks still there, and did I remove the leaks properly?
Another question, I have these triggers for top, middle, and bottom; can I use Move_Loc, and MoveGroup for each of the triggers, or do I need Move_Loc[1], Move_Loc[2] and so on?


I tried it and so far it seems like I dont need 3 of each but obviously, you cant have one trigger of each type, and it for every single trigger. Is the only factor of needing to triggers is if you use the two variables of the same type in a way in which that they are affected by each other?

example of what I mean that they are affected by each other.
this would not work unless you had two variables of type point
Code:
set move loc 1 to Point 1
set move loc 2 to Point 2
order unit to move to Move_Loc 1 offset by 900 torwards Move_Loc 2
 

Sim

Forum Administrator
Staff member
Reaction score
534
> Are there any leaks still there, and did I remove the leaks properly?

There are, and quite a lot.

Before setting an handle variable (In your case, a point variable) to a new value you must first remove it. Removing it only at the end is not enough.

> Another question, I have these triggers for top, middle, and bottom; can I use Move_Loc, and MoveGroup for each of the triggers, or do I need Move_Loc[1], Move_Loc[2] and so on?

No you don't, unless there is a wait in your trigger.

The group is correctly removed in the first trigger because it is used only 1 time.
 

Kelv

TH.net Regular
Reaction score
7
I have waits in the triggers, one at the beginning at and one near the end, do you mean there cant be a wait in between setting the variable and using the variable? If so, I might have a problem with Move_Loc because I have a wait before I use it a second time.

Also, I did set the unit group to two different groups, but I think I fixed what you told me to.
Code:
Spawn Top Ally
    Events
        Time - Every 20.00 seconds of game time
    Conditions
    Actions
        Wait 2.50 seconds
        Set Move_Loc = (Center of top boss sw <gen>)
        Unit - Create 1 boss_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Custom script:   call RemoveLocation (udg_Move_Loc)
        Set Move_Loc = (Center of top melee sw 1 <gen>)
        Unit - Create 1 melee_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Custom script:   call RemoveLocation (udg_Move_Loc)
        Set Move_Loc = (Center of top melee sw 2 <gen>)
        Unit - Create 1 melee_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Custom script:   call RemoveLocation (udg_Move_Loc)
        Set Move_Loc = (Center of top melee sw 3 <gen>)
        Unit - Create 1 melee_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Custom script:   call RemoveLocation (udg_Move_Loc)
        Set Move_Loc = (Center of top ranged sw 1 <gen>)
        Unit - Create 1 ranged_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Custom script:   call RemoveLocation (udg_Move_Loc)
        Set Move_Loc = (Center of top ranged sw 2 <gen>)
        Unit - Create 1 ranged_var_ally for Player 12 (Brown) at Move_Loc facing 225.00 degrees
        Custom script:   call RemoveLocation (udg_Move_Loc)
        Set MoveGroup = (Units in top boss sw <gen> owned by Player 12 (Brown))
        Set Move_Loc = (Center of Top Ally 2 <gen>)
        Unit Group - Order MoveGroup to Attack-Move To Move_Loc
        Custom script:   call DestroyGroup (udg_MoveGroup)
        Wait 2.50 seconds
        Set MoveGroup = (Units in Top Ally <gen> owned by Player 12 (Brown))
        Unit Group - Order MoveGroup to Attack-Move To Move_Loc
        Custom script:   call DestroyGroup (udg_MoveGroup)
        Custom script:   call RemoveLocation (udg_Move_Loc)
 

Sim

Forum Administrator
Staff member
Reaction score
534
You did fix it.

> do you mean there cant be a wait in between setting the variable and using the variable?

Exactly, sorry if I confused you. :)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top