Advertisement
ipsBruno

(Pawn) icmd 7.1 ALPHA TESTS

Oct 11th, 2013
384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.76 KB | None | 0 0
  1. /*
  2.  
  3.         *       ~ iCmd 7 ~
  4.         *
  5.         *   Por Bruno da Silva @ ipsbr.net
  6.         *   ~   [iPs]TeaM   ~
  7.         *
  8.         *   mixmusicas.com.br
  9.         *   email@brunodasilva.com
  10.         *
  11.  
  12. */
  13.  
  14. #define retn("%0") init(%0,@,@)
  15.  
  16. #define init(%0,%1) def%0(%1)
  17.  
  18. #define defA(%1) init(%1)+(0x40BF)
  19. #define defB(%1) init(%1)+(0x41BE)
  20. #define defC(%1) init(%1)+(0x42BD)
  21. #define defD(%1) init(%1)+(0x43BC)
  22. #define defE(%1) init(%1)+(0x44BB)
  23. #define defF(%1) init(%1)+(0x45BA)
  24. #define defG(%1) init(%1)+(0x46B9)
  25. #define defH(%1) init(%1)+(0x47B8)
  26. #define defI(%1) init(%1)+(0x48B7)
  27. #define defJ(%1) init(%1)+(0x49B6)
  28. #define defK(%1) init(%1)+(0x4AB5)
  29. #define defe(%1) init(%1)+(25755)
  30. #define deff(%1) init(%1)+(26010)
  31. #define defg(%1) init(%1)+(26265)
  32. #define defq(%1) init(%1)+(28815)
  33. #define defn(%1) init(%1)+(28050)
  34. #define defo(%1) init(%1)+(28305)
  35. #define defp(%1) init(%1)+(28560)
  36. #define defb(%1) init(%1)+(24990)
  37. #define defc(%1) init(%1)+(25245)
  38. #define defd(%1) init(%1)+(25500)
  39. #define defx(%1) init(%1)+(30600)
  40. #define defy(%1) init(%1)+(30855)
  41. #define defz(%1) init(%1)+(31110)
  42. #define defr(%1) init(%1)+(29070)
  43. #define defs(%1) init(%1)+(29325)
  44. #define defh(%1) init(%1)+(26520)
  45. #define defi(%1) init(%1)+(26775)
  46. #define defj(%1) init(%1)+(27030)
  47. #define defk(%1) init(%1)+(27285)
  48. #define defq(%1) init(%1)+(28815)
  49. #define defr(%1) init(%1)+(29070)
  50. #define defs(%1) init(%1)+(29325)
  51. #define defa(%1) init(%1)+(24735)
  52. #define defb(%1) init(%1)+(24990)
  53. #define defc(%1) init(%1)+(25245)
  54. #define defd(%1) init(%1)+(25500)
  55. #define deft(%1) init(%1)+(29580)
  56. #define defu(%1) init(%1)+(29835)
  57. #define defv(%1) init(%1)+(30090)
  58. #define defw(%1) init(%1)+(30345)
  59. #define defx(%1) init(%1)+(30600)
  60. #define defy(%1) init(%1)+(30855)
  61. #define defz(%1) init(%1)+(31110)
  62. #define def0(%1) init(%1)+(12240)
  63. #define defL(%1) init(%1)+(0x4BB4)
  64. #define defM(%1) init(%1)+(0x4CB3)
  65. #define defN(%1) init(%1)+(0x4DB2)
  66. #define defO(%1) init(%1)+(0x4EB1)
  67. #define defP(%1) init(%1)+(0x4FB0)
  68. #define defQ(%1) init(%1)+(0x50AF)
  69. #define defR(%1) init(%1)+(0x51AE)
  70. #define defS(%1) init(%1)+(0x52AD)
  71. #define defT(%1) init(%1)+(0x53AC)
  72. #define defU(%1) init(%1)+(0x54AB)
  73. #define defV(%1) init(%1)+(0x55AA)
  74. #define defW(%1) init(%1)+(0x56A9)
  75. #define defX(%1) init(%1)+(0x57A8)
  76. #define defY(%1) init(%1)+(0x58A7)
  77. #define defZ(%1) init(%1)+(0x59A6)
  78. #define def1(%1) init(%1)+(12495)
  79. #define def2(%1) init(%1)+(12750)
  80. #define def3(%1) init(%1)+(13005)
  81. #define def4(%1) init(%1)+(13260)
  82. #define def5(%1) init(%1)+(13515)
  83. #define def7(%1) init(%1)+(14025)
  84. #define def8(%1) init(%1)+(14280)
  85. #define def9(%1) init(%1)+(14535)
  86. #define defa(%1) init(%1)+(24735)
  87. #define defl(%1) init(%1)+(27540)
  88. #define defm(%1) init(%1)+(27795)
  89. #define defe(%1) init(%1)+(25755)
  90. #define deff(%1) init(%1)+(26010)
  91. #define defg(%1) init(%1)+(26265)
  92. #define defh(%1) init(%1)+(26520)
  93. #define defi(%1) init(%1)+(26775)
  94. #define defj(%1) init(%1)+(27030)
  95. #define def6(%1) init(%1)+(13770)
  96. #define defk(%1) init(%1)+(27285)
  97. #define defl(%1) init(%1)+(27540)
  98. #define defm(%1) init(%1)+(27795)
  99. #define defn(%1) init(%1)+(28050)
  100. #define defo(%1) init(%1)+(28305)
  101. #define defp(%1) init(%1)+(28560)
  102. #define deft(%1) init(%1)+(29580)
  103. #define defu(%1) init(%1)+(29835)
  104. #define defv(%1) init(%1)+(30090)
  105. #define defw(%1) init(%1)+(30345)
  106.  
  107. #define def@(%1) 0
  108.  
  109. #define iscmd retn
  110.  
  111. new buFFer__CMDs[128][128] ;
  112.  
  113. new buFFer_Types[128];
  114. new buFFer_Values[128];
  115.  
  116. #define Float:
  117.  
  118. #define gets($%1)\
  119. buFFer__CMDs[%1]
  120.  
  121. #define getv($%0) \
  122. buFFer_Values[%0]
  123.  
  124. #define getp($%0) \
  125. buFFer_Types[%0]=='f'?Float:gp(%0):gp(%0)
  126.  
  127.  
  128. stock __@cmdvalue, __@loopv;
  129. stock __@param[126];
  130.  
  131. #define _c iscmd
  132. #define param("%0") comandoParametro(#%0,params)
  133.  
  134. public OnPlayerCommandText( playerid, cmdtext[] ) {
  135.  
  136.     __@cmdvalue = 0;
  137.     __@loopv = 0;
  138.     __@param[0] = EOS;
  139.  
  140.     while (cmdtext[++__@loopv] > ' ')  {
  141.         __@cmdvalue += (0xff * tolower(cmdtext[__@loopv]));
  142.     }
  143.  
  144.  
  145.  
  146.     while (strlen(cmdtext) > __@loopv && cmdtext[++__@loopv] == ' ') {}
  147.  
  148.     if( __@loopv < strlen(cmdtext)) {
  149.         format(__@param, 125, "%s", cmdtext[__@loopv]);
  150.     }
  151.  
  152.     #if defined icmd@___OnPlayerCommandText
  153.     return icmd@___OnPlayerCommandText(playerid, __@cmdvalue, __@param);
  154.     #else
  155.     return 0;
  156.     #endif
  157. }
  158.  
  159.  
  160. stock gp(n)
  161. return buFFer_Values[n];
  162.  
  163.  
  164. stock comandoParametro(str[], params[]) {
  165.  
  166.     static c, l, i, f;
  167.  
  168.     f = strlen(str)-1 ;
  169.  
  170.     c = 0;
  171.  
  172.     while(params[c] == ' ') c++;
  173.  
  174.     for(l = 0, i = 0; params[c]; ++c ) {
  175.  
  176.         if(params[c] != ' ')
  177.         buFFer__CMDs[l][i++] = params[c];
  178.  
  179.         else {
  180.  
  181.             if( f == l )
  182.             buFFer__CMDs[l][i++] = params[c];
  183.  
  184.             else
  185.             if(params[c + 1] != ' ')
  186.             l ++, i = 0;
  187.         }
  188.     }
  189.  
  190.     for(c = 0; c <= f; c++) {
  191.  
  192.         switch(str[c]) {
  193.  
  194.             case 'd', 'i' : {
  195.  
  196.                 if(!strlen(buFFer__CMDs[c])) return false;
  197.  
  198.                 buFFer_Types[c] = 'd';
  199.                 buFFer_Values[c] = strval(buFFer__CMDs[c]);
  200.             }
  201.  
  202.             case 's', 'z': {
  203.  
  204.                 if(!strlen(buFFer__CMDs[c])) return false;
  205.  
  206.             }
  207.  
  208.             case 'u': {
  209.  
  210.                 if(!strlen(buFFer__CMDs[c])) return false;
  211.  
  212.                 static sName[MAX_PLAYER_NAME], x;
  213.  
  214.                 for(x = 0; x != MAX_PLAYERS; x++) {
  215.  
  216.                     if(IsPlayerConnected(x)) {
  217.  
  218.                         GetPlayerName(x, sName, MAX_PLAYER_NAME);
  219.  
  220.                         if(strfind(sName, buFFer__CMDs[c], true)) {
  221.                             buFFer_Values[c] = strval(buFFer__CMDs[c]);
  222.                             break;
  223.                         }
  224.                     }
  225.                 }
  226.  
  227.                 buFFer_Types[c] = 'd';
  228.  
  229.  
  230.             }
  231.  
  232.             case 'f': {
  233.  
  234.                 if(!strlen(buFFer__CMDs[c])) return false;
  235.  
  236.                 buFFer_Types[c] = 'd';
  237.                 buFFer_Values[c] = _: floatstr(buFFer__CMDs[c]);
  238.             }
  239.  
  240.         }
  241.     }
  242.  
  243.     return true;
  244. }
  245.  
  246.  
  247. #if defined _ALS_OnPlayerCommandText
  248. #undef OnPlayerCommandText
  249. #else
  250. #define _ALS_OnPlayerCommandText
  251. #endif
  252. #define OnPlayerCommandText icmd@___OnPlayerCommandText
  253. #if defined icmd@___OnPlayerCommandText
  254. forward icmd@___OnPlayerCommandText(playerid, commandid, params[]);
  255. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement