Advertisement
PedroRzX

Include RzCMD

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