Alright. I tried my luck at making madness maps. Since there was some issues with balance between different tiers of characters, I decided to put a spawn rate timer on the units. (eg, 1 sec per unit for a tier 1 unit, 2 sec per unit for a tier 2 unit etc.)
Then, I made the trigger for a Tier 1 unit like this:
1
Player 1 kills at most 249
Create Tier 1 Unit at P1 Spawn for Player 1
Preserve Trigger
it would continually spawn level 1 units at a decent rate (about 1 per second, yes?) So technically, if I added a wait trigger to about the lines of 1000 milliseconds, which is 1 second, it should spawn a level 2 unit every 2 seconds. Except this wasn't the case.
Player 1
Player 1 kills at least 250 units
Player 1 kills at most 599 units
Create Tier 2 unit at P1 Spawn for Player 1
Wait 1000 milliseconds
Preserve Trigger
I ended up getting a huge gap of time between the spawn times of a tier 1 unit and a tier 2 unit, even though I only put in a 1000 millisecond wait time. Can anyone explain what is up with this? I even tried moving the 'wait 1000 milliseconds' trigger AFTER the Preserve trigger, and still got the same result.
Any clarification or suggestions would be helpful, thanks!
None.
You are experiencing wait blocks, just move your hyper triggers to another player that doesn't have waits and that should fix the problem.
None.
1) Are you using Hyper Triggers? If so you are experiencing wait blocks. If you use Hyper triggers you cannot use waits anywhere else in your map without running into problems. The only viable solution is to use death counter timers, which requires a bit more explanation...
2) Preserve Trigger means the trigger will be executed again, but only after it is finished. So it really doesn't matter where you place it inside the trigger.
None.
He is clearly not using hypertriggers, or the first trigger would not create units in the way he describes.
Heh, correct. I knew there was some way I should have known that but I could not put my figure on it. Perhaps I should not offer map making advice while inebriated.
None.
Do you have any other waits running for that player at the same time as the spawning wait runs?
None.
Thanks guys for your help and explanations.
From what I'm interpreting, I'm supposed to only have 1 wait trigger running at a time for a player, or else I get these so called 'wait blocks'?
I just deleted a trigger that effected all the players and had a wait action. I'm going to go test it and see if the problem persists.
None.
Yes, a blocking action (as Blizzard calls them), prevents other blocking actions from running until that blocking action is complete. In order to use wait times efficiently you'll have to make sure that there are no other running for that player at one time. Generally, you want to make wait times player specific so they are contained in a smaller area to watch out for, thus making your job a hell of a lot easier.
None.
At least never put a wait into a force, or for All players, since that's just asking for wait blocks.
None.
I don't know why your way doesn't work. it should.
None.