Thread: [FilterScript] Anti-ESC
View Single Post
Old 07/05/2011, 08:40 PM   #14
TheGarfield
Banned
 
Join Date: Jul 2010
Location: -_-
Posts: 649
Reputation: 11
Default Re: Anti-ESC

Quote:
Originally Posted by [S]trong View Post
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 Flood[MAX_PLAYERS];
CMD:esc(playerid,params[])
{
    if (sscanf(params,"u",params[0])) {
        return SendClientMessage(playerid,0xFFFFFFFF,"-ServerError- /esc <playerid> exemplo, /esc 20");
    }
    else if (AntiFlood(playerid)) {
        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,"dff",params[0],Float[0],Float[1]);
        Flood[playerid] = GetTickCount();
    }
    return true;
}

pawn Code:
forward CheckEsc(playerid,Float:Cordx,Float:Cordy);
public CheckEsc(playerid,Float:Cordx,Float:Cordy)
{
    static Float:Coords[3]
    GetPlayerPos(playerid,Coords[0],Coords[1],Coords[2]);
    if(Coords[0] == Cordx && Coords[1] == Cordy) {
        SendClientMessage(playerid,0xFFFFFFFF,"Você foi kickado por não se mover.");
    }
    else {
        SendClientMessage(playerid,0xFFFFFFFF,"Você se moveu e o processo foi cancelado.");
    }
    return true;
}

stock AntiFlood(playerid)
{
   if(Flood[playerid] < 120000 - GetTickCount()) {
      return true;
   }
   return false;
}

intendeu agora o que eu estou falando? Intendeu o tanto de váriaveis que eu economizei? bom pense nisso cara.
WFT ?!
todo o tópico serve para dar opiniões,
mais o Shadoww5 está aprendendo e está compartilhando oque sabe para outros que não saber aprender também.

se queres humilhar tanto os outros pelo menos crie um código que funcione, seu code fala que foi kickado, mais cadê a função ?

pawn Code:
new
    Flood[MAX_PLAYERS]; // static  no topo é mesma coisa que 'new'
    Float:Float[3],
;

CMD:esc(playerid,params[])
{
    if(sscanf(params,"u",params[0]))
        return SendClientMessage(playerid,0xFFFFFFFF,"-ServerError- /esc <playerid/nome> exemplo, /esc 20"),0xA-10;

    if(GetTickCount() < Flood[playerid])
        return SendClientMessage(playerid,0xFFFFFFFF,"Você precisa aguardar dois minutos para usar este comando novamente."),0xA-10;
       
    if(!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid,0xFFFFFFFF,"-ServerError- jogador não conectádo.");
    SetTimerEx("CheckEsc",0x1133,false,"d");
    Flood[playerid] = GetTickCount();
    return 0xF;
}

forward CheckEsc(playerid);
public CheckEsc(playerid);
{
    static Float:g[3];
    GetPlayerPos(playerid,g[0], g[1], g[2);
    if(g[0] != Float[0] || g[1] != Float[1] || g[2] != Float[2])
        return SendClientMessage(playerid,0xFFFFFFFF,"Você foi kickado por não se mover."), Kick(playerid), 0xA-10;
    return SendClientMessage(playerid,0xFFFFFFFF,"Você se moveu e o processo foi cancelado."),0xA-9;
}

meu código além de ser mais melhor que o do strong ele returna corretamente e também KICKA
(este código não é para humilhar ninguém, só apenas dizer que não é somente o strong que entende do assunto.


Quote:
Originally Posted by [S]trong View Post
ao pensamento de pessoas limitadas sim. mas é claro nem vou mais discutir com você até agora não levou a nada e você não aceita estar errado mesmo sabendo que está.
humildade aqui ta foda
TheGarfield is offline   Reply With Quote