wc3edit.net

United Warcraft 3 map hacking!
It is currently April 19th, 2024, 8:27 am

All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Lag Eliminating Mission
PostPosted: April 13th, 2012, 7:08 am 
Offline
Newcomer

Joined: April 13th, 2012, 7:00 am
Posts: 2
Hi, I'm having a hard time figuring out where the lag in my map is coming from. Everytime I test it, lag starts to occur after 20 - 30 minutes then it gets worse every after 20 - 30 minutes. So I'm gonna try to post all the most frequently running triggers in my map. Please tell me if these triggers have memory leaks or will they cause any lag?



camera
Events
Time - Every 0.08 seconds of game time
Conditions
Actions
Player Group - Pick every player in (All players) and do (Camera - Set (Picked player)'s camera Distance to target to 2000.00 over 0.00 seconds)


these next two triggers are executed together and there are many more like this in my map.


dash attack
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Harpy Claws
(Unit-type of (Triggering unit)) Equal to Harpy
Actions
Unit - Make (Triggering unit) Invulnerable
Set harpyunit = (Triggering unit)
Set harpytarget = (Target point of ability being cast)
Set dashattacktime = 0.80
Unit - Hide harpyunit
Unit - Unhide harpyunit
Selection - Add harpyunit to selection for (Owner of harpyunit)
Animation - Play harpyunit's attack animation
Trigger - Turn on dash attack 2 Copy <gen>
Hashtable - Save dashattacktime as 1 of (Key (Triggering unit)) in dashattackhashtable
Unit Group - Add (Triggering unit) to dashattackgroup

dash attack 2 Copy
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in dashattackgroup and do (Actions)
Loop - Actions
Set dashattacktime = (Load 1 of (Key (Picked unit)) from dashattackhashtable)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
dashattacktime Greater than 0.00
Then - Actions
Set harpyunit = (Picked unit)
Set harpypoint = (Position of harpyunit)
Set harpypoint2 = (harpypoint offset by 28.00 towards (Facing of harpyunit) degrees)
Special Effect - Create a special effect attached to the origin of harpyunit using Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
Special Effect - Destroy (Last created special effect)
Unit - Move harpyunit instantly to harpypoint2, facing (Facing of harpyunit) degrees
Set harpytargetz = (Units within 175.00 of harpypoint matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an ally of (Owner of harpyunit)) Equal to False) and ((((Matching unit) is dead) E
Unit Group - Pick every unit in harpytargetz and do (Actions)
Loop - Actions
If ((Unit-type of harpyunit) Equal to Harpy) then do (Unit - Cause harpyunit to damage (Picked unit), dealing 37.50 damage of attack type Chaos and damage type Normal) else do (Do nothing)
Custom script: call RemoveLocation(udg_harpypoint)
Custom script: call RemoveLocation(udg_harpypoint2)
Custom script: call DestroyGroup (udg_harpytargetz)
Hashtable - Save (dashattacktime - 0.03) as 1 of (Key (Picked unit)) in dashattackhashtable
Else - Actions
Hashtable - Clear all child hashtables of child (Key (Picked unit)) in dashattackhashtable
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
dashattacktime Equal to 0.00
Then - Actions
Animation - Reset (Picked unit)'s animation
Unit - Make (Picked unit) Vulnerable
Custom script: call RemoveLocation (udg_harpytarget)
Unit Group - Remove (Picked unit) from dashattackgroup
Else - Actions


Top
 Profile  
 
PostPosted: April 13th, 2012, 10:16 pm 
Offline
Forum Spammer

Joined: March 30th, 2009, 9:02 pm
Posts: 682
Lots of things leak o.o
Pretty much local vars that extend a handle i believe
most common ones are units, groups, forces, locs, effects, etc


Top
 Profile  
 
PostPosted: April 14th, 2012, 2:55 am 
Offline
Newcomer

Joined: April 13th, 2012, 7:00 am
Posts: 2
for the nth time, I already know what a memory leak is. Please take a look at my triggers first.
Here's my map if someone wants to check it out. The amount of variables and triggers may give you a headache but at least take a look at the ones with periodic events.


You do not have the required permissions to view the files attached to this post.


Top
 Profile  
 
PostPosted: April 14th, 2012, 5:29 am 
Offline
Forum Staff
User avatar

Joined: October 18th, 2010, 8:43 am
Posts: 626
colinjames12 wrote:
for the nth time, I already know what a memory leak is. Please take a look at my triggers first.
Here's my map if someone wants to check it out. The amount of variables and triggers may give you a headache but at least take a look at the ones with periodic events.

That's at least 30+ periodic triggers with 0.03 second intervals. If you compare that with DotA, which has 6 periodic triggers and the shortest interval is 0.5 seconds and those which have intervals below 2 seconds are local triggers and are destroyed at the end of the function.

You don't say.

_________________


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 14 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

phpBB SEO


Privacy Policy Statement
Impressum (German)