Advertisement
DarkFireYT

DarkCMD v0.3

Nov 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 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. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement