Advertisement
Guest User

zcmd

a guest
May 5th, 2011
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 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.  
  35. forward OnPlayerCommandReceived(playerid, cmdtext[]);
  36. forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  37.  
  38.  
  39. static
  40. bool:zcmd_g_HasOPCS = false,
  41. bool:zcmd_g_HasOPCE = false;
  42.  
  43. #if defined FILTERSCRIPT
  44.  
  45. public OnFilterScriptInit()
  46. {
  47. zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  48. zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  49. return CallLocalFunction("zcmd_OnFilterScriptInit", "");
  50. }
  51.  
  52. #if defined _ALS_OnFilterScriptInit
  53. #undef OnFilterScriptInit
  54. #else
  55. #define _ALS_OnFilterScriptInit
  56. #endif
  57. #define OnFilterScriptInit zcmd_OnFilterScriptInit
  58. forward zcmd_OnFilterScriptInit();
  59.  
  60. #else /*not a filterscript*/
  61.  
  62. public OnGameModeInit()
  63. {
  64. zcmd_g_HasOPCS = funcidx("OnPlayerCommandReceived") != -1;
  65. zcmd_g_HasOPCE = funcidx("OnPlayerCommandPerformed") != -1;
  66. if (funcidx("zcmd_OnGameModeInit") != -1)
  67. {
  68. return CallLocalFunction("zcmd_OnGameModeInit", "");
  69. }
  70. return 1;
  71. }
  72.  
  73. #if defined _ALS_OnGameModeInit
  74. #undef OnGameModeInit
  75. #else
  76. #define _ALS_OnGameModeInit
  77. #endif
  78. #define OnGameModeInit zcmd_OnGameModeInit
  79. forward zcmd_OnGameModeInit();
  80.  
  81. #endif /*if defined FILTERSCRIPT*/
  82.  
  83. public OnPlayerCommandText(playerid, cmdtext[])
  84. {
  85. if (zcmd_g_HasOPCS && !CallLocalFunction("OnPlayerCommandReceived", "is", playerid, cmdtext))
  86. {
  87. return 1;
  88. }
  89. new
  90. pos,
  91. funcname[MAX_FUNC_NAME];
  92. while (cmdtext[++pos] > ' ')
  93. {
  94. funcname[pos-1] = tolower(cmdtext[pos]);
  95. }
  96. format(funcname, sizeof(funcname), "cmd_%s", funcname);
  97. while (cmdtext[pos] == ' ') pos++;
  98. if (!cmdtext[pos])
  99. {
  100. if (zcmd_g_HasOPCE)
  101. {
  102. return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1"));
  103. }
  104. return CallLocalFunction(funcname, "is", playerid, "\1");
  105. }
  106. if (zcmd_g_HasOPCE)
  107. {
  108. return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
  109. }
  110. return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
  111. }
  112.  
  113. #if defined _ALS_OnPlayerCommandText
  114. #undef OnPlayerCommandText
  115. #else
  116. #define _ALS_OnPlayerCommandText
  117. #endif
  118. #define OnPlayerCommandText zcmd_OnPlayerCommandText
  119. forward zcmd_OnPlayerCommandText(playerid, cmdtext[]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement