Making a Wait Without Waits...

Chaos_Knight

New Member
Reaction score
39
This is a kinda strange question (or not). I know the MUI creators sometimes say "Dont use waits use likely waits but not waits". I dont understand that thing.
And how to create like that?

//Chaos_Knight
 

HeX.16

Isn't Trollin You Right Now
Reaction score
131
Not sure if it works. But make a dummy with a timer. Then when its finshed(dies) make the actions?
 

Chaos_Knight

New Member
Reaction score
39
I know. But i saw someone how did write that thing..

Like not using
Trigger:
  • Wait 5 game-time seconds

:confused:
 

Skippy

Active Member
Reaction score
39
Whenever I need to wait, I start timer and save every useful information (triggering unit, target unit, ...) to hashtable.
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
why use a timer if you use hashtables? normal wiats works exactöy the same...
 

Skippy

Active Member
Reaction score
39
What kind of wait?
"Normal" wait ignores game speed, lags and so on.
Polled wait is not accurate (wait duration is always a little bit longer).
Timer is the best choice.
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
so you mean that if you use like 20 unit at the same time that are casting an ability that are damaging a unit x seconds after it have been used,

that 20 timers laggs lesser than 20 waits?

can you prove that for me?

since what i know gametime waits is exact.
 

Komaqtion

You can change this now in User CP.
Reaction score
469
No, wait are actually very inaccurate, if we are to compare them with timers... And they can't handle lower periods AT ALL, as they're limited to about 0.2 - 0.3 seconds or so :S
And no, 20 timers for 20 units doesn't take up much memory if you know how to use them... If you use JASS, and know what you're doing, it will probably be more efficient :p
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
care to give me an example on how you use them "right"
and also i mean for gui usage now :p
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
umh?.... TSA does NOT keep counting when you pause the game?
atleast didn't for meright now when i tested...
and

- Jesus4Lyf
"In terms of the dilemma of do you use a triggercondition and timers, or do you use a triggeraction and sleeps, I'd say what you're doing is fine. Purists might disagree. No one knows what's more efficient - TSA or timers. It shouldn't matter anyway. "

what i could read there is no 100% answear why timers is better
 

Skippy

Active Member
Reaction score
39
Why timers are better? Look at PolledWait function:

JASS:
function PolledWait takes real duration returns nothing
    local timer t
    local real  timeRemaining

    if (duration > 0) then
        set t = CreateTimer()
        call TimerStart(t, duration, false, null)
        loop
            set timeRemaining = TimerGetRemaining(t)
            exitwhen timeRemaining <= 0

            // If we have a bit of time left, skip past 10% of the remaining
            // duration instead of checking every interval, to minimize the
            // polling on long waits.
            if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
                call TriggerSleepAction(0.1 * timeRemaining)
            else
                call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
            endif
        endloop
        call DestroyTimer(t)
    endif
endfunction


PolledWait uses Timers.
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
guess you learn new thing every day :p

thx for the example
and hex? wut?
 

Chaos_Knight

New Member
Reaction score
39
I know. But i saw someone how did write that thing..

Like not using
Trigger:
  • Wait 5 game-time seconds

:confused:

So, you can make it MUI.

*LOOKING THROUGH ALL POSTS*: Okay, can someone make a short explanition of all whats been said, please? Thanks :thup:
 

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
actually the wiat itself doesn't make it non-mui, it varrius on how you use things AFTER the wait.
for example... Triggering unit survives waits and so do dying unit.

Code:
example:
e) 
start the effect of an ability
c) 
ability being cast == w/e
a) 
wait 5 sec
set life of Triggering unit to 100%

this would work but this wouldn't

Code:
example:
e) 
start the effect of an ability
c) 
ability being cast == w/e
a) 
wait 5 sec
set life of Target unit of ability being cast to 100%

since Target unito f ability being cast doesn't survive waits.

and since GUI now have hashtables... its MUCH easier to do GUI-MUI spells...

and ofc... you should use timers instand of waits (i wont since then i would need another trigger... :p)
of the reason that its execute the exact time.
 

shadowmapper

New Member
Reaction score
0
Can Waits be replaced with the TriggerSleepAction function to cut back on memory leakage, or are they essentially the same thing? I.e... call TriggerSleepAction( 1.00 )
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
Can Waits be replaced with the TriggerSleepAction function to cut back on memory leakage, or are they essentially the same thing? I.e... call TriggerSleepAction( 1.00 )
They are the same thing - Wait in GUI turns into TriggerSleepAction in the resultant code.
 
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