Countdown Timers for Events

Demonfaze

8 yrs. Hell, it's been a long time.
Reaction score
72
How exactly do you use Countdown Timers for Events? I can't seem to get it working properly.

Here is my code

tmr_ROUNDTIMER = global timer variable
tmr_ROUNDTIMERDIALOG = global timer dialog variable

Trigger 1: Setting up the timer
JASS:
set tmr_ROUNDTIMER = CreateTimer()
        call StartTimerBJ(tmr_ROUNDTIMER, false, 5 )
        call CreateTimerDialogBJ( tmr_ROUNDTIMER, "Prep Time" )
        set tmr_ROUNDTIMERDIALOG = GetLastCreatedTimerDialogBJ()


Trigger 2: Event from the timer
JASS:
function Trig_Start_Round_Trigger_Actions takes nothing returns nothing

    call showMessage(5, "Timer Expired")

endfunction

//===========================================================================
function InitTrig_Start_Round_Trigger takes nothing returns nothing
    set gg_trg_Start_Round_Trigger = CreateTrigger(  )
    call TriggerRegisterTimerExpireEventBJ( gg_trg_Start_Round_Trigger, tmr_ROUNDTIMER )
    call TriggerAddAction( gg_trg_Start_Round_Trigger, function Trig_Start_Round_Trigger_Actions )
endfunction


The timer displays, so I know the first block of code works. The second trigger, however, doesn't appear to fire off.

Thanks in advance.
 
I'm not sure, but I think it is because you create tmr_Roundtimer after the trigger has been registered, so the event is tied to <No timer>.

Hint: You can replace any function that has BJ in it with a faster function.
 
I'm not sure, but I think it is because you create tmr_Roundtimer after the trigger has been registered, so the event is tied to <No timer>.

That sounds possible. Do you know how I can fix this?

Thanks in advance.
 
should't it have then the prefix udg_ if it's global?

and also this event is created on the initialization so you have to make sure it is set before the event is being set
 
Splendid! Then Declare your timer in a globals block

globals
timer tmp_Whatevertimername = CreateTimer()
endglobals

then start your timer elsewhere.

EDIT: I fail.
 
Using events with timers = pointless in Jass.
Jass offers you a thing called callback for this purpose. Consider the following code:
Code:
function foo takes nothing returns nothing
    call BJDebugMsg("test")
endfunction

function bar takes nothing returns nothing
    local timer t = CreateTimer()
    call TimerStart(t, 5., false, [B]function foo[/B])
endfunction
The message "test" will display 5 seconds after running bar. Also know that the timer has to be destroyed which I didn't do in the code above to keep it simple.
And avoid BJs in Jass. They're a very bad thing.
 
I'd like to use a timer though, so I can have the timer window displayed in-game.
 
You are using a timer in my code, but you aren't using a trigger.
You can just add call CreateTimerDialogBJ( t, "Prep Time" ) right below TimerStart and it will work fine.
It's a better idea to use natives for this purpose though, but either one works fine.
 
Using events with timers = pointless in Jass.

Well actually the only reason you would need them would be to make multiple triggers to use a single timer, like with a movement system or something of the sort.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top