Triggers - Memory Leaks and Custom Scripts

emjlr3

Change can be a good thing
Reaction score
395
as long as u follow my guide, u will be fine

if ur variables name is L, then yes, else, there will be a leak
 

SFilip

Gone but not forgotten
Reaction score
634
56k's leak check isn't so perfect...just ignore that message.
 
J

Jkun

Guest
None of the OP's examples actually WORK...

screenshotfh6.jpg


Could someone please explain what I'm doing wrong?
 

emjlr3

Change can be a good thing
Reaction score
395
u should post your trigger, not the WE compile error log
 

SFilip

Gone but not forgotten
Reaction score
634
uh you seem to be missing the point here.
Top Left <gen> is a region - as in an area. it is not a leak since anything with <gen> next to its name is actually already a variable.
RemoveLocation is only used for points - as in a single place. this is why you're getting the compile error.
and now to explain the leak here & how to fix it:
you need a Point variable, call it L for example. now before any of these actions do Set L = (Random point in Top Left <gen>). then call the actions using L instead of random point you are using now. also right after every action you should remove L by doing call RemoveLocation(udg_L).
 
P

perrinaybara

Guest
need to kno wut my leaks are

will sum1 tell me wut causing my map to leak, heres the leak i believe

nynaeve Copy
Events
Unit - A unit enters Region 001 <gen>
Conditions
Actions
Unit - Change ownership of nynaeve sedai 0029 <gen> to (Triggering player) and Change color
Set nynaevestart = (Center of Region 012 <gen>)
Unit - Move nynaeve sedai 0029 <gen> instantly to (Center of (Region(nynaevestart, nynaevestart))), facing Default building facing degrees
Custom script: call RemoveLocation (udg_nynaevestart)
Unit - Change ownership of queen tylins palace 0002 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Sky-Fury Tower 0017 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Sky-Fury Tower 0020 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Sky-Fury Tower 0019 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Sky-Fury Tower 0021 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Sky-Fury Tower 0018 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Sky-Fury Tower 0022 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Human Shipyard 0001 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of ebou dar soldier 0038 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of ebou dar soldier 0037 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of ebou dar soldier 0036 <gen> to (Player((Integer A))) and Change color
Unit - Change ownership of Barracks 0047 <gen> to (Player((Integer A))) and Change color



ebouspawn
Events
Time - Every 120.00 seconds of game time
Conditions
(Number of living Barracks units owned by (Owner of queen tylins palace 0002 <gen>)) Less than or equal to 1
(Owner of queen tylins palace 0002 <gen>) Equal to (Player((Integer A)))
Actions
Set regionspawn = (Center of Region 053 <gen>)
Unit - Create 2 ebou dar soldier for (Owner of queen tylins palace 0002 <gen>) at regionspawn facing 60.00 degrees
Custom script: call RemoveLocation (udg_regionspawn)
 
N

NoOneLeaves

Guest
??

OK, I don't understand a fuck about it but I think thats not ur fault..My map is full of script errors and I want em away.. I tried alot of things in the triggers but it didn't work. Could some1 fix it for me?? If u want to, plz send a mail to
[email protected].. Or just tell me what to do. I get a list of 71 errors like: bla bla returns nothing... I hope sum1 will help me out.
 
H

Hohan

Guest
Hi, I've read your Tutorial and I have one question. This was from there:
Code:
Custom script: call DestroyTrigger( GetTriggeringTrigger() )

I tried the function but it came as an error. Where do I enter my trigger name?

Thanks.
Hohan
 

Omni

Ultra Cool Member
Reaction score
37
is there way to remove a unit variable?
like:

-create 1 noob for player neutral hostile in topleftnoobhouse
-set topleftnoob = last creatd unit
-order topleft noob to move outside his house
-replace topleftnoob with a unit type of topleftnoob using the old units relative life and mana(so it wont go back inside it's house but wait outside)
-custom sript : ?:confused: ? (udg_topleftnoob)
 
B

Banana

Guest
Some more questions Re: Leaks

The tutorial is great.

Just two critical aspect I'm kind of missing out- Does functions leak? Should I be concerned with maintaining a temp variable for both group and individuals within?

Some specific questions:

Suppose I have a trigger that creates a unit at a predefined region center (which won't leak the point of creation, correct?), then in the next action, I "add Last Created Unit to MyCustomUnitGroup". Would the function "Last Created Unit" (and for that matter, any other functions) create a leak?

Also, if I will be re-using a variable, does this suffice to protect from leaks:

"Remove every Unit in MyCustomUnitGroup"

and because MyCustomUnitGroup will be recycled, I do not need to destroy the MyCustomUnitGroup at least up to the point when I'm done with it, correct?

Last thing, I'm kind of unsure when handling with individuals in a group (e.g. units/unit group or players/player group), do I need to create a temporary variable for both individual being dealt with and for the group this individual may come from?

TIA.
 
B

Banana

Guest
*bump*

Just one more question-

I already asked about whether recycled variables needs to be destroyed. Is same true of variables that may be used for different things within same trigger. For example, if I want to create four units at four different points, can I use same temp point variable for each different point then destroy it at end of trigger?

Also, one thing I didn't ask quite explicitly in my previous post- When using "Remove every Unit", does this function (and other similar functions, such as Pick every Unit in a Unit Group) create a handle that needs to be destroyed for each unit?
 

Tzirrit

New Member
Reaction score
7
uh you seem to be missing the point here.
Top Left <gen> is a region - as in an area. it is not a leak since anything with <gen> next to its name is actually already a variable.

Now you've got me confused:

Code:
Unit - Create 1 Dummy Unit for Player 1 (Red) at (Random point in AreaX <gen> facing (Random Angle))

Does that create a leak or not?
 

quraji

zap
Reaction score
144
The region "AreaX" itself is not a memory leak, but the action creates a point (Random point in AreaX <gen>) which is a memory leak.
 
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