A leak that can't be fixed???

Choppa

www.warcraft-gamers.po.gs
Reaction score
59
I was trying to use this code and I read that groups leak so I fixed that, but i've also got a location in the group that doesn't seem to have a fix for it, do locations in groups leak?

Code:
slideOnOil
    Events
        Time - Every 0.01 seconds of game time
    Conditions
    Actions
        Set tempPosUnitMatching = (Position of (Matching unit))
        Set tempUnitGroupOnTerrainAbbys = (Units in (Playable map area) matching (((Terrain type at (Position of (Matching unit))) Equal to Outland - Abyss) and (((Matching unit) is Summoned) Equal to False)))
        Unit Group - Pick every unit in tempUnitGroupOnTerrainAbbys and do (Actions)
            Loop - Actions
                Game - Display to (All players) the text: is on abyss
                Set tempPosUnitPicked = (Position of (Matching unit))
                Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 3.00 towards (Facing of (Picked unit)) degrees), facing (Facing of (Picked unit)) degrees
                Custom script:   call RemoveLocation( udg_tempPosUnitPicked )
                Custom script:   call RemoveLocation( udg_tempPosUnitMatching )
                Custom script:   call DestroyGroup ( udg_tempUnitGroupOnTerrainAbbys )

As you can see I'm not actually using tempPosUnitMatching, it's just there, when I do use it in tempUnitGroupOnTerrainAbbys for
Code:
tempUnitGroupOnTerrainAbbys = (Units in (Playable map area) matching (Terrain type at tempPosUnitMatching)
It doesn't work, now I've just noticed there are two leaks in that code, is there anyway to get rid of them?
 

Ghan

Administrator - Servers are fun
Staff member
Reaction score
888
Code:
Set tempPosUnitMatching = (Position of (Matching unit))

There's no Matching Unit.

Code:
Set tempUnitGroupOnTerrainAbbys = (Units in (Playable map area) matching (((Terrain type at (Position of (Matching unit))) Equal to Outland - Abyss) and (((Matching unit) is Summoned) Equal to False)))

You have a point leak there.

Code:
Set tempPosUnitPicked = (Position of (Matching unit))

Again, there's no Matching Unit.

Code:
Custom script:   call RemoveLocation( udg_tempPosUnitMatching )

Now, if you set this and don't change it in the loop, don't remove it in the loop.
You can use it multiple times without leaking if you just don't change it.
Then remove the leak at the end of the trigger.

Does that answer your question, or did I misunderstand something? :D
 
Reaction score
333
I suppose the solution is to stop using "units ... matching". Simply set the group to all units in playable map area, then put the condition in the "Loop - Actions".
 

Choppa

www.warcraft-gamers.po.gs
Reaction score
59
Code:
Set tempPosUnitMatching = (Position of (Matching unit))

There's no Matching Unit.

Oh so it doesn't call a variable leading to another one?

Code:
Set tempUnitGroupOnTerrainAbbys = (Units in (Playable map area) matching (((Terrain type at (Position of (Matching unit))) Equal to Outland - Abyss) and (((Matching unit) is Summoned) Equal to False)))

You have a point leak there.

Lol yeah, I noticed that as I was posting thus, "now I've just noticed there are two leaks in that code" and I think there was another one somewhere, *sigh* would be much easier if WE could sort it self out and do it automatically.

Code:
Set tempPosUnitPicked = (Position of (Matching unit))

Again, there's no Matching Unit.

Code:
Custom script:   call RemoveLocation( udg_tempPosUnitMatching )

Now, if you set this and don't change it in the loop, don't remove it in the loop.
You can use it multiple times without leaking if you just don't change it.
Then remove the leak at the end of the trigger.

Oh yeah, I see. Thanks.

And thanks TheDamien I'll try that.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top