How long exactly is 0 second wait?

Handless

New Member
Reaction score
2
How long 0 second wait is? Is it possible for the trigger to start running again while it's waiting that 0 second? Can it make MUI spell trigger potentially non-MUI?
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
How long 0 second wait is?
It is a varying amount of time from the moment the wait starts to the next "cycle" that WC3 re-evaluates waits. (That's not a technical explanation, just a description of what I've observed.) The duration may be near-instantaneous to around a quarter of a second, depending on when exactly the wait is called relative to this apparent "cycle" behavior.

Is it possible for the trigger to start running again while it's waiting that 0 second? Can it make MUI spell trigger potentially non-MUI?
Yes, easily.
 

Handless

New Member
Reaction score
2
Thanks for the fast and detailed reply, Weep!

I was just wondering since I have two triggers, both with "unit is issued an order" event. When ran, the first trigger turns on the second trigger, but without adding that 0 second wait the second trigger instantly starts running from the SAME order as the first one.

Meh, I guess I need to create 11 more of those triggers to make it atleast MPI..
 

Bogrim

y hello thar
Reaction score
154
Waits are not accurate and should be avoided all together.

If you don't have access to JASS, use a timer and save any variables you need carried over with the timer using a hashtable (timers have their own unique ID). Use an array if you need the timer to be MUI.
 

baassee

Member
Reaction score
5
What Weep and Bogrim are saying is correct. A wait is inaccurate and has a approx value of ~0.27 although threw some testing with 10 different loops with the same wait time (first 0.00 then 0.05 etc.), some triggers finished faster than others so as said, very inaccurate in low values. For higher values it really doesn't matter.

I think if you use "GetTriggeringUnit" for the trigger only then it can be MUI if I remember correctly GetTriggerUnit() acts like a local, else you can go with locals or indexing/hashtables + timer.
 

tommerbob

Minecraft. :D
Reaction score
110
Thanks for the fast and detailed reply, Weep!

I was just wondering since I have two triggers, both with "unit is issued an order" event. When ran, the first trigger turns on the second trigger, but without adding that 0 second wait the second trigger instantly starts running from the SAME order as the first one.

Meh, I guess I need to create 11 more of those triggers to make it atleast MPI..

You could try using a countdown timer with 0.00 seconds.
 

DioD

New Member
Reaction score
57
dont keep multiple triggers affecting each other on same event.

gui wait is 125-250 delay, choosen RANDOMLY, but same for every machine in multiplayer.

timer 0 will run right after thread exit, but only if there is no other timers, otherwise they will run in creation order.
 

Handless

New Member
Reaction score
2
Thanks!

I'm actually using just GetTriggerUnit and stuff like that after the wait, so I guess the trigger is MUI after all. Didn't know that was local :eek:
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top