Advertisement
Guest User

TaskManager.inc

a guest
Mar 19th, 2012
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 0.84 KB | None | 0 0
  1. #include <a_samp>
  2. #include <ptr>
  3.  
  4. #define NewTask<%0>(%1) \
  5.     static const __td_%0[][32]={%1}; \
  6.     static bool:__ts_%0=false,__ti_%0; \
  7.     if(!__ts_%0)__ts_%0=true,SetTimerEx("TaskManager",(%0)/(sizeof(__td_%0)),true,"iii",_:GetPointer(__td_%0[0][0]),sizeof(__td_%0),_:GetPointer(__ti_%0))
  8.  
  9. forward __t_clf();
  10. public __t_clf()
  11. {
  12.     CallLocalFunction("", "");
  13. }
  14.  
  15. static stock __t_null[] = "";
  16.  
  17. forward TaskManager(const Pointer:dataptr, const datasize, const Pointer:idxptr);
  18. public TaskManager(const Pointer:dataptr, const datasize, const Pointer:idxptr)
  19. {
  20.     new idx = GetData(idxptr);
  21.    
  22.     #emit LOAD.S.pri    idx
  23.     #emit SMUL.C        128
  24.     #emit LOAD.S.alt    dataptr
  25.     #emit ADD
  26.     #emit PUSH.C        __t_null
  27.     #emit PUSH.pri
  28.     #emit PUSH.C        8
  29.     #emit SYSREQ.C      CallLocalFunction
  30.     #emit STACK         12
  31.    
  32.     SetData(idxptr, (idx + 1) % datasize);
  33.     return;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement