Anti-Aimbot by ipsLeon -
n0minal - 20.04.2015
Publicaзгo
Bom, depois de um tempo sem desenvolver o Blackbox Anti-Cheater, decidi postar o source do meu anti-aimbot, o qual jб postei um vнdeo e tudo mais, acreidito que vai ajudar bastante gente. Vejo muitas pessoas me pedindo a proteзгo e atй querendo comprar, por isso resolvi postar pra que vocкs tenham capacidade suficiente de defenderem-se contra esse cheat ridнculo. Nгo peзo nenhuma recompensa em troca, apenas de que mantenha os crйditos da postagem caso vб postar em algum outro fуrum/blog.
Detecзгo e eficбcia
A forma de detecзгo й bem simples, ele checa primeiramente se o player estб mirando em outro player (nгo, nгo й sу TargetPlayer) na hora do tiro, e detecta tambйm a distвncia entre o player e a bala real que foi atirada, apуs isso, й feita a detecзгo de lag entre ambas as partes (atirador e alvo) e caso um deles esteja lagado, й enviada uma mensagem para todos os admins
logados na RCON (vocк pode facilmente modificar isso por si mesmo). As
balas com posiзхes invбlidas sгo canceladas independentemente do caso de lag ou hack (vocк tambйm pode modificar isso), e caso o player tenha mais de 10 warnings de aimbot sem lag ele й kickado do servidor.
Video
Bom, o video jб й meio antigo e fiz umas atualizaзхes no cуdigo depois disso, mas a base continua a mesma:
[ame]http://www.youtube.com/watch?v=7_bOLjRL6qE[/ame]
Download
http://pastebin.com/8Gmm0um9
/-/ fixado problema com loop e novo warning a cada tiro com suspeita de aimbot
/-/ removida a public OnPlayerDisconnect
Crйditos
- Kalcor pelo sa-mp
- niCe pelo script de vetores de cвmera
- ipsLeon pelo filterscript
-SkullFire (Gabriel Marques) por ser um fdptin's e ajudar a testar
Aproveitem, mantenham os cheaters fora de seus servidores, boa sorte
Re: Anti-Aimbot by ipsLeon - JkS - 20.04.2015
Nunca vi algo do gкnero, FODA.
Re: Anti-Aimbot by ipsLeon -
DiegoCosta - 20.04.2015
Obrigado, ipsLeon, jб salvei aqui e adicionei os crйditos na FS.
Assim que meu server estiver pronto adicionarei a info no comando /creditos do meu server
Re: Anti-Aimbot by ipsLeon -
ipsLuan - 20.04.2015
Muito bom.
E sobre o Blackbox, o projeto acabou ou vai continuar desenvolvendo?
Re: Anti-Aimbot by ipsLeon -
n0minal - 20.04.2015
Quote:
Originally Posted by Luan Argolo
Muito bom.
E sobre o Blackbox, o projeto acabou ou vai continuar desenvolvendo?
|
Acho que vou desenvolver o black box apenas pra uso pessoal, estou sem esperanзas de licenзas e outras coisas, basicamente vai ser a proteзгo do meu projeto apenas... Caso eu decida vender licenзas posteriormente eu decidirei quando o script tiver pronto e estбvel...
Re: Anti-Aimbot by ipsLeon -
Rodrigo_Avenged - 20.04.2015
Show!
Re: Anti-Aimbot by ipsLeon -
D3sconn3ct - 20.04.2015
Muito foda,
Obrigado por postar irar ser ъtil para crai!
Re: Anti-Aimbot by ipsLeon -
PT - 20.04.2015
Eu lembro de vocк me mostra esse cуdigo.
Bom trabalho Leo.
Re: Anti-Aimbot by ipsLeon -
n0minal - 20.04.2015
Obrigado galera, fico feliz de poder contribuir pra comunidade. Sobre a postagem anterior ela foi removida, eu estava logado com a conta antiga e postei nela sem querer. Espero que isso ajude bastante gente.
Re: Anti-Aimbot by ipsLeon -
WLSF - 21.04.2015
Parabйns cara, ficou bem interessante e bem legal essa sua decisгo de compartilhar com os demais.
Abraзos...
Re: Anti-Aimbot by ipsLeon -
n0minal - 21.04.2015
Quote:
Originally Posted by ipsNan
Parabйns cara, ficou bem interessante e bem legal essa sua decisгo de compartilhar com os demais.
Abraзos...
|
Obrigado, realmente este й um ponto que andei pensando muito ultimamente, visto que sa-mp й um mod bem antigo, repleto de contribuiзхes e pessoas precisando delas, por que nгo compartilhar? Nгo adiantaria eu guardar um script como esse que beneficiaria tanta gente, por isso decidi compartilhar... Acho que amadureci bastante nestes ultimos meses aqui no fуrum, contribuiзхes gigantescas como colAndreas que nгo seria levado а pъblico vai beneficiar praticamente qualquer servidor, isso me deu uma visгo melhor sobre o que devo privar ou nгo. Abraзos
Re: Anti-Aimbot by ipsLeon -
ProKillerpa - 21.04.2015
Уtimo
Re: Anti-Aimbot by ipsLeon -
n0minal - 21.04.2015
Quote:
Originally Posted by ProKillerpa
Уtimo
|
Obg
Re: Anti-Aimbot by ipsLeon -
SkullFire - 21.04.2015
Foda demais meu caro amigo nomenau,parabйns .
cade meus creditos por eu te ajudar a testar?fdptin\'s
Re: Anti-Aimbot by ipsLeon -
n0minal - 21.04.2015
Quote:
Originally Posted by SkullFire
Foda demais meu caro amigo nomenau,parabйns .
cade meus creditos por eu te ajudar a testar?fdptin\'s
|
Esqueci disso kkk vou adcionar.
Re: Anti-Aimbot by ipsLeon - JkS - 21.04.2015
Por que nгo posta na board inglesa tambйm?
Re: Anti-Aimbot by ipsLeon -
n0minal - 21.04.2015
Quote:
Originally Posted by JkS
Por que nгo posta na board inglesa tambйm?
|
Vou postar mais tarde quando eu estiver no PC
Re: Anti-Aimbot by ipsLeon -
JonathanFeitosa - 21.04.2015
Parabйns, bom trabalho. Deveria tentar(de novo) fazer para aqueles de mira fixa.
Re: Anti-Aimbot by ipsLeon -
n0minal - 21.04.2015
Quote:
Originally Posted by JonathanFeitosa
Parabйns, bom trabalho. Deveria tentar(de novo) fazer para aqueles de mira fixa.
|
Obrigado, preciso re-ver o conceito do cуdigo e melhorar o algorнtimo pra detecзгo, a ъltima vez que mexi no anti-aimlock nгo obtive bons resultados, mas em breve estarei re-fazendo, cуdigo antigo:
Code:
#define WEAPON_MODE_RELEASE 0
#define WEAPON_MODE_HOLD 1
#define WEAPON_MODE_AIM 2
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define RELEASED(%0) \
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
forward CheckAimLock(playerid);
enum TargetInfo
{
targetid,
Float:pos_x,
Float:pos_y,
Float:pos_z
}
new AimLockTarget[MAX_PLAYERS][TargetInfo];
new bool:IsPlayerAiming[MAX_PLAYERS];
new AimLockCheck[MAX_PLAYERS];
new AimAccuracy[MAX_PLAYERS];
GetPlayerSpeed(playerid)
{
new Float:vx, Float:vy, Float:vz;
GetPlayerVelocity(playerid, vx, vy, vz);
return floatsqroot(floatpower(vx, 2) + floatpower(vy, 2) + floatpower(vz, 2));
}
public OnPlayerConnect(playerid)
{
AimLockTarget[playerid][targetid] = -1;
AimLockTarget[playerid][pos_x] = -1.0;
AimLockTarget[playerid][pos_y] = -1.0;
AimLockTarget[playerid][pos_z] = -1.0;
IsPlayerAiming[playerid] = false;
AimAccuracy[playerid] = 0;
return 1;
}
public OnPlayerKeyStateChange(playerid, oldkeys, newkeys)
{
new weapon = GetPlayerWeapon(playerid);
if(RELEASED(KEY_AIM) && && IsPlayerAiming[playerid] && !IsPlayerInAnyVehicle(playerid))
{
IsPlayerAiming[playerid] = false;
OnPlayerAim(playerid, weapon, WEAPON_MODE_RELEASE);
return 1;
}
if(PRESSED(KEY_AIM) && !IsPlayerAiming[playerid] && !IsPlayerInAnyVehicle(playerid))//detect if player is holding aim
{
switch(weapon)
{
case 22..34, 38:
{
IsPlayerAiming[playerid] = true;
OnPlayerAim(playerid, weapon, WEAPON_MODE_HOLD);
}
}
return 1;
}
if(newkeys & KEY_AIM && !IsPlayerAiming[playerid] && !IsPlayerInAnyVehicle(playerid))//detect if player is holding aim
{
switch(weapon)
{
case 22..34, 38:
{
IsPlayerAiming[playerid] = true;
OnPlayerAim(playerid, weapon, WEAPON_MODE_AIM);
}
}
return 1;
}
return 1;
}
forward OnPlayerAim(playerid, &weapon, &mode);
public OnPlayerAim(playerid, &weapon, &mode)
{
if(!mode)
{
AimLockTarget[playerid][targetid] = -1;
AimLockTarget[playerid][pos_x] = -1.0;
AimLockTarget[playerid][pos_y] = -1.0;
AimLockTarget[playerid][pos_z] = -1.0;
return KillTimer(AimLockCheck[playerid]);
}
switch(weapon)
{
case 22..33:
{
AimLockCheck[playerid] = SetTimerEx("CheckAimlock", 100, true, "i", playerid);
}
}
return 1;
}
/*----------------> events <-------------------*/
public OnPlayerDeath(playerid, killerid, weapon)
{
return 1;
}
public OnPlayerDisconnect(playerid)
{
return 1;
}
/*---------------------------------------------*/
public CheckAimLock(playerid)
{
if(!IsPlayerAiming(playerid))
{
AimLockTarget[playerid][targetid] = -1;
AimLockTarget[playerid][pos_x] = -1.0;
AimLockTarget[playerid][pos_y] = -1.0;
AimLockTarget[playerid][pos_z] = -1.0;
return KillTimer(AimLockCheck[playerid]);
}
if(AimLockTarget[playerid][targetid] >= 0 && AimLockTarget[playerid][targetid] <= MAX_PLAYERS)
{
if(!IsPlayerAimingAtPlayer(playerid, AimLockTarget[playerid][targetid]))
{
AimLockTarget[playerid][targetid] = -1;
AimLockTarget[playerid][pos_x] = -1.0;
AimLockTarget[playerid][pos_y] = -1.0;
AimLockTarget[playerid][pos_z] = -1.0;
AimAccuracy[playerid] --;
}
}
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(playerid)) continue;
if(!IsPlayerInRangeOfPoint(playerid, 20.0, x, y, z)) continue;
new Float:tx, Float:ty, Float:tz;
GetPlayerPos(i, tx, ty, tz);
if(!IsPlayerAimingAtPlayer(playerid, i)) continue;
if(GetPlayerSpeed(i) < 0.1) return 1;
AimLockTarget[playerid][targetid] = i;
AimLockTarget[playerid][pos_x] = tx;
AimLockTarget[playerid][pos_y] = ty;
AimLockTarget[playerid][pos_z] = tz;
return AimAcuraccy[playerid] ++;
}
return 1;
}
Re: Anti-Aimbot by ipsLeon -
NikiFor - 21.04.2015
Uma dъvida meio estъpida.... No servidor normal, o player que eu (por exemplo) ataco, vai fazer isso q no vнdeo fez? (Tipo esse Zoom) Ou й do prуprio Hack?