SA-MP Forums Archive
Weapon detection - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Weapon detection (/showthread.php?tid=338879)



Weapon detection - Bogdan1992 - 01.05.2012

Hello,

I don't how but a guy with cheats can spawn sniper rifle without getting detected by anti-cheat.

This is my anti-cheat.

pawn Код:
public OnWeaponCheck(){ // Timer is set to 1 sec to check if someone has spawned some weps.
    new string[128], Ip[16], gun_name[30], day, month, year, query[200];
    foreach(Player, i){
        if(PlayerInfo[i][pLogged] != -1){
            if(PlayerInfo[i][pSpawned] != -1){
                GetPlayerName(i, pname, sizeof(pname));
                GetPlayerIp(i, Ip, sizeof(Ip));
                if(GetPlayerWeapon(i) >= 1 && GetPlayerWeapon(i) <= 45){
                GetWeaponName(GetPlayerWeapon(i), gun_name, sizeof(gun_name));
                format(string, sizeof(string), "Admin-Log: %s has been banned for weapon hack (Wep:%s)(%s).", pname, gun_name, Ip);
                SendAdminMessage(COLOR_RED, string);
                getdate(year, month, day);
                format(string, sizeof(string), "%02d/%02d/%d", day, month, year);
                format(query, sizeof(query), "INSERT INTO `player_ban` (`name` ,`banned_by` ,`time` , `date` ,`reason` ,`ip`) VALUES ('%s', 'Steve', %i, '%s', 'WEAPON HACK: %s', '%s')", pname, gettime(), string, gun_name, Ip);
                mysql_query(query);
                SendClientMessage(i, COLOR_GREY, "You are banned from this server for 'weapon hacking'.");
                TogglePlayerControllable(i,0);
                Kick(i);
                }
            }
        }
    }
    return 1;
}
It's kind of impossible to evade from weapon detection right?

Also this thing doesn't happen only on my server...


Re: Weapon detection - Bogdan1992 - 01.05.2012

Its hard to read this?

pawn Код:
if(GetPlayerWeapon(i) >= 1 && GetPlayerWeapon(i) <= 45)
Man, then you have a problem.


Re: Weapon detection - MP2 - 01.05.2012

I have a problem reading the indention because it's all over the place is the horrible style that, for some reason unbeknown to be, people decide to use.

That code doesn't make sense anyway, it bans them if they have ANY weapon. Do you not allow weapons on your server or something?


Re: Weapon detection - Bogdan1992 - 01.05.2012

Yes i don't allow weapons on my server.

EDIT: Anti-cheat works fine but that guy can evade it only with sniper rifle and i don't know how...


Re: Weapon detection - Pinguinn - 01.05.2012

I don't see what the problem with this code is, but a way to stop him from using it is to use the callback OnPlayerKeyStateChange

pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    new string[128], Ip[16], gun_name[30], day, month, year, query[200];
    if((newkeys & (KEY_FIRE) == KEY_FIRE) && (oldkeys & (KEY_FIRE) != KEY_FIRE)) {
        if(GetPlayerWeapon(playerid) >= 1 && GetPlayerWeapon(playerid) <= 45) {
            GetPlayerName(playerid, pname, sizeof(pname));
            GetPlayerIp(playerid, Ip, sizeof(Ip));
            GetWeaponName(GetPlayerWeapon(playerid), gun_name, sizeof(gun_name));
            format(string, sizeof(string), "Admin-Log: %s has been banned for weapon hack (Wep:%s)(%s).", pname, gun_name, Ip);
            SendAdminMessage(COLOR_RED, string);
            getdate(year, month, day);
            format(string, sizeof(string), "%02d/%02d/%d", day, month, year);
            format(query, sizeof(query), "INSERT INTO `player_ban` (`name` ,`banned_by` ,`time` , `date` ,`reason` ,`ip`) VALUES ('%s', 'Steve', %i, '%s', 'WEAPON HACK: %s', '%s')", pname, gettime(), string, gun_name, Ip);
            mysql_query(query);
            SendClientMessage(i, COLOR_GREY, "You are banned from this server for 'weapon hacking'.");
            TogglePlayerControllable(playerid,0);
            Kick(playerid);
        }
    }
}



Re: Weapon detection - Bogdan1992 - 01.05.2012

I'll give a shoot, thanks.


Re: Weapon detection - Vince - 01.05.2012

pawn Код:
public OnPlayerUpdate(playerid)
{
    SetPlayerArmedWeapon(playerid, 0);
    return 1;
}
Done.