Advertisement
GustavoAraujo

Timer Manager - SetTimer/Ex

Mar 9th, 2014
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 0.96 KB | None | 0 0
  1. #define MAX_TIMERS 50
  2.  
  3. new Tempo[MAX_TIMERS];
  4. new TimerRepeat[MAX_TIMERS];
  5.  
  6. stock TM_SetTimer(funcname[], interval, repeating)
  7. {
  8.     new Timer = SetTimer(funcname, interval, repeating);
  9.     Tempo[Timer] = GetTickCount();
  10.     if(repeating) TimerRepeat[Timer] = SetTimerEx("Repeat", interval, true, "d", Timer);
  11.     return Timer;
  12. }
  13.  
  14. stock TM_SetTimerEx(funcname[], interval, repeating, const format[], {Float,_}:...)
  15. {
  16.     new Timer = SetTimerEx(funcname, interval, repeating, format);
  17.     Tempo[Timer] = GetTickCount();
  18.     if(repeating) TimerRepeat[Timer] = SetTimerEx("Repeat", interval, true, "d", Timer);
  19.     return Timer;
  20. }
  21. stock TM_KillTimer(timerid)
  22. {
  23.     KillTimer(timerid);
  24.     KillTimer(TimerRepeat[timerid]);
  25.     return 1;
  26. }
  27. stock GetTimer(timerid)
  28. {
  29.     new nTime = GetTickCount() - Tempo[timerid];
  30.     return (Tempo[timerid] > 0) ? nTime : -1;
  31. }
  32.  
  33. forward Repeat(timerid);
  34. public Repeat(timerid)
  35.     return Tempo[timerid] = GetTickCount();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement