DarkFireYT

DarkCMD v0.5

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