BlueX

bCMD v1.8

Dec 17th, 2012
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.58 KB | None | 0 0
  1. /*
  2.     bCMD - New Command Processor
  3.         Creator: BlueX
  4.         Version: 1.8
  5.         Last Update: 17/12/2012
  6. */
  7. #if defined _bcmd_include
  8.     #endinput
  9. #endif
  10. #define _bcmd_include
  11. #include <a_samp>
  12.  
  13. #define bCMD[%0]>(%1:%2:%3)\
  14.     forward bcmd_%0(%1,%2,%3);\
  15.     public bcmd_%0(%1,%2,%3)
  16.    
  17. #define CMD::%0(%1,%2,%3)\
  18.     bCMD[%0]>(%1:%2:%3)
  19.    
  20. #define cmd(%0:%1,%2,%3)\
  21.     bCMD[%0]>(%1:%2:%3)
  22.  
  23. #if !defined isnull
  24.     #define isnull(%1) \
  25.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  26. #endif
  27.  
  28. forward OnPlayerCallCommand(playerid,cmdtext[],sucess);
  29. const
  30.     C_COMMAND_LEN = 32,
  31.     C_KEY_LEN = 2,
  32.     C_PARAMS_LEN = 255;
  33.  
  34. public OnPlayerCommandText(playerid,cmdtext[]){
  35.     new key1[C_KEY_LEN],params1[C_PARAMS_LEN] = "\1",callback1[32] = "bcmd_";
  36.     strmid(key1,cmdtext,0,1),strdel(cmdtext,0,1);
  37.     if(strfind(cmdtext," ") != -1) strmid(params1,cmdtext,strfind(cmdtext," ")+1,255),strdel(cmdtext,strfind(cmdtext," "),255);
  38.     strins(callback1,cmdtext,5);
  39.     if(funcidx(callback1) == -1)
  40.         strins(cmdtext,key1,0,32),CallLocalFunction("OnPlayerCallCommand","dsd",playerid,cmdtext,0);
  41.     else {
  42.         CallLocalFunction(callback1,"dsd",playerid,isnull(params1) ? ("\1") : (params1),!strcmp(params1,"help",false) || !strcmp(params1,"ajuda",false));
  43.         strins(cmdtext,key1,0,32),CallLocalFunction("OnPlayerCallCommand","dsd",playerid,cmdtext,1);
  44.     }
  45.     return 1;
  46. }
  47.  
  48. #if defined _ALS_OnPlayerCommandText
  49.     #undef OnPlayerCommandText
  50. #else
  51.     #define _ALS_OnPlayerCommandText
  52. #endif
  53. #define OnPlayerCommandText bcmd_OnPlayerCommandText
  54. forward bcmd_OnPlayerCommandText(playerid, cmdtext[]);
Advertisement
Add Comment
Please, Sign In to add comment