Staredit Network

Staredit Network -> UMS Assistance -> does this need hyper trigger or something?
Report, edit, etc...Posted by Staredit.Net Essence on 2005-04-24 at 21:35:37
okay, i made a thread about making a DoTA like map , so far what i've done is making three units spawning points and attacking different areas of the map and finally attacking the enemy's base.

White Units Spawn 1 first attacks upperleft corner first, than attacks upper right corner where Yellow's base is.

White Units Spawn 2 first attacks the center first, than attacks upper right corner where Yellow's base is.

White Units Spawn 3 first attacks the bottom right corner first, than attacks upper right corner where Yellow's base is.

and pretty much same for the Yellow, you get the point.

I've made triggers like:


conditions:
current player brings at least 1 factory to FACTORY 1
(so that if the enemy breaks the factory it cannot spawn any more goliathes)

actions:
create 2 goliathes at FACTORY 1 SPAWN for current player
wait for 5000 milliseconds
preserve trigger

and i did the SAME exact thing for FACTORY 2 and FACTORY 3
but , what it does is, the trigger FACTORY 1 works perfectly but factory 2 tends to be a little slow on spawning the units, and FACTORY 3 barely even spawns units... i don't understand this , help me guys!



Report, edit, etc...Posted by knockdownshawn on 2005-04-24 at 21:47:48
Well, I don't understand what you're trying to do too well, but just try the Hyper Triggers. No need to make a thread about it. There's two possible answers, yes, and no. So why not just try them?
Report, edit, etc...Posted by Wilhelm on 2005-04-24 at 22:01:54
You're experiencing a wait stack. Wait's are tricky, it's best to use something else. My suggestion is using hypers and death counters. the triggers would be the following:
Trigger
Players:
¤ Current Player
Conditions:
¤ Always
Actions:
¤ Add 1 Deaths for 'Death Counter Unit' for Current Player
¤ Preserve Trigger

Trigger
Players:
¤ Current Player
Conditions:
¤ Current Player brings atleast 1 Factory to "FACTORY 1".
¤ Current player has suffered atleast 60 deaths of 'Death Counter Unit'.
Actions:
¤ Subtract 60 Deaths for 'Death Counter Unit' for Current Player.
¤ Create 2 Goliaths at 'FACTORY 1' for Current Player.

Then repeat for the three locations. They will be simulatenous, though. You can probably figure out the rest. The reason it's 60 death counts is around 12 hyper triggers fire per second. 5 x 12.
Report, edit, etc...Posted by KrazyKrl on 2005-04-24 at 22:14:04
First off, Hyper triggers WILL NOT fix this problem.

You're suffering from "wait lock" try to split the waits into chunks.

Another solution would be to set a switch, or death counter, at every 5000ms event. And use a condition to check if that specific switch or death counter is what it's needs to be to create the units at a location. If you use a switch, then you can just use 1 wait, and if you have other triggers for creating units, you can just call that switch up in the conditions to reduce how many times you use the 'Wait' action.

This is how I would solve the problem...

First, the wait trigger...


Trigger
Description:
Sample Global Wait Trigger
Players:
¤ Player 8
Conditions:
¤ Switch '5000ms global spawn' Is Cleared
Actions:
¤ Wait 1000ms
¤ Wait 1000ms
¤ Wait 1000ms
¤ Wait 1000ms
¤ Wait 1000ms
¤ Set Switch '5000ms global spawn'
¤ Preserve Trigger.


And here are the spawn triggers. (Note the absence of the wait)

Trigger
Players:
¤ Current Player
Conditions:
¤ Switch '5000ms global spawn' Is Set
¤ Current Player Brings at least 1 Factory to Factory 1
Actions:
¤ Create 2 Goliaths at Factory Spawn 1 for Current Player.
¤ Preserve Trigger.



Trigger
Players:
¤ Current Player
Conditions:
¤ Switch '5000ms global spawn' Is Set
¤ Current Player Brings at least 1 Factory to Factory 2
Actions:
¤ Create 2 Goliaths at Factory Spawn 2 for Current Player.
¤ Preserve Trigger.



Trigger
Players:
¤ Current Player
Conditions:
¤ Switch '5000ms global spawn' Is Set
¤ Current Player Brings at least 1 Factory to Factory 3
Actions:
¤ Create 2 Goliaths at Factory Spawn 3 for Current Player.
¤ Preserve Trigger.
Report, edit, etc...Posted by (U)Bolt_Head on 2005-04-25 at 03:47:19
Since everyone is going to list a differant set of triggers i'll list mine.

Trigger
Conditions:
¤ Switch 1 is clear
Actions:
¤ Set Switch 1
¤ Wait 5000 milli seconds
¤ Preserve Trigger.


Trigger
Conditions:
¤ Player brings at least one factory to factory 1
¤ switch 1 is set
Actions:
¤ Do Spawn stuff.
¤ Preserve Trigger


*repeat for all other spawns.


Trigger
Conditions:
¤ Switch 1 is set
Actions:
¤ Clear Switch 1
¤ Preserve Trigger


Now if you have another set of waits for that player or spawns that have a differant wait time then i suggest you use death counters.
Report, edit, etc...Posted by Staredit.Net Essence on 2005-04-25 at 08:49:03
thank you so much guys!

ADDITION:
hmm.. it surely works, but it creates units so that , its as if the wait time is not even there, you know? like madness maps
Report, edit, etc...Posted by (U)Bolt_Head on 2005-04-25 at 11:15:51
You probolly used KrazyKrl's trigger. You need a trigger to clear the switch.
Report, edit, etc...Posted by Urmom(U) on 2005-04-25 at 17:18:49
if you use theoretical humans method then you should use set to instead of subtract for clearing the conditions.
Report, edit, etc...Posted by Wilhelm on 2005-04-26 at 19:29:10
No, because there's a very low chance that it'll be a tiny amount of time off when it actually fires, so that way you get that extra bit of time for the next loop. Or perhaps I'm just delusional.
Report, edit, etc...Posted by (U)Bolt_Head on 2005-04-27 at 02:00:09
Yeah your delusional, set and subtract will work the same in this situation.
But you will have to make a counter for each spawn point the way you did it.
Report, edit, etc...Posted by O)FaRTy1billion on 2005-04-29 at 22:04:42
For making something 0 or something, I prefer "set" because then you know it will always be that number (even if the only trigger is add 1, or set to 1).
Next Page (1)