SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 07/05/2011, 05:33 PM   #1
Shadoww5
High-roller
 
Join Date: Apr 2011
Posts: 2,199
Reputation: 63
Default Anti-ESC

ANTI-ESC

Desenvolvido por Shadoww5

Descrição:

Notei que aqui no sub-forum Portugues não há topicos bem feitos com um sistema anti-esc. Alem disso, os que encontrei eram em outra lingua e com dcmd.

Então resolvi criar um FILTERSCRIPT para quem quiser implantar o comando "/esc" no se GAMEMODE.

Este é o meu primeiro filterscript, caso tenha algo errado peço que me mostrem como e o que consertar.

Quando você fizer o download (ou pegar do pastebin), peço que leia o arquivo "LEIA-ME.txt" que está na pasta principal. Lá está tudo bem explicado.

Qualquer duvida, estou à disposição.

Screenshot:

http://imageshack.us/photo/my-images...713274969.jpg/

Download:
Código:

PHP Code:
/*                  NÃO RETIRE OS CREDITOS !!
                NÃO RETIRE OS CREDITOS !!

                        SISTEMA ANTI-ESC

    CREDITOS:

 | Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5  |
 | hadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 S |
 | adoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Sh |
 | doww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Sha |
 | oww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shad |
 | ww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shado |
 | w5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadow |
 | 5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww |
 |  Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 Shadoww5 |

                    http://forum.sa-mp.com/member.php?u=123990                        */
#define FILTERSCRIPT

#include <a_samp>

forward AntiEsc(pIDFloat:XFloat:YFloat:Z);

public 
OnFilterScriptInit()
{
    print(
"--------------------------------------");
    print(
"     ANTI-ESC CARREGADO COM SUCESSO");
    print(
"           Criado por Shadoww5");
    print(
"--------------------------------------\n");
    return 
1;
}

public 
OnFilterScriptExit()
{
    print(
"--------------------------------------");
    print(
"         ANTI-ESC DESCARREGADO");
    print(
"          Criado por Shadoww5");
    print(
"--------------------------------------\n");
    return 
1;
}
public 
OnPlayerConnect(playerid) return SendClientMessage(playerid,0xFFFF00FF," Este servidor usa o Sistema ANTI-ESC - Desenvolvido por Shadoww5");

public 
OnPlayerCommandText(playeridcmdtext[])
{
    new 
cmd[256], idx;
    
cmd strtok(cmdtextidx);
    if(
strcmp(cmd"/esc"true) == 0)
    {
        new 
id[256], acusadoFloat:Pos[3];
        if(
GetTickCount() - GetPVarInt(playerid"Tick") < 120000) return SendClientMessage(playerid0xFFFFFFAA" Aguarde 2 minutos para acusar outra pessoa novamente !");
        
id strtok(cmdtext,idx);
        if(!
strlen(id)) return SendClientMessage(playerid0xFFFFFFFF"USO: /esc [playerid/Parte-do-Nick]");
        
acusado strval(id);
        if(!
IsPlayerConnected(acusado)) return SendClientMessage(playerid0xFFFFFFAA" O jogador está OFFLINE.");
        
GetPlayerPos(acusadoPos[0], Pos[1], Pos[2]);
        if(!
IsPlayerInRangeOfPoint(playerid5.0Pos[0], Pos[1], Pos[2])) return SendClientMessage(playerid0xFFFFFFAA" Você está longe do acusado !");
        
SendClientMessage(playerid0xAFAFAFAA" Você acusou alguem de estar de ESC");
        
SendClientMessage(acusado0xFFFF00FF" Você foi acusado de estar de ESC. Mova-se ou será kickado !");
        
SetPVarInt(playerid"Tick"GetTickCount());
        
SetTimerEx("AntiEsc"5000false"dfff"acusadoPos[0], Pos[1], Pos[2]);
        return 
1;
    }
    return 
0;
}
public 
AntiEsc(pIDFloat:XFloat:YFloat:Z)
{
    new 
Float:Pos[3], nome[MAX_PLAYER_NAME];
    
GetPlayerPos(pIDPos[0], Pos[1], Pos[2]);
    
GetPlayerName(pID,nome,sizeof(nome));
    if(
Pos[0] == && Pos[1] == && Pos[2] == Z)
    {
        new 
string[75];
        
SendClientMessage(pID,0xFF0000FF" Você foi kickado por estar de ESC !");
        
Kick(pID);
        
format(string,sizeof(string)," %s foi kickado por ESC/RT !"nome);
        
SendClientMessageToAll(0x04D62EFFstring);
    }
    else { 
SendClientMessage(pID,0xFFFF00FF" Você se moveu e por isso não será kickado."); }
    return 
1;
}
strtok(const string[], &index)
{
    new 
length strlen(string);
    while ((
index length) && (string[index] <= ' '))
    {
        
index++;
    }

    new 
offset index;
    new 
result[20];
    while ((
index length) && (string[index] > ' ') && ((index offset) < (sizeof(result) - 1)))
    {
        
result[index offset] = string[index];
        
index++;
    }
    
result[index offset] = EOS;
    return 
result;

OBS: Os codigos e links foram atualizados no dia 25/06/2011.

Last edited by Shadoww5; 26/06/2011 at 03:49 AM.
Shadoww5 is offline   Reply With Quote
Old 07/05/2011, 05:45 PM   #2
TheGarfield
Banned
 
Join Date: Jul 2010
Location: -_-
Posts: 649
Reputation: 11
Default Re: Anti-ESC

bom, podias usar boorleanas para nom disperdiçar variáveis(variações da variável que ficam variando xD)

gostei
TheGarfield is offline   Reply With Quote
Old 07/05/2011, 05:49 PM   #3
Shadoww5
High-roller
 
Join Date: Apr 2011
Posts: 2,199
Reputation: 63
Default Re: Anti-ESC

Ok, mas de que forma eu usaria a bool ? Em qual função ? (Sei fazer mas não pensei nisto).
Shadoww5 is offline   Reply With Quote
Old 07/05/2011, 05:54 PM   #4
[S]trong
Guest
 
Posts: n/a
Default Re: Anti-ESC

Você não precisa usar um timer para fazer o "antiflood". E cara por favor né, isso é só um comando não precisava de uma filterscript podia ser um código útil.
  Reply With Quote
Old 07/05/2011, 06:01 PM   #5
Shadoww5
High-roller
 
Join Date: Apr 2011
Posts: 2,199
Reputation: 63
Default Re: Anti-ESC

1 - Nem todo mundo sabe implantar codigos no script ou você que todos já nasceram sabendo mexer com PAWNO ?

2 - Coloquei um SetTimer, porque o jogador acusado deve ter um tempo para se mover.
Shadoww5 is offline   Reply With Quote
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
Old 07/05/2011, 06:28 PM   #7
Shadoww5
High-roller
 
Join Date: Apr 2011
Posts: 2,199
Reputation: 63
Default Re: Anti-ESC

Está correto o filterscript, caso alguem tenha 15 filterscripts é problema dele, é ele quem tem que aprender, agora, caso você não saiba ou não tenha prestado atenção, estou tentando aprender e compartilhar isto com os outros.

Odeio que não ajuda e só faz reclamar ... Deu alguma solução ? Não ! Então fica quieto mano ! É só isso que eu te peço: Clica no logout.
Shadoww5 is offline   Reply With Quote
Old 07/05/2011, 06:32 PM   #8
[S]trong
Guest
 
Posts: n/a
Default Re: Anti-ESC

Você querendo ou não isso nunca vai ser uma filterscript meu amigo, isso é mais um código que deveria ser útil mas no final é totalmente inútil e você não tem a mínima noção do que está fazendo é só um editor de GF atoa, só de passagem achei mais de três erros no código inteiro e nem estou falando da forma que você mata o seu gm e sim dos erros mesmo.
  Reply With Quote
Old 07/05/2011, 06:36 PM   #9
Shadoww5
High-roller
 
Join Date: Apr 2011
Posts: 2,199
Reputation: 63
Default Re: Anti-ESC

Hm .. que bom ... Leu a minha ultima frase no meu ultimo post ? Não ? Leia então ...

@EDIT

Neste seu ultimo post você só fez copiar e modificar algumas coisas de um outro ANTI-ESC. Eu ja vi ele .. Por isto criei este filterscript.
Shadoww5 is offline   Reply With Quote
Old 07/05/2011, 06:41 PM   #10
[S]trong
Guest
 
Posts: n/a
Default Re: Anti-ESC

Não preciso editar ou copiar códigos, uso os meus próprios e não preciso editar godfathers e retirar os créditos dos outros meu amigo está é a forma certa e otimizada e isso é um código útil diferente do seu.
  Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] [FS]Zadmin2.0|Admin System + Anticheat + Anti-flood + Anti high ping [ZFM]Zuc Filterscripts 32 18/06/2012 06:29 PM
[FilterScript] [K.A.S] Knight's Anti Cheat (Anti: Armas, Spam, DB, MaxPing, Palavrões, Money Hack) The Knight Lançamentos/Releases 5 05/05/2011 04:41 AM
[DUV] Como criar um Anti-MoneyHack, e Anti-Airbreak [NWD]Tweener_ Português/Portuguese 21 26/11/2010 04:45 PM


All times are GMT. The time now is 02:01 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.