Advertisement
Guest User

ZCMD - SA-MP

a guest
Apr 25th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. /**********************************
  2. * *
  3. * @Author: ZeeX *
  4. * @Version: 0.3.1 *
  5. * @Released: 31/10/2009 *
  6. * *
  7. **********************************/
  8.  
  9. #if defined _zcmd_included
  10. #endinput
  11. #endif
  12. #define _zcmd_included
  13.  
  14. #define MAX_FUNC_NAME (32)
  15.  
  16. #define COMMAND:%1(%2) \
  17. forward cmd_%1(%2); \
  18. public cmd_%1(%2)
  19.  
  20. #define CMD:%1(%2) \
  21. COMMAND:%1(%2)
  22.  
  23. #define command(%1,%2,%3) \
  24. COMMAND:%1(%2, %3)
  25.  
  26. #define cmd(%1,%2,%3) \
  27. COMMAND:%1(%2, %3)
  28.  
  29. #if !defined isnull
  30. #define isnull(%1) \
  31. ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  32. #endif
  33.  
  34. forward OnPlayerCommandReceived(playerid, cmdtext[]);
  35. forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  36.  
  37.  
  38. static
  39. bool:zcmd_g_HasOPCS = false,
  40. bool:zcmd_g_HasOPCE = false;
  41.  
  42. #if defined FILTERSCRIPT
  43.  
  44. public OnFilterScriptInit()
  45. {
  46. zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  47. zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  48. if (funcidx("zcmd_OnFilterScriptInit") != -1)
  49. {
  50. return CallLocalFunction("zcmd_OnFilterScriptInit", "");
  51. }
  52. return 1;
  53. }
  54.  
  55. #if defined _ALS_OnFilterScriptInit
  56. #undef OnFilterScriptInit
  57. #else
  58. #define _ALS_OnFilterScriptInit
  59. #endif
  60. #define OnFilterScriptInit zcmd_OnFilterScriptInit
  61. forward zcmd_OnFilterScriptInit();
  62.  
  63. #else /*not a filterscript*/
  64.  
  65. public OnGameModeInit()
  66. {
  67. zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  68. zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  69. if (funcidx("zcmd_OnGameModeInit") != -1)
  70. {
  71. return CallLocalFunction("zcmd_OnGameModeInit", "");
  72. }
  73. return 1;
  74. }
  75.  
  76. #if defined _ALS_OnGameModeInit
  77. #undef OnGameModeInit
  78. #else
  79. #define _ALS_OnGameModeInit
  80. #endif
  81. #define OnGameModeInit zcmd_OnGameModeInit
  82. forward zcmd_OnGameModeInit();
  83.  
  84. #endif /*if defined FILTERSCRIPT*/
  85.  
  86. public OnPlayerCommandText(playerid, cmdtext[])
  87. {
  88. if (zcmd_g_HasOPCS && !CallLocalFunction("OnPlayerCommandReceived", "is", playerid, cmdtext))
  89. {
  90. return 1;
  91. }
  92. new
  93. pos,
  94. funcname[MAX_FUNC_NAME];
  95. while (cmdtext[++pos] > ' ')
  96. {
  97. funcname[pos-1] = tolower(cmdtext[pos]);
  98. }
  99. format(funcname, sizeof(funcname), "cmd_%s", funcname);
  100. while (cmdtext[pos] == ' ') pos++;
  101. if (!cmdtext[pos])
  102. {
  103. if (zcmd_g_HasOPCE)
  104. {
  105. return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
  106. }
  107. return CallLocalFunction(funcname, "is", playerid, "\1");
  108. }
  109. if (zcmd_g_HasOPCE)
  110. {
  111. return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
  112. }
  113. return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
  114. }
  115.  
  116. #if defined _ALS_OnPlayerCommandText
  117. #undef OnPlayerCommandText
  118. #else
  119. #define _ALS_OnPlayerCommandText
  120. #endif
  121. #define OnPlayerCommandText zcmd_OnPlayerCommandText
  122. forward zcmd_OnPlayerCommandText(playerid, cmdtext[]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement