Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- bCMD - New Command Processor
- Creator: BlueX
- Version: 1.5
- Last Update: 30/07/2012
- */
- #if defined _bcmd_include
- #endinput
- #endif
- #define _bcmd_include
- #include <a_samp>
- #define bCMD[%1]-(%2)\
- forward bcmd_%1(%2);\
- public bcmd_%1(%2)
- #define bcmd:%1(%2) \
- bCMD[%1]-(%2)
- #if !defined isnull
- #define isnull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- #endif
- forward OnPlayerCallCommand(playerid,cmdtext[],sucess);
- forward bKey(playerid,_key[],cmdtext[]);
- const
- C_COMMAND_LEN = 32,
- C_KEY_LEN = 2,
- C_PARAMS_LEN = 255;
- public bKey(playerid,_key[],cmdtext[]){
- if(!strfind(cmdtext,_key,true))
- OnPlayerCommandText(playerid,cmdtext);
- return 0;
- }
- public OnPlayerCommandText(playerid,cmdtext[]){
- new _callback[C_COMMAND_LEN],_cmd[C_COMMAND_LEN],key[C_KEY_LEN],_params[C_PARAMS_LEN];
- strmid(key,cmdtext,0,1);
- for(new a; cmdtext[++a] > ' ';)
- _cmd[a-1] = tolower(cmdtext[a]);
- format(_callback,sizeof(_callback),"bcmd_%s",_cmd);
- if(funcidx(_callback) == -1)
- strins(_cmd,key,0,sizeof(_cmd)),CallLocalFunction("OnPlayerCallCommand","dsd",playerid,_cmd,0);
- else {
- strins(_cmd,key,0,sizeof(_cmd)),strmid(_params,cmdtext,0,255),strdel(_params,0,strfind(_params," ",false)+1);
- CallLocalFunction(_callback,"dds",playerid,!strcmp(_params,"help",false) || !strcmp(_params,"ajuda",false),_params[0] == cmdtext[0] ? ("\1") : (_params));
- CallLocalFunction("OnPlayerCallCommand","dsd",playerid,_cmd,1);
- }
- return 1;
- }
- #if defined _ALS_OnPlayerCommandText
- #undef OnPlayerCommandText
- #else
- #define _ALS_OnPlayerCommandText
- #endif
- #define OnPlayerCommandText bcmd_OnPlayerCommandText
- forward bcmd_OnPlayerCommandText(playerid, cmdtext[]);
Advertisement
Add Comment
Please, Sign In to add comment