How to remove these leaks?

Salaramon

New Member
Reaction score
0
So far you see below, is what i can do to remove leaks ^^. But i guess it still leaks places like:
Trigger:
  • Set TowPoint = (Position of TowDot)

Can someone tell me how to remove them, or just edit it leak free?
(Or is it leak free?)

Trigger:
  • Dot Tow Dot
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 0 to DotNum, do (Actions)
        • Loop - Actions
          • Unit Group - Pick every unit in DotTowDotGroup and do (Set TowDot = (Picked unit))
          • Set TowPoint = (Position of TowDot)
          • Set DotPoint = (Position of Dots[(Integer A)])
          • Set DotTowDotPoint = (DotPoint offset by 0.20 towards (Distance between DotPoint and TowPoint) degrees)
          • Set DotTowDotGroup = (Random 1 units from (Units within 5000.00 of DotPoint))
          • Unit Group - Pick every unit in DotTowDotGroup and do (Unit - Move Dots[(Integer A)] instantly to DotTowDotPoint)
          • Custom script: call DestroyGroup (udg_DotTowDotGroup)
          • Custom script: call RemoveLocation (udg_DotTowDotPoint)
          • Custom script: call RemoveLocation (udg_DotPoint)
          • Custom script: call RemoveLocation (udg_TowPoint)
 

Sim

Forum Administrator
Staff member
Reaction score
534
> Set DotTowDotGroup = (Random 1 units from (Units within 5000.00 of DotPoint))

This leaks a group: (Units within 5000.00 of DotPoint) is never referenced and destroyed elsewhere, so it will always stand around and chill (and leak) in your game. :)
 

BAkil

New Member
Reaction score
9
Well I'm seeing what might be a rather non-related problem here.. Uhmm that is
Trigger:
  • Unit Group - Pick every unit in DotTowDotGroup and do (Set TowDot = (Picked unit))

You've got this line before you allocate the units in the unitgroup. Unless you set the unitgroup in a different trigger, it won't be picking anything really.
 

Bribe

vJass errors are legion
Reaction score
67
Trigger:
  • Unit Group - Pick every unit in DotTowDotGroup and do (Set TowDot = (Picked unit))


Hope you realize that only one of those units is going to be assigned the variable "TowDot". The proper way to handle this is doing a Pick Every... (Multiple Actions). Right now, you have it as a single action, which essentially means you're not getting the job done.
 

Salaramon

New Member
Reaction score
0
Well I'm seeing what might be a rather non-related problem here.. Uhmm that is
Trigger:
  • Unit Group - Pick every unit in DotTowDotGroup and do (Set TowDot = (Picked unit))

You've got this line before you allocate the units in the unitgroup. Unless you set the unitgroup in a different trigger, it won't be picking anything really.

Thx, by fixing that it doesn't lag that much.
Trigger:
  • Dot Tow Dot
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • For each (Integer A) from 0 to DotNum, do (Actions)
        • Loop - Actions
          • Set DotPoint = (Position of Dots[(Integer A)])
          • Set DotTowDotGroup = (Random 1 units from (Units within 5000.00 of DotPoint))
          • Unit Group - Pick every unit in DotTowDotGroup and do (Set TowDot = (Picked unit))
          • Set TowPoint = (Position of TowDot)
          • Set DotTowDotPoint = (DotPoint offset by 10.00 towards (Distance between DotPoint and TowPoint) degrees)
          • Unit Group - Pick every unit in DotTowDotGroup and do (Unit - Move Dots[(Integer A)] instantly to DotTowDotPoint)
          • Custom script: call DestroyGroup (udg_DotTowDotGroup)
          • Custom script: call RemoveLocation (udg_DotTowDotPoint)
          • Custom script: call RemoveLocation (udg_DotPoint)
          • Custom script: call RemoveLocation (udg_TowPoint)


But do anyone know how to fix the Pick Area leak?
 

Moridin

Snow Leopard
Reaction score
144
But do anyone know how to fix the Pick Area leak?
If by that you meant an action like this:

Unit Group - Pick all units in (playable map area) and do (multiple actions)

...then its simply a unit group leak. Set a temp unit group variable (Temp_Group) to "All units in (playable map area)" (I'm going along with the example I gave btw, you'll have to change it accordingly) and then use:

Unit Group - Pick all units in Temp_Group and do.....

...and finally after the unit group loop is done, you use the custom script to destroy it:

Custom script: call DestroyGroup (udg_Temp_Group)
 

tommerbob

Minecraft. :D
Reaction score
110
Additionally, you should not run your trigger faster than every .03 seconds. That can cause lag as much as any leak, depending on what you're doing. Besides, the human eye can't tell the difference between .01 and .03 seconds. :thup:
 

Bogrim

y hello thar
Reaction score
154
Set the unit group, then set a unit variable as a random unit from the group. The thing is that "random X units" creates a group and so does "units in range", but you're only saving the handle reference for "random X units" which isn't even necessary since you're only using a single unit.
Trigger:
  • Actions
    • Set Temp_Group = (Units within 500.00 of Temp_Point)
    • Set Temp_Unit = (Random unit from Temp_Group)
 

Moridin

Snow Leopard
Reaction score
144
Additionally, you should not run your trigger faster than every .03 seconds. That can cause lag as much as any leak, depending on what you're doing. Besides, the human eye can't tell the difference between .01 and .03 seconds.
Actually, you should change it to 0.08 seconds. Even if the periodic is set to 0.01, I think I remember someone saying that it will still only be 0.03 (that's the smallest possible periodic). At the same time, 0.03 is incredibly fast and will cause a lot of lag, as you have already said....so using 0.08 (which isn't really distinguishable anyway) would be a better choice.
 

Moridin

Snow Leopard
Reaction score
144
> that's the smallest possible periodic

Nah. It can go below 0.03. 0.01 runs rather normally.
Alright. My mistake then. I remember someone saying that though :S. Maybe the older version of WC or something...
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top