• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Trigger wont wait under 0.40 seconds

Status
Not open for further replies.
Level 5
Joined
Aug 27, 2008
Messages
127
No matter if its real or game time, it just wont wait under .40 seconds.
I've used this trigger before a week lets say and it was working great. Now I have no idea why its not working.
Here it is:

Event: Unit - A unit Finishes casting an ability

Condition: (Ability being cast) Equal to Warp (Racial Passive)

Action: For each (Integer tmpPlayerInteger[(Player number of (Owner of (Triggering unit)))]) from 1 to 100, do (Actions)
Loop - Actions
Wait 0.01 seconds
Unit - Move (Triggering unit) instantly to ((Position of (Triggering unit)) offset by 5.00 towards (Facing of (Triggering unit)) degrees)

It waits like 0.40 seconds or so (that's how I feel it, but I am not sure). It moves the unit in the right direction but with a too big wait. Its like MOVE, WAIT A LOT, MOVE AGAIN, WAIT A LOT. The ability started from the Berserk template. Can someone help me? I've checked everything and I can't find the reason for this. Btw, this is happening in other triggers too but I think its only in loops (not sure about this one).
I could also do the triggers with a Time - Every 0.01 seconds of game time (which works), but that would be a lot of work.
P.S.: I am using UMSWE with no limits enabled. I tried with JassHelper disabled and it still does the same. And it looks like For Each Integer A doesn't work. Probably because of other triggers.

P.S.2: I tried fixing it by copying only this part many times:
Wait 0.01 seconds
Unit - Move (Triggering unit) instantly to ((Position of (Triggering unit)) offset by 5.00 towards (Facing of (Triggering unit)) degrees)
Still had the same long wait. 100x0.01 = 1 right? So it should take only 1 seconds. I just don't understand.

P.S.3: Maybe I could do it with a repeating timer.
 
Last edited:
Level 5
Joined
Aug 27, 2008
Messages
127
I am always testing in singleplayer. Strange thing is that it was operating at exact speed a week ago. And doesn't really seem like lag. I mean between the waits I can order the unit to turn and watch it do that, changing the direction of the instant move action.
Well... I tried 2 things. I deleted everything from my map and left just the spell - it still didn't work. Then I made a new map and copy-pasted the trigger in there. Same result. I have no idea why the wait worked before, nothing has changed since then.
 
Last edited:

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,258
As we said, TriggerSleepAction (in GUI it is called Wait) is very inexact. The delay varies between systems and will wait longer in multiplayer than in singleplayer (very unreliable). It is advisable to rather user timers instead as they can be considered exact for game timing (sub-frame accuracy).
 
Status
Not open for further replies.
Top