[Pedido] Velocidade de arranque
#1

Pessoal, andei analisando alguns anti speed hack para colocar em meu servidor, e em todos que encontrei existe uma falha.
Se o cheater ficar ligando e desligando o speed ele fica dentro da velocidade, e o anti cheat nгo aciona.
Por isso eu pensei o seguinte:
Existe alguma forma de verificar se o veiculo atingiu certa velocidade de forma muito rбpida?
Reply
#2

Comparando a velocidade anterior com a velocidade atual e fazendo alguns cбlculos.
Esse й o mйtodo.
Reply
#3

Quote:
Originally Posted by ipsLuan
View Post
Comparando a velocidade anterior com a velocidade atual e fazendo alguns cбlculos.
Esse й o mйtodo.
Vocк tem conhecimento de alguma funзгo que eu possa usar pra fazer isso, sem ser por Timers?
Reply
#4

Aqui um exemplo:
PHP Code:
new pLastSpeed[MAX_PLAYERS];
//Use essa funзгo num timer de 1000ms
stock CheckSpeedHack(playerid)
{
    new 
speed GetPlayerSpeed2D(playeridtrue);
    if(
speed pLastSpeed[playerid] >= 110//adquiriu +110Km/h em 1 segundo
    
{
        
//speed hack
    
}
    
pLastSpeed[playerid] = speed;
    return 
1;
}
stock GetPlayerSpeed2D(playerid,bool:kmh)
{
    new 
Float:VxFloat:VyFloat:VzFloat:rtn;
    if(
IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid), VxVyVz); else GetPlayerVelocity(playerid,Vx,Vy,Vz);
    
rtn floatsqroot(Vx*Vx Vy*Vy);
    return 
kmh?floatround(rtn 100 1.63):floatround(rtn 100);

Reply
#5

Quote:
Originally Posted by MtPlayerZ
View Post
Vocк tem conhecimento de alguma funзгo que eu possa usar pra fazer isso, sem ser por Timers?
Tem que usar o timer pra comparar o antes e o depois.
Reply
#6

Quote:
Originally Posted by ipsLuan
View Post
Tem que usar o timer pra comparar o antes e o depois.
Os Timers lagam muito, ainda mais se colocados para os players.
Nгo teria alguma outra forma de colocar isso?
Reply
#7

Faзa um Timer global e utilize foreach ou for. Vocк pode fazer esse timer com 2 segundos ou 3, adicionando cerca de 80km a cada segundo.

Por exemplo: Se eu fizer um timer de 1s, devo subtrair a velocidade atual com a que foi pega a 1s atrбs e verificar se й maior que 80. Caso for um timer de 2s, a velocidade deve ser 160.

Nгo se preocupe, dessa forma nгo irб lagar, basta colocar exceзхes no timer (Como: O jogador deve estar em um veнculo, ou dirigindo um, o jogador nгo pode ser staff..)
Reply
#8

Quote:
Originally Posted by NWDMadara
View Post
Faзa um Timer global e utilize foreach ou for. Vocк pode fazer esse timer com 2 segundos ou 3, adicionando cerca de 80km a cada segundo.

Por exemplo: Se eu fizer um timer de 1s, devo subtrair a velocidade atual com a que foi pega a 1s atrбs e verificar se й maior que 80. Caso for um timer de 2s, a velocidade deve ser 160.

Nгo se preocupe, dessa forma nгo irб lagar, basta colocar exceзхes no timer (Como: O jogador deve estar em um veнculo, ou dirigindo um, o jogador nгo pode ser staff..)
Sу lembrando que vocк deve calibrar o sistema para evitar falsos-positivos (3seg й tempo demais).
E tambйm nгo tome aзхes radicais quando obter um resultado positivo (nгo de ban ou kick imediato), mande um aviso para os administradores online para que eles verifiquem se o meliante de fato estб usando o hack.
Reply
#9

Quote:
Originally Posted by MtPlayerZ
View Post
Os Timers lagam muito, ainda mais se colocados para os players.
Nгo teria alguma outra forma de colocar isso?
Onde vocк viu isso de que vai lagar um simples cуdigo? Faзa os testes de benchmark e tire suas prуprias conclusхes.

Hб duas opзхes.
Ou vocк usa o timer ou vocк vira mбgico.

Como vocк vai comparar a velocidade antes e depois sem o timer? Sу me responda isso.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)