some avoided questions on leaks

cowmenace

New Member
Reaction score
22
Please tell me if any of these leak. I will explain the special circumstances in which these apply to. I know what leaks are, and I certainly know how to fix them; however, these questions are not answered in most leak tutorials, and the common sense I was given doesn't know life well enough to come to a conclusion.

Trigger:
  • Special Effect - Create a special effect attached to the chest of (Target unit of issued order) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
    • Special Effect - Destroy (Last created special effect)


Creates a special effect attached to unit's chest. Does the game retain the position (X,Y,Z) of the unit's chest?

Trigger:
  • (Hero Transport 2 <gen> contains Hero[(Player number of (Triggering player))]) Equal to True


Must I store the region to a variable, then destroy the region variable? The tutorials mentioned it, yet in their example for a leakless trigger did not set it to a variable.

Trigger:
  • ((Triggering unit) is A Hero) Equal to True


Do I have to store the triggering unit as a unit variable? Same as when referencing a unit such as Target Unit of Issued Order

Trigger:
  • Player Group - Pick every player in (All players) and do (Actions)
    • Loop - Actions
      • Player - Make (Unit-type of (Sold unit)) Unavailable for training/construction by (Picked player)


Should I make a player group, add all players, then use that as a reference rather than GUI's (All Players)?


One final question: Can leaks be in conditions?
 

Ayanami

칼리
Reaction score
288
Trigger:
  • Special Effect - Create a special effect attached to the chest of (Target unit of issued order) using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
    • Special Effect - Destroy (Last created special effect)


Creates a special effect attached to unit's chest. Does the game retain the position (X,Y,Z) of the unit's chest?

When you attatch an effect to a unit's chest, the effect will stay on the unit's chest until it is destroyed.

Trigger:
  • (Hero Transport 2 <gen> contains Hero[(Player number of (Triggering player))]) Equal to True


Must I store the region to a variable, then destroy the region variable? The tutorials mentioned it, yet in their example for a leakless trigger did not set it to a variable.
I don't think there is a need to store regions in a Variable.

Trigger:
  • ((Triggering unit) is A Hero) Equal to True


Do I have to store the triggering unit as a unit variable? Same as when referencing a unit such as Target Unit of Issued Order
Units don't leak.

Trigger:
  • Player Group - Pick every player in (All players) and do (Actions)
    • Loop - Actions
      • Player - Make (Unit-type of (Sold unit)) Unavailable for training/construction by (Picked player)


Should I make a player group, add all players, then use that as a reference rather than GUI's (All Players)?
Well I'm guessing it's the same?

One final question: Can leaks be in conditions?
Hmm, from what I know of, leaks can't be in conditions.
 

cowmenace

New Member
Reaction score
22
One example of a possible leak in a condition (I'm not sure)

Trigger:
  • (Number of units in (Units within 100.00 of Point[58] matching ((((Matching unit) belongs to an enemy of (Owner of (Picked unit))) Equal to True) and (((Matching unit) is alive) Equal to True)))) Greater than or equal to 1
 

Gtam

Lerning how to write and read!! Yeah.
Reaction score
164
The player group leaks if u dont destroy it.
 

cowmenace

New Member
Reaction score
22
So I have to set my own player group, put all players in it, run the actions, then delete it? When the leak for (All Players) happens in one trigger, will it cause another leak in a different trigger with the same thing, and will it cause 12 leaks if that one trigger goes off 12 times?
 

vypur85

Hibernate
Reaction score
803
> The player group leaks if u dont destroy it

'All players' does not leak. Do not remove it. If you remove it, weird things will happen... Try it and you'll know. Other than All player, the rest of the Player group usage leaks.

Bad practice:
Code:
Event
 Every 0.01 seconds
Condition
Actions 
 Set TempForce = (All players)
 Game - Display to TempForce the message: Hello
 Custom script: call DestroyForce (udgTempForce)

Good practice:
Code:
Event
 Every 0.01 seconds
Condition
Actions 
 Set TempForce = (All allied of Player 1)
 Game - Display to TempForce the message: Hello
 Custom script: call DestroyForce (udgTempForce)




> Can leaks be in conditions?

Yes. Particularly Point variables. It can also be in filter functions (those 'matching' in Unit group, Player group etc...).
 

ManyTimes

I'm so lonesome I could cry...
Reaction score
293
1.
The special effect of yours do not leak. You destroy it afterwards with the "Special effect - Destroy (last created special effect)".

2.
>>Must I store the region to a variable, then destroy the region variable?
No, not regions created via region palette.

3.
>>Do I have to store the triggering unit as a unit variable? Same as when referencing a unit such as Target Unit of Issued Order
"triggering unit" nor "target unit of issued order" leaks. But target unit of issued order is "lost" after a wait, hence we store it in a variable for later usage.
Triggering unit should "never" be stored in a unit variable.

4.
Should I make a player group, add all players, then use that as a reference rather than GUI's (All Players)?
The (All Players) is already a variable, containing all players. Does not leak, do not create a variable for all players, simply use this one without destroying it.

5.
Can leaks be in conditions?
Of course:
Code:
Conditions
    (Terrain type at (Center of (Playable map area))) Equal to Lordaeron Summer - Dirt
This condition leaks a point (location).

>>these questions are not answered in most leak tutorials
Due to the fact that a leak tutorial is about things that leaks, not the other way around. :)
 
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