Protogod
10-09-2007, 10:43 PM
In this tutorial I will be addressing problems such as slow triggers, undue delays, and any such impediment which falls under the category of what I like to call TriggerLag.
1) First and foremost, check to make sure that your scripted wait times are, in fact, broken. The number might have an extra zero (or it might be missing a zero) or perhaps you unchecked a box or made an error in some other condition.
2) If your triggers themselves are scripted properly, then a modern fix would be the addition of Hypertriggers, which should be standard on most UMS maps nowadays. To add "Hypertriggers" you simply make a trigger with whatever condition you want (usually always, unless it causes problems in other triggers) and the result of "wait 0 milliseconds" copy&pasted as much as possible. Once you can no longer copy the wait trigger, you erase one and add "preserve trigger"
This works because before each wait time the computer checks to make sure that there are no other triggers in need of doing, which means it will constantly scan your trigger list for things that need doing, thereby making the reaction time much faster. (Of course this is hearsay. I'm not 100% sure on this explanation. All we know is that it works.)
3) If you added Hypertriggers and you still have slow triggers, make sure that the hypertrigger belongs to a player who isnt executing any wait times. If that player does have other triggers involving wait times, then your triggers may not even be firing correctly, as that wait time interferes with the hypertrigger's operation. You should avoid giving the same player player hypertriggers and wait times if at all possible.
4) If problems persist, it may be because you Whore (overuse) wait times, like myself. In order to alleviate this interference, you should spread your wait times around as much as possible. Instead of giving all triggers to one player, you can diversify your bank of triggers, so that wait times occurring simultaneously end up in different players. That way if player 1 is receiving a transmission, perhaps Player 8 is spawning units, while Force 3 is creating special effects.
5) If you find it difficult to diversify your wait times, you may consider reworking your maps into a rudimentary WebTrigger (http://www.warboards.org/showthread.php?t=25471) system (devised by our own SilverCrusader aka Akar) This system is more switch' heavy, creating less of a need for wait times.
1) First and foremost, check to make sure that your scripted wait times are, in fact, broken. The number might have an extra zero (or it might be missing a zero) or perhaps you unchecked a box or made an error in some other condition.
2) If your triggers themselves are scripted properly, then a modern fix would be the addition of Hypertriggers, which should be standard on most UMS maps nowadays. To add "Hypertriggers" you simply make a trigger with whatever condition you want (usually always, unless it causes problems in other triggers) and the result of "wait 0 milliseconds" copy&pasted as much as possible. Once you can no longer copy the wait trigger, you erase one and add "preserve trigger"
This works because before each wait time the computer checks to make sure that there are no other triggers in need of doing, which means it will constantly scan your trigger list for things that need doing, thereby making the reaction time much faster. (Of course this is hearsay. I'm not 100% sure on this explanation. All we know is that it works.)
3) If you added Hypertriggers and you still have slow triggers, make sure that the hypertrigger belongs to a player who isnt executing any wait times. If that player does have other triggers involving wait times, then your triggers may not even be firing correctly, as that wait time interferes with the hypertrigger's operation. You should avoid giving the same player player hypertriggers and wait times if at all possible.
4) If problems persist, it may be because you Whore (overuse) wait times, like myself. In order to alleviate this interference, you should spread your wait times around as much as possible. Instead of giving all triggers to one player, you can diversify your bank of triggers, so that wait times occurring simultaneously end up in different players. That way if player 1 is receiving a transmission, perhaps Player 8 is spawning units, while Force 3 is creating special effects.
5) If you find it difficult to diversify your wait times, you may consider reworking your maps into a rudimentary WebTrigger (http://www.warboards.org/showthread.php?t=25471) system (devised by our own SilverCrusader aka Akar) This system is more switch' heavy, creating less of a need for wait times.