Jnr3 Anti Cheater/Bot -
Juniiro3 - 15.09.2013
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
Re: Jnr3 Anti Cheater/Bot -
smiiir - 15.09.2013
Poderia ter usado o mesmo tуpico que esse:
https://sampforum.blast.hk/showthread.php?tid=461860
Mesmo assim,
Parabйns ;d
Re: Jnr3 Anti Cheater/Bot -
Juniiro3 - 15.09.2013
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
Re: Jnr3 Anti Cheater/Bot -
Blix - 15.09.2013
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.
Re: Jnr3 Anti Cheater/Bot -
Kuddy - 15.09.2013
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й.
Re: Jnr3 Anti Cheater/Bot -
Schocc - 15.09.2013
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;
}
Re: Jnr3 Anti Cheater/Bot -
Juniiro3 - 15.09.2013
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' ?
Re: Jnr3 Anti Cheater/Bot -
PT - 15.09.2013
Bom trabalho Juniiro3
Re: Jnr3 Anti Cheater/Bot -
Kuddy - 15.09.2013
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);
}
Re: Jnr3 Anti Cheater/Bot -
ipsBruno - 25.10.2013
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.