- Código:
/*
| FilterScript Feito Oficalmente para a SSGamers |
| Date: 16/06/2016 - Ultimo update |
| Comando para bloquear comandos, via In-Game. |
. . , ,
|` \/ \/ \,',
; ` \/\,.
: ` \,/
| /
; :
: ;
| ,---. /
: ,' `,-._ \
; ( o \ `'
_: . ,' o ;
/,.` `.__,'`-.__,
\_ _ \
,' / `, `.,'
___,'`-._ \_/ `,._ ;
__;_,' `-.`-'./ `--.____)
,-' _,--\^-'
,:_____ ,-' \
(,' `--. \;-._ ;
: Y `-/ `, :
: : : /_;'
: : | :
\ \ : :
`-._ `-.__, \ `.
\ \ `. \ `.
,-; \---)_\ ,','/
\_ `---'--'" ,'^-;'
(_` ---'" ,-')
/ `--.__,. ,-' \
)-.__,-- ||___,--' `-.
/._______,|__________,'\
`--.____,'|_________,-'
____ __ ___ _
| __ ) _ _ \ \ / (_) ___| |_ ___ _ __
| _ \| | | | \ \ / /| |/ __| __/ _ \| '__|
| |_) | |_| | \ V / | | (__| || (_) | |
|____/ \__, | \_/ |_|\___|\__\___/|_|
|___/
----------------------------------------------------------------------------------------*/
//-------------------------------| BLOQUEAR CMD'S |-------------------------------
#define max_lines_cache (999) // Máximo de variáveis STR.
#define max_dep_memory (256) // Máximo de caracteres em cada VAR.
//stock bufferStrings[max_lines_file][max_dep_memory];
stock bufferStrings[max_lines_cache][max_dep_memory];
stock sizeMemory = 0;
#define stringSet(%0,%1) format(bufferStrings[(setproperty(0, .name=%0, .value=( existproperty(0, %0) ) ? getproperty(0,%0) : ++sizeMemory),sizeMemory)], max_dep_memory, %1)
#define stringGet(%0) bufferStrings[getproperty(0,%0)]
#define varGet(%0) getproperty(0,%0)
#define varSet(%0,%1) setproperty(0, %0, %1)
#define floatSet(%0,%1) varSet(%0,_:%1)
#define floatGet(%0) float:varGet(%0)
#define boolSet(%0,%1) varSet(%0,_:%1)
#define boolGet(%0) bool:varGet(%0)
//----------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
cmd = strtok(cmdtext, idx);
static
intBuffer,
strBuffer[128]
;
if((intBuffer = strfind(cmdtext, " ", true)) != -1)
{
format(strBuffer, 128, cmdtext[intBuffer]);
if(varGet(strBuffer) == 1)
{
return SendClientMessage(playerid, 0xE31919FF, "|ERRO| ->{FFFFFF} ALGUM ADMINISTRADOR {E31919}'BLOQUEOU' {FFFFFF}ESTE COMANDO!"), true;
}
}
else {
if(varGet(cmdtext) == 1)
{
return SendClientMessage(playerid, 0xE31919FF, "|ERRO| ->{FFFFFF} ALGUM ADMINISTRADOR {E31919}'BLOQUEOU' {FFFFFF}ESTE COMANDO!"), true;
}
}
if(!strcmp(cmdtext, "/bloquearcmd ", true, 13))
{
if (PlayerInfo[playerid][pAdmin] >= 1339)
{
if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != 3000)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Você não está trabalhando! {E31919}(/trabalhar)");
return 1;
}
format(cmdtext, 128, cmdtext[13]);
if(!strcmp(cmdtext, "/bloquearcmd", true, 12))
{
return SendClientMessage(playerid, 0xE31919FF, "|ERRO| ->{FFFFFF} Você não pode {E31919}'Bloquear' {FFFFFF}esse comando!");
}
if(cmdtext[0] != '/' || !cmdtext[1])
{
return SendClientMessage(playerid, 0xE31919FF, "|ERRO| ->{FFFFFF} Isso não é um comando!");
}
printf("Comando %s bloqueado", cmdtext);
SendClientMessage(playerid, COLOR_WHITE, "Comando {E31919}'Bloqueado' {FFFFFF}com sucesso!");
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "| BLOCK | -> {FFFFFF}%s bloqueou o comando [%s]!", sendername, cmdtext);
SendClientMessageToAll(0xE31919FF, string);
return varSet(cmdtext, 1), true;
}
return 0;
}
Criação do comando /bloquearcmd:
Utilização: Em caso de abuso de algum comando bugado, Administradores 1339 + podem desativar um determinado comando, enquanto ele não é retirado da GM (Lembrando, caso de GMX e o comando não seja retirado, ele voltará a funcionar, terá que aplicar o /bloquearcmd novamente)
Exemplo: /bloquearcomando /comando ( /bloquearcomando /stopani )