Advertisement
LeonardoBradoks

Include ZCMD

Apr 5th, 2018
747
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.01 KB | None | 0 0
  1. /**********************************
  2.  *                                *
  3.  *   @Author:      ZeeX           *
  4.  *   @Version:     0.3.1          *
  5.  *   @Released:    31/10/2009     *
  6.  *                                *
  7.  **********************************/
  8.  
  9. #include <a_samp>
  10.  
  11. #if defined _zcmd_included
  12.     #endinput
  13. #endif
  14. #define _zcmd_included
  15.  
  16. #define MAX_FUNC_NAME (32)
  17.  
  18. #define COMMAND:%1(%2)          \
  19.             forward cmd_%1(%2); \
  20.             public cmd_%1(%2)
  21.  
  22. #define CMD:%1(%2) \
  23.             COMMAND:%1(%2)
  24.  
  25. #define command(%1,%2,%3) \
  26.             COMMAND:%1(%2, %3)
  27.  
  28. #define cmd(%1,%2,%3) \
  29.             COMMAND:%1(%2, %3)
  30.  
  31. #if !defined isnull
  32.     #define isnull(%1) \
  33.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  34. #endif
  35.  
  36.  
  37. forward OnPlayerCommandReceived(playerid, cmdtext[]);
  38. forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  39.  
  40.  
  41. static
  42.     bool:zcmd_g_HasOPCS = false,
  43.     bool:zcmd_g_HasOPCE = false;
  44.  
  45. #if defined FILTERSCRIPT
  46.  
  47. public OnFilterScriptInit()
  48. {
  49.     zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  50.     zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  51.     return CallLocalFunction("zcmd_OnFilterScriptInit", "");
  52. }
  53.  
  54. #if defined _ALS_OnFilterScriptInit
  55.    #undef OnFilterScriptInit
  56. #else
  57.    #define _ALS_OnFilterScriptInit
  58. #endif
  59. forward zcmd_OnFilterScriptInit();
  60. #define OnFilterScriptInit zcmd_OnFilterScriptInit
  61.  
  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