Thread: [FilterScript] Anti-ESC
View Single Post
Old 07/05/2011, 06:04 PM   #6
[S]trong
Guest
 
Posts: n/a
Default Re: Anti-ESC

essa não é a questão e sim que uma filterscript deveria ser usado para casos realmente necessários exemplo um admin system e não somente um comando, e também cara o limite de filterscripts é 16 ou seja é muito limitado e como falei não existe necessidade de usar o timer para verificar o tempo que ele usou o comando, eu estou falando do timer de verificar os dois minutos para usar o comando meu amigo e não o do jogador, existe outras maneiras de verificar com tempos e também como você está verificando o tempo não precisaria nem de váriaveis, estude aprenda e faça da forma certa, afinal timers lagam o servidor.

edit: você poderia ter feito destá forma.

pawn Code:
static IsFlooding[MAX_PLAYERS];
CMD:esc(playerid,params[])
{
    if (sscanf(params,"u",params[0])) {
        return SendClientMessage(playerid,0xFFFFFFFF,"-ServerError- /esc <playerid> exemplo, /esc 20");
    }
    else if(GetTickCount() - IsFlooding[playerid] < 120000) {
        return SendClientMessage(playerid,0xFFFFFFFF,"Você precisa aguardar dois minutos para usar este comando novamente.");
    }
    else if (!IsPlayerConnected(params[0])) {
        return SendClientMessage(playerid,0xFFFFFFFF,"-ServerError- jogador não conectádo.");
    }
    else {
        static Float:Float[3];
        GetPlayerPos(params[0],Float[0],Float[1],Float[2]);
        SetTimerEx("CheckEsc",5000,false,"dfff",params[0],Float[0],Float[1],Float[2]);
        IsFlooding[playerid] = GetTickCount();
    }
    return true;
}


forward CheckEsc(playerid,Float:Cordx,Float:Cordy,Float:Cordz);
public CheckEsc(playerid,Float:Cordx,Float:Cordy,Float:Cordz)
{
    static Float:Coords[3];
    GetPlayerPos(playerid,Coords[0],Coords[1],Coords[2]);
    if(Coords[0] == Cordx && Coords[1] == Cordy && Coords[2] == Cordz) {
        SendClientMessage(playerid,0xFFFFFFFF,"Você foi kickado por não se mover.");
        Kick(playerid);
    }
    else {
        SendClientMessage(playerid,0xFFFFFFFF,"Você se moveu e o processo foi cancelado.");
    }
    return true;
}
intendeu agora o que eu estou falando? Intendeu o tanto de váriaveis que eu economizei? bom pense nisso cara.

Last edited by [S]trong; 16/05/2011 at 06:29 PM.
  Reply With Quote