[FilterScript] Jnr3 Anti Cheater/Bot
#1

Jnr3 Anti Cheater


Nessa primeira versгo os AntiCheaters sгo os mais simples porйm sгo os que faltam em muitos servidores por ai, deixando esses vulnerбveis a um espertinho que acabou de baixar um s0rvete. Nessa primeira versгo tem algumas proteзхes para os ataques mais comuns.

Um deles (Anti - Spawn Hacker) fiz pensando nos donos de servidores no estilo PPC_Trucking, pois esse tipo de hack flooda ( e laga ) o chat e o servidor, pois a OnPlayerSpawn desses servidores costumam ser grandes.

Estou desenvolvendo um Anti - Weapon Hack e Anti - Speed Hack, que estarгo na prуxima versгo.

Proteзхes
  • Bot
  • Fake Kill
  • Spawn Hacker*
* Essa proteзгo й mais direcionada para os servidores PPC_Trucking, mas servidores que possuem um OnPlayerSpawn grande eu recomendo!

Bugs


Nгo achei nenhum, caso ache me avise!

Download

Source: Pastebin

ChangeLog
  • Lanзamento: 15/09/2013
Reply
#2

Poderia ter usado o mesmo tуpico que esse: https://sampforum.blast.hk/showthread.php?tid=461860


Mesmo assim,
Parabйns ;d
Reply
#3

Sim, mas acontece que se eu usasse aquele tуpico nгo dб pra mudar o tнtulo, entгo quem veria nгo iria nem imaginar o que ele teria alйm dos Bots.

Obrigado
Reply
#4

cуdigo totalmente antigo para diversos hacks. , hoje os hacks jб estгo avanзados. irб ocorrer flood de mensagens ae , atй resultar no ban o xiter/hack jб zuou de mais no servidor.
Reply
#5

pawn Код:
stock Nome ( pid ) {
 
    new
        NameP [ MAX_PLAYER_NAME ]
    ;
 
    GetPlayerName ( pid , NameP , sizeof ( NameP ) ) ;
 
    return
        NameP
    ;
}
 
stock NomeBot ( playerid ) {
 
    if ( strfind ( Nome ( playerid ) , "[HAX]" , true) != -1 )
        return
            true
        ;
 
    return
        false
    ;
}
Enter e espaзo tem limite nй.
Reply
#6

Sу dois detalhes, use as funзхes sem colocar stock na frente.
use stock myfunc(){} em includes, й um padrгo em PAWN.

Outra coisa й sempre coloque as forward's abaixo das linhas de inclusгo de mуdulos .inc e acima de main() (OBS: Se for gamemode), caso seja um filterscript coloque o encaminhamento forward acima de
pawn Код:
forward myfunc(string[]);

public OnFilterScriptInit()
{
     if(strcmp(myfunc("test"), "test",true) ==0)
          return myfunc("ola agora");

     return 0;
}

myfunc(string[])
{
     print(#To com dor de dente);
     return string;
}
Reply
#7

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
pawn Код:
stock Nome ( pid ) {
 
    new
        NameP [ MAX_PLAYER_NAME ]
    ;
 
    GetPlayerName ( pid , NameP , sizeof ( NameP ) ) ;
 
    return
        NameP
    ;
}
 
stock NomeBot ( playerid ) {
 
    if ( strfind ( Nome ( playerid ) , "[HAX]" , true) != -1 )
        return
            true
        ;
 
    return
        false
    ;
}
Enter e espaзo tem limite nй.
KKK й que eu acostumei a codar assim... Mas creio que isso nгo interfere no cуdigo

EDIT

Quote:
Originally Posted by Schocc
Посмотреть сообщение
Sу dois detalhes, use as funзхes sem colocar stock na frente.
use stock myfunc(){} em includes, й um padrгo em PAWN.

Outra coisa й sempre coloque as forward's abaixo das linhas de inclusгo de mуdulos .inc e acima de main() (OBS: Se for gamemode), caso seja um filterscript coloque o encaminhamento forward acima de
pawn Код:
forward myfunc();

public OnFilterScriptInit()
{
     myfunc();
     return 1;
}

myfunc()
{
     print(#To com dor de dente);
}
Mas isso interfere no desempenho do script ou й apenas um 'acordo' ?
Reply
#8

Bom trabalho Juniiro3
Reply
#9

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Mas isso interfere no desempenho do script ou й apenas um 'acordo' ?
Desempenho sim, mas o ganho de velocidade й muito pequeno.

stock й recomendado pra funзхes que retornam mais de um valor como por exemplo GetPlayerPos.

Se vocк й como eu era, que usa stock ґso pra ficar bonitinho, use o exemplo abaixo, pois public й mais otimizado que stock:

pawn Код:
#define public:do:%0(%1) forward %0(%1);public %0(%1)

public:do:MinhaFuncao(playerid, valor[]){
    BanEx(playerid, valor);
    return 1;
}
O uso necessбrio de uma stock:

pawn Код:
stock MinhaStock(_str1[], _str2[]){
    _str1 = "Oie";
    _str2 = "Bye";
    return 1;
}

public OnGameModeInit(){
    new strin1[20], strin2[20];
    MinhaStock(strin1, strin2);
    printf("%s, agora %s", strin1, strin2);
}
Reply
#10

Quote:
Originally Posted by Kuddy
Посмотреть сообщение
Desempenho sim, mas o ganho de velocidade й muito pequeno.

stock й recomendado pra funзхes que retornam mais de um valor como por exemplo GetPlayerPos.

Se vocк й como eu era, que usa stock ґso pra ficar bonitinho, use o exemplo abaixo, pois public й mais otimizado que stock:

pawn Код:
#define public:do:%0(%1) forward %0(%1);public %0(%1)

public:do:MinhaFuncao(playerid, valor[]){
    BanEx(playerid, valor);
    return 1;
}
O uso necessбrio de uma stock:

pawn Код:
stock MinhaStock(_str1[], _str2[]){
    _str1 = "Oie";
    _str2 = "Bye";
    return 1;
}

public OnGameModeInit(){
    new strin1[20], strin2[20];
    MinhaStock(strin1, strin2);
    printf("%s, agora %s", strin1, strin2);
}
Nгo.


Quote:
Originally Posted by Schocc
Посмотреть сообщение
Sу dois detalhes, use as funзхes sem colocar stock na frente.
use stock myfunc(){} em includes, й um padrгo em PAWN.

Outra coisa й sempre coloque as forward's abaixo das linhas de inclusгo de mуdulos .inc e acima de main() (OBS: Se for gamemode), caso seja um filterscript coloque o encaminhamento forward acima de
pawn Код:
forward myfunc(string[]);

public OnFilterScriptInit()
{
     if(strcmp(myfunc("test"), "test",true) ==0)
          return myfunc("ola agora");

     return 0;
}

myfunc(string[])
{
     print(#To com dor de dente);
     return string;
}
Nгo necessariamente.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)