Staredit Network

Staredit Network -> UMS Assistance -> Why Do Hyper Triggers Work?
Report, edit, etc...Posted by Burbble on 2004-08-11 at 23:43:19
Can anyone explain why, exactly, adding a trigger with a bunch of Wait(0); actions makes all of the other triggers execute faster?

"It just does" is not an explanation wink.gif
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-11 at 23:51:48
Whenever a wait actions is executed all the other triggers will have a chance to fire, as a result of that wait, before that trigger finishes. Blizzard made it this way so all the triggers don’t stall whenever you execute a wait. So instead blizzard made the wait action cause all the other triggers to be checked.

A hyper trigger is composed of many waits one after another, each time a wait in them runs triggers are checked and executed. When you have multiple hyper triggers, the different triggers are able to fire off of each other making them last a extremely long time.

That’s basically how they work if you have any questions feel free to ask, I left a lot of stuff out, like wait blocks entirely.
Report, edit, etc...Posted by r[s]t on 2004-08-11 at 23:52:10
so it wont wait? i dunno
Report, edit, etc...Posted by Burbble on 2004-08-11 at 23:56:37
QUOTE
A hyper trigger is composed of many waits one after another, each time a wait in them runs triggers are checked and executed. When you have multiple hyper triggers, the different triggers are able to fire off of each other making them last a extremely long time.


Wow, thanks. That explanation was perfect biggrin.gif

QUOTE
That’s basically how they work if you have any questions feel free to ask, I left a lot of stuff out, like wait blocks entirely.


...but now I'm curious about what you mean by "wait block" wink.gif
Report, edit, etc...Posted by Staredit.Net Essence on 2004-08-12 at 00:05:34
When you have like wait 1000 on player 1 and wait 1000 on player 2 it will take longer for one of the players but when on forces it has its own wait time? why?

- PS: how do you get upped a rank in that thing that sais newby with a spinning larvae?
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 00:06:23
Whenever a wait is run by a player no other waits owned by that player can run. A trigger may start firing but stop half way though and wait for the other active wait. The second triggers wait cannot run until the first triggers has finished.

This is mistakenly referred to as “waits add together” This is because if you run two waits at the same time the second wait has to wait for the first + itself. The reason it is a wrong statement is because the first wait runs normally. Now days a wait block is most commonly noticed with the effect of hyper triggers. Triggers placed after a hyper trigger, with waits, must wait for all the hyper triggers waits to fire. Since hyper triggers are designed to wait practically for ever, it appears as if the triggers stop dead in there tracks.

Lastly it is important to know that wait blocks only effect the player who runs the wait. This means more than one player can have a wait running at the same time.

QUOTE(Pro-)
When you have like wait 1000 on player 1 and wait 1000 on player 2 it will take longer for one of the players but when on forces it has itw own wait time? why

That statement is false, I can't answer it.
Report, edit, etc...Posted by Staredit.Net Essence on 2004-08-12 at 00:08:50
Is there any other tricks with wait times other then Hyper Triggers?
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 00:14:02
uhh kinda,

Like if your running a trigger you can put a wait 0 in it to have other triggers run before it finishes.

I use this alot for triggers with display text, center screen, and wavs. Because alot of times the actions of the triggers will cause the conditions to be faulse therefore the next player who should run the trigger will not have his fire.

Adding a wait will allow the other players triggers to fire before it cancils the conditions.
Report, edit, etc...Posted by Burbble on 2004-08-12 at 00:17:18
QUOTE
Like if your running a trigger you can put a wait 0 in it to have other triggers run before it finishes.


Wow, that's clever! Never thought of that before wink.gif
Report, edit, etc...Posted by D3D_3ND on 2004-08-12 at 00:41:50
i have this problem.whenever i add wait 0 miliseconds the trigger would not preserve this was the one:
________
Condition:
-----------
Bring exaclty 1 any unit to X location
_____
Action:
-------
set all any unit for current player hit points to 100%
Display text message
wait 0
Preserve Trigger

when i bring that unit to the location it does not preserve the trigger...
i have hyper triggers set to 1,2,3,4,5 players
Report, edit, etc...Posted by CheeZe on 2004-08-12 at 01:29:45
have the hyper trigger on an neutral players without other waits (or a computer player)

what you have is what bolt calls a wait block evil little guys aren't they? smile.gif
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 01:32:25
That means your hyper triggers is before the trigger you listed.

Haveing a wait at the end wouldn't do anything to your advantage.

If you did something like this it would be more usefull

Players: 1-5
Conditions:
-Force one brings at least one men to location x
Actions:
-Wait 0
-Move all men to owned by force 1 at location x to location y
-Play wav 'wee'
-Center veiw on locaiton y

If this trigger didn't have the wait the move action would move the men off of location X so the trigger would no longer be true. Everybodys unit would move but only the first player would hear the wav and have his screen centered.
If you put the wait before you move the men, then the other triggers will check before returning to compleat the conditions. This means the same trigger owned by the second player will have a chance to fire, then its wait will allow the trigger to fire for the 3rd player and so on.
Report, edit, etc...Posted by PickleWeezle(U) on 2004-08-12 at 01:37:07
QUOTE(Pr0- @ Aug 11 2004, 11:05 PM)
When you have like wait 1000 on player 1 and wait 1000 on player 2 it will take longer for one of the players but when on forces it has its own wait time? why?

- PS: how do you get upped a rank in that thing that sais newby with a spinning larvae?

Triggers fire in this order:
Player 1
Player 2
Player 3
Player 4
Player 5
Player 6
Player 7
Player 8
All Players
Force 1
Force 2
Force 3
Force 4

So no matter what the map, player 1 will always react before player 2 unless using a force in which they are both in is there. I haven't done this in awhile, but if I remember correctly you can place hyper triggers in a Force instead of the players while using some waits in individual player sections and it will function fine.
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 01:44:52
Pickleweezle, your a retard. lol i only say this because i know you won't get mad. But here is something you should of learned years ago, YOUR WRONG.

Group triggers do not fire seperatly like you listed. Triggers owned by a group are EXACTLY the same as one copy of that trigger owned by everyone in that group. This means trigger order, everything.
Report, edit, etc...Posted by PickleWeezle(U) on 2004-08-12 at 01:47:52
go here:
http://www.battle.net/scc/faq/triggers.shtml

Yes, they all fire within the two seconds. However, player 1's will fire slightly before.
Report, edit, etc...Posted by MapUnprotector on 2004-08-12 at 01:48:34
i remember reading about how bolt hates group trigs and he said they are exactly the same as one copy per person when he was talking about string order
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 01:57:11
QUOTE(PickleWeezle(U) @ Aug 12 2004, 12:47 AM)
go here:
http://www.battle.net/scc/faq/triggers.shtml

Yes, they all fire within the two seconds. However, player 1's will fire slightly before.

Ha Ha read the info you give me dork.

QUOTE
Within a section that contains multiple players (like All Players or one of the Forces) the triggers will be checked in player order within that group. Suppose you have several triggers set to All Players in the Players tab. All of those triggers will be checked for Player 1, then they will all be checked again for Player 2 and so forth all the way to player 8. This also holds true for triggers that apply to Forces, with players going in order and only the players that are actually in that force being checked.


Read it and weep, ouch burn.

PS. I think i have known pickleweezle too long lol
Report, edit, etc...Posted by PickleWeezle(U) on 2004-08-12 at 01:59:02
I stand corrected.
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 02:12:51
I sit relaxed.

You know pickle, those group triggers are the worst thing about the trigger editor, i tried to convince SI to leave them out of the trigger editor for SCM Draft. (not really)
Report, edit, etc...Posted by D3D_3ND on 2004-08-12 at 04:59:02
i wanted it to do this that's y i added wait:
i wanted it to put the display text message continuosly and not have 20 texts popping out.............i just want it to have 1 text and when u talk it disappears..
i've been trying to practice that for a long time but i just cant get it
THIS IS DRIVING ME NUTS!!!!!!!!!!!!!!!!!!!!!!!!
PLZZZZZZZZZZZ HOW DA HELL DO U DO THAT????????
Report, edit, etc...Posted by FamDav on 2004-08-12 at 05:46:09
The screen can display only so many lines of text, yes? If I remember correctly, its 10. So, you have essentially two choices, both of which would involve hyper triggers.

A. before the text displays, throw in a text of nothing but 10+ returns. That should constantly clear it out as well as display the message. If you do it in reverse order, it will always be blank.

B. Put returns above the message you want input, then put enough returns below the message so that it would take up an entire screen.

An interesting idea I implemented in this stranded map I'm working on was to constantly clear out the screen so you couldn't talk to others unless you obtained a radio. the trigger would stop running once you had the radio and then you were able to read text messages.
Report, edit, etc...Posted by DT_Battlekruser on 2004-08-12 at 12:07:10
QUOTE
You know pickle, those group triggers are the worst thing about the trigger editor, i tried to convince SI to leave them out of the trigger editor for SCM Draft. (not really)


I hope that was sarcasm. Think about the group triggers that are useful. Like: "All players: Current Player brings... etc." If there was sarcasm, well I missed it.
Report, edit, etc...Posted by (U)Bolt_Head on 2004-08-12 at 13:56:55
D3D_3ND: Can't do that.

FamDav: It's 11 lines, if you made a display text that was 11 lines long with 10 blank lines below it then the next text message would scroll the message up. But the text message still won't last until the next player types.

DT_Battlekruser: No not really. Try this "P1-P8: Current Player brings... etc." same thing. Same thing in every way. You just have to click 7 more little boxes and deal with staredit displaying the trigger order properly.
Report, edit, etc...Posted by Stereo on 2004-08-12 at 14:08:39
The main reason I use the category triggers is to keep 2 systems of triggers seperate. There are lots of time where you have several things that need to be going on, and I just find it convenient to use the forces to seperate these.
Report, edit, etc...Posted by MapUnprotector on 2004-08-12 at 14:15:22
if there were no categories and they just listed the strings, like how scmdraft is now, then it is very confusing and time consuming
Next Page (1)