Codesnippets > Math

Multiple Realtime Timers Function!

(1/1)

Hemlos:
Edited and UPDATED AUG. 5, 2008 for GLBasic Version 5+

Excellent Timer Function that keeps track of many timers that calculate seconds!
These return TRUE if the alloted time is reached!

Usage:

--- Code: (glbasic) ---onesecondelapsed=TTIMER(0,1) //returns TURE after 1 second
oneminuteelaped=TTIMER(1,60) //returns TRUE after 60 seconds
--- End code ---
Function:

--- Code: (glbasic) ---FUNCTION TTIMER: TTNum, TTCountTo
//onesecondelapsed=TTIMER(0,1) //returns TURE after 1 second
//oneminuteelaped=TTIMER(1,60) //returns TRUE after 60 seconds
STATIC  Init_TTTimer,NumOfTimers, CheckIt
IF Init_TTTimer<>TRUE;
NumOfTimers=100;
Init_TTTimer=TRUE;
DIM TIMETIMER[NumOfTimers][2];
TIMETIMER[0][0]=-1;
TIMETIMER[0][1]=-1;
TIMETIMER[1][0]=-1;
TIMETIMER[1][1]=-1;
ENDIF
IF TTNum>-1
TIMETIMER[TTNum][0]=GETTIMER()
TIMETIMER[TTNum][1]=TIMETIMER[TTNum][1]+TIMETIMER[TTNum][0]
CheckIt=TIMETIMER[TTNum][1]/1000
IF INTEGER(CheckIt)>=TTCountTo
TIMETIMER[TTNum][0]=0
TIMETIMER[TTNum][1]=0
checkit=0
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDIF
ENDFUNCTION

--- End code ---

--- Quote ---Tips:
1. becareful not to use too many timers,
2. reuse the id slots if they arent being used anymore.
3. More timers you se will result in less performance, dont use more than needed.
4. Do not use any single timer for multiple events! Watch those ID's!
--- End quote ---
Note:

--- Quote ---Updated for use with current compiler: EDITED ON SEPT.23 2005
-Hemlos
--- End quote ---

Kitty Hello:
Wow, that's handy!

rocko:
Timers are good :D thank ya sir

Hemlos:
Youre welcome, check out my last post of the FPS and elapsed time function too

Hb!:
wow sounds good, thanks I gotta test em ,but if it makes the game extremely slow...I think ill have to use sprites instead ....