HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

mass lag in game

12-31-2003, 12:10 PM#1
Peacerich
Ive made a arena where u pick units and heroes and then try to kill all others.

The problem is some times in game all players just suddenly start lagging for like 10 sec and then stop. Its NOT i who lag, cuz i never do on other maps. Is this because the triggers is made very complicated? Is there any way to lower map lag?

U might have noticed that im not very good on we....

I'm trying to remake all triggers right now

plz reply fasst
12-31-2003, 01:16 PM#2
Captain Griffen
Ok, people at WC3C do not have phscic powers...it is probably something in your triggers that keeps looping round every 0.00 seconds, which will chrash it, or 0.01, which will cause mass lag.
12-31-2003, 01:57 PM#3
Peacerich
Nope.. i havent even got any "every # sec" events at all. I have no idea what it is and whats strange with my triggers, sometimes just all players start lag.

Ive remade all triggers now, and it works somewhat as before, but:

still mass lag
12-31-2003, 01:57 PM#4
TheZaCrew
Maybe you should post some information or attach the map?
12-31-2003, 02:12 PM#5
Peacerich
im trying to prevent spread of the map before releasing it, but u can have more info...

its doesnt lag all the time, sometimes just all players start lag. All players lag 10-20 sec and some lagout.

Heres the trigger i THINK is causing it. It might be when many units die at the same time, for example one of my explosives (goblins mines):

Trigger End
Events
Unit - A unit Dies
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Dying unit)) Food used) Equal to 0
Then - Actions
Sound - Play Hint <gen>
Game - Display to (All players) for 5.00 seconds the text: ((Name of (Owner of (Dying unit))) + lost his last unit!)
Game - Display to (All players matching ((Owner of (Dying unit)) Equal to (Matching player))) for 5.00 seconds the text: You are out of the ...
Set PlayerCount = (PlayerCount - 1)
Player - Add 2 to (Owner of (Killing unit)) Current lumber
Else - Actions
Wait 3.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PlayerCount Equal to 1
Then - Actions
Sound - Play Warning <gen>
Game - Display to (All players) for 5.00 seconds the text: ((Name of (Owner of (Killing unit))) + won this round because he killed the last unit. Pick units and prepare for the next round!)
Game - Display to (All players) for 5.00 seconds the text: ((String(PlayerCount)) + players are still alive!)
Set PlayerScore[(Player number of (Owner of (Killing unit)))] = (PlayerScore[(Player number of (Owner of (Killing unit)))] + 1)
Leaderboard - Change the value for (Owner of (Killing unit)) in Ladder to PlayerScore[(Player number of (Owner of (Killing unit)))]
Leaderboard - Sort Ladder by Value in Descending order
Trigger - Turn off (This trigger)
Trigger - Run Pick Timer <gen> (checking conditions)
Else - Actions


Hope you took time of readin that. Any help wud be appreciated!
12-31-2003, 02:42 PM#6
linkmaster23
i dunno, normally when mulitple things happen at once i try to avoid waits. That is a big lag causer i laerned that the hard way with one of my spells.Sent down meteors. with a 1 second wait. But the periodic was ahppening every .5 seconds. So try to take out that wiat if you dont entilery need it. Then see.
12-31-2003, 02:47 PM#7
Peacerich
Thx but ive tried that. There was no wait when i first noticed the lag cause. I changed to wait because its very ugly when a unit dies and you get "attacked" with all these messages at the same time. Looks alot better with wait.

Anything else who might cause the lag?
12-31-2003, 03:46 PM#8
LegolasArcher
Coulndt you do an Integer comparison number of units owned by player X in entire map area? I dont think that would decrease lag, but it would be more direct