DarkFireYT

DarkCMD v0.3

Nov 24th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.22 KB | None | 0 0
  1. /*
  2. DarkCMD creado por DARKFIRE
  3. Procesador rapido
  4. v0.3
  5. */
  6.  
  7. #include <a_samp>
  8.  
  9. native DRcon(command[]);
  10.  
  11. stock RestartServer()
  12. {
  13. DRcon(gmx);
  14. return 1;
  15. }
  16.  
  17. #if defined _dcmd_included
  18.     #endinput
  19. #endif
  20. #define _dcmd_included
  21.  
  22. #define MAX_FUNC_NAME (32)
  23.  
  24. #define DCOMMAND:%1(%2)  forward cmd_%1(%2); \
  25.             public cmd_%1(%2)
  26.  
  27.  
  28. #define DCMD:%1(%2) \
  29.             DCOMMAND:%1(%2)
  30.  
  31. #define dcommand(%1,%2,%3) \
  32.             DCOMMAND:%1(%2, %3)
  33.  
  34. #define dcmd(%1,%2,%3) \
  35.             DCOMMAND:%1(%2, %3)
  36.  
  37.  
  38.  
  39. forward OnPlayerCommandReceived(playerid, cmdtext[]);
  40. forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  41.  
  42.  
  43. static
  44.     bool:dcmd_g_HasOPCS = false,
  45.     bool:dcmd_g_HasOPCE = false;
  46.  
  47. #if defined FILTERSCRIPT
  48.  
  49. public OnFilterScriptInit()
  50. {
  51.     print("DarkCMD ----- CARGADO");
  52.     dcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  53.     dcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  54.     return CallLocalFunction("dcmd_OnFilterScriptInit", "");
  55. }
  56.  
  57. #if defined _ALS_OnFilterScriptInit
  58.     #undef OnFilterScriptInit
  59. #else
  60.     #define _ALS_OnFilterScriptInit
  61. #endif
  62. #define OnFilterScriptInit dcmd_OnFilterScriptInit
  63. forward dcmd_OnFilterScriptInit();
  64.  
  65. #else /*not a filterscript*/
  66.  
  67. public OnGameModeInit()
  68. {
  69.     dcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  70.     dcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  71.     if (funcidx("dcmd_OnGameModeInit") != -1)
  72.     {
  73.         return CallLocalFunction("dcmd_OnGameModeInit", "");
  74.     }
  75.     return 1;
  76. }
  77.  
  78. #if defined _ALS_OnGameModeInit
  79.     #undef OnGameModeInit
  80. #else
  81.     #define _ALS_OnGameModeInit
  82. #endif
  83. #define OnGameModeInit dcmd_OnGameModeInit
  84. forward dcmd_OnGameModeInit();
  85.  
  86. #endif
  87.  
  88. public OnPlayerCommandPerformed(playerid, cmdtext[])
  89. {
  90.     if (dcmd_g_HasOPCS && !CallLocalFunction("OnPlayerCommandReceived", "is", playerid, cmdtext))
  91.     {
  92.         return 1;
  93.     }
  94.     new
  95.         pos,
  96.         funcname[MAX_FUNC_NAME];
  97.     while (cmdtext[++pos] > ' ')
  98.     {
  99.         funcname[pos-1] = tolower(cmdtext[pos]);
  100.     }
  101.     format(funcname, sizeof(funcname), "cmd_%s", funcname);
  102.     while (cmdtext[pos] == ' ') pos++;
  103.     if (!cmdtext[pos])
  104.     {
  105.         if (dcmd_g_HasOPCE)
  106.         {
  107.             return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
  108.         }
  109.         return CallLocalFunction(funcname, "is", playerid, "\1");
  110.     }
  111.     if (dcmd_g_HasOPCE)
  112.     {
  113.         return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
  114.     }
  115.     return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
  116. }
  117.  
  118.         #if defined OnPlayerCommandReceived
  119.             forward OnPlayerCommandReceived(playerid, cmdtext[]);
  120.         #endif
  121.  
  122.         #if defined OnPlayerCommandPerformed
  123.             forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  124.         #endif
  125.  
  126. #if defined _ALS_OnPlayerCommandText
  127.     #undef OnPlayerCommandText
  128. #else
  129.     #define _ALS_OnPlayerCommandText
  130. #endif
  131. #define OnPlayerCommandText dcmd_OnPlayerCommandText
  132. forward dcmd_OnPlayerCommandText(playerid, cmdtext[]);
  133. #define callcmd::%0(%1) \
  134. pc_cmd_%0(%1)
  135.  
  136. #if !defined isnull
  137. #define isnull(%0) \
  138. ((!(%0[0])) || (((%0[0]) == '\1') && (!(%0[1]))))
  139. #endif
  140. /*
  141. DarkCMD creado por DARKFIRE
  142. Procesador rapido
  143. v0.3
  144. */
Add Comment
Please, Sign In to add comment