Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************************************\
- | |
- | [Include] - Processador de comandos |
- | By Jeffrey_Hatrix |
- | Special thanks to: SlashPT for speed ideas |
- | |
- \******************************************************************************/
- // JCMD Fast and simple, enjoy.
- #if !defined MAX_CMD_PARAMS
- #define MAX_CMD_PARAMS 256
- #endif
- #define newCmd:%1(%2) \
- forward @%1(%2); \
- public @%1(%2)
- #define newCommand:%1(%2) \
- newCmd:%1(%2)
- forward ProcessarComandos_Strcmp(playerid,cmdtext[]);
- static c_sys_cmd[MAX_CMD_PARAMS], c_sys_loop, call_index, inten;
- static
- bool:callback_strcmp = false
- ;
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- callback_strcmp = funcidx("ProcessarComandos_Strcmp") != -1;
- return CallLocalFunction("jcmd_OnFilterScriptInit", "");
- }
- #if defined _ALS_OnFilterScriptInit
- #undef OnFilterScriptInit
- #else
- #define _ALS_OnFilterScriptInit
- #endif
- #define OnFilterScriptInit jcmd_OnFilterScriptInit
- forward jcmd_OnFilterScriptInit();
- #else
- public OnGameModeInit()
- {
- callback_strcmp = funcidx("ProcessarComandos_Strcmp") != -1;
- if (funcidx("jcmd_OnGameModeInit") != -1)
- {
- return CallLocalFunction("jcmd_OnGameModeInit", "");
- }
- return 1;
- }
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit jcmd_OnGameModeInit
- forward jcmd_OnGameModeInit();
- #endif
- stock
- ProcessarComando_jCmd(playerid, cmdtext[])
- {
- c_sys_loop = strfind((cmdtext[0] = 0x40 ,cmdtext), "\x20");
- if(c_sys_loop != -1)
- {
- inten = c_sys_loop + 1;
- if(cmdtext[inten] == '\0')
- {
- cmdtext[c_sys_loop] = '\0';
- call_index = CallLocalFunction(cmdtext, "is", playerid, "\1");
- }
- else
- {
- strmid(c_sys_cmd, cmdtext, 0, MAX_CMD_PARAMS);
- c_sys_cmd[c_sys_loop] = '\0';
- if(cmdtext[inten] == 0x20)
- {
- for( ; cmdtext[inten] == 0x20 ; inten++) { }
- call_index = CallLocalFunction(c_sys_cmd, "is", playerid, cmdtext[inten]);
- }
- else
- {
- call_index = CallLocalFunction(c_sys_cmd, "is", playerid, cmdtext[inten]);
- }
- }
- }
- else
- {
- call_index = CallLocalFunction(cmdtext, "is", playerid, "\1");
- }
- if(callback_strcmp == true)
- {
- if(call_index == 0 || call_index == -1)
- {
- cmdtext[0] = '/';
- call_index = CallLocalFunction("ProcessarComandos_Strcmp", "is", playerid, cmdtext);
- return (call_index == -1) ? (0) : (call_index);
- }
- else
- {
- return 1;
- }
- }
- return (call_index == -1) ? (0) : (call_index);
- }
Advertisement
Add Comment
Please, Sign In to add comment