Advertisement
Guest User

ICMD 8.0 - Samp Vício

a guest
Dec 28th, 2014
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.26 KB | None | 0 0
  1. /*
  2. *
  3. *
  4. *       ICMD 8.0 Por Willian Luigi
  5. *
  6. *   -LOG:
  7. *   Data de inicio: 07/10/2013 ICMD versão 7.0 beta
  8. *                   11/10/2013 ICMD versão 7.1 alpha
  9. *
  10. *   Ultima atualização: 24/12/2014 ICMD versão 8.0 beta
  11. *
  12. *
  13. *   - CODE.ME, 2013.1 - Willian Luigi
  14. *
  15. *
  16. */
  17.  
  18. #if !defined isnull
  19.     #define isnull(%1) \
  20.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  21. #endif
  22. #define g<%0> gotoaddr(%0)
  23. #define gl<%0> saveaddr(#%0)
  24. #define set(%0) gotoaddr(%0)
  25. #define get_cmd_params(%0) gl<%0>;playerid=_wrefPlayerId;r(1);if(!isnull(_wrefCmdParams))strcat((params[0]=EOS,params),_wrefCmdParams, 128);if(_wrefHash(#%0)==_wrefCmdHash)
  26. #define get_cmd_noparams(%0) gl<%0>;playerid=_wrefPlayerId;r(1);if(_wrefHash(#%0)==_wrefCmdHash)
  27. #define F_VALUE _wrefReturnValue
  28. #define r(%0) F_CMD(%0)
  29. new _wrefPlayerId, _wrefCmdHash, _wrefCmdParams[128], _wrefReturnValue;
  30. #pragma unused _wrefPlayerId
  31. #pragma unused _wrefCmdHash
  32. #pragma unused _wrefCmdParams
  33. stock saveaddr(name[])
  34. {
  35.     static addr;
  36.     #emit load.s.pri 4
  37.     #emit stor.pri addr
  38.     setproperty(.id = 0, .name = name, .value = addr);
  39. }
  40. stock gotoaddr(label[])
  41. {
  42.     static addr;
  43.     addr = getproperty(0,label);
  44.     #emit load.pri addr
  45.     #emit sctrl 6
  46. }
  47. stock _wrefHash(s[])
  48. {
  49.     return s[0];
  50. }
  51. stock F_CMD(value)
  52. {
  53.     _wrefReturnValue = value;
  54.     return value;
  55. }
  56.  
  57. public OnPlayerCommandText(playerid, cmdtext[])
  58. {
  59.     _wrefCmdParams[0]=EOS;
  60.     new __@i = 2;
  61.     __@i = strfind(cmdtext, " ");
  62.     _wrefPlayerId = playerid;
  63.     _wrefCmdHash = cmdtext[1];
  64.  
  65.     if (__@i != -1)
  66.     {
  67.         new __@cmd[24];
  68.         strmid(__@cmd, cmdtext, 1, __@i);
  69.         while(cmdtext[++__@i] == 0x20){}
  70.         strcat(_wrefCmdParams, cmdtext[__@i]);
  71.         g<__@cmd>;
  72.     }
  73.     else
  74.     {
  75.  
  76.         g<cmdtext[1]>;
  77.     }
  78.  
  79.     return F_VALUE;
  80. }
  81.  
  82. public OnGameModeInit()
  83. {
  84.  
  85.     OnCommandCalled(0, "");
  86.  
  87.     if (funcidx("icmd_OnGameModeInit") != -1)
  88.     {
  89.         return CallLocalFunction("icmd_OnGameModeInit", "");
  90.     }
  91.     return 1;
  92. }
  93. #if defined _ALS_OnGameModeInit
  94.     #undef OnGameModeInit
  95. #else
  96.     #define _ALS_OnGameModeInit
  97. #endif
  98. #define OnGameModeInit icmd_OnGameModeInit
  99. forward icmd_OnGameModeInit();
  100. forward OnCommandCalled(playerid, params[]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement