SA-MP Forums Archive
Why don't work? Anti - Cheat (health=armour) - 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: Why don't work? Anti - Cheat (health=armour) (/showthread.php?tid=589325)



Why don't work? Anti - Cheat (health=armour) - gmstrikker - 18.09.2015

Why give me fake warnings all times?
When shot/2heals---

Код:
enum hInfo {
    Float:vida,
    Float:colete,
    TIMERcheck
}

new HackInfo[MAX_PLAYERS][hInfo];

forward CheckHack(playerid);

public OnPlayerDisconnect(playerid, reason)
{
    KillTimer(HackInfo[playerid][TIMERcheck]);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    KillTimer(HackInfo[playerid][TIMERcheck]);
    HackInfo[playerid][TIMERcheck] = SetTimerEx("CheckHack", 1000, true, "i", playerid);
    return 1;
}

public CheckHack(playerid)
{
    GetPlayerHealth(playerid, HackInfo[playerid][vida]);
    GetPlayerArmour(playerid, HackInfo[playerid][colete]);
    if(HackInfo[playerid][vida] > GetPVarFloat(playerid, "PlayerVida"))
    {
        new giveplayer[MAX_PLAYER_NAME], bstring[128];
        GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
        format(bstring, sizeof(bstring), "ANTICHEAT: %s foi detectado por: HEALTH HACK", giveplayer );
        ABroadCast(COLOR_LIGHTGREEN,bstring,3);
        SetPlayerHealthEx(playerid, 5);
    }

    if(HackInfo[playerid][colete] > GetPVarFloat(playerid, "PlayerColete"))
    {
        new giveplayer[MAX_PLAYER_NAME], bstring[128];
        GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
        format(bstring, sizeof(bstring), "ANTICHEAT: %s foi detectado por: ARMOUR HACK", giveplayer );
        ABroadCast(COLOR_LIGHTGREEN,bstring,3);
        SetPlayerArmourEx(playerid, 0);
    }
    return 1;
}

stock SetPlayerHealthEx(playerid, Float: vidas)
{
    SetPVarFloat(playerid, "PlayerVida", vidas);
    return SetPlayerHealth(playerid, vidas);
}

stock SetPlayerArmourEx(playerid, Float: coletes)
{
    SetPVarFloat(playerid, "PlayerColete", coletes);
    return SetPlayerArmour(playerid, coletes);
}



Re: Why don't work? Anti - Cheat (health=armour) - xVIP3Rx - 18.09.2015

Show the OnPlayerTakeDamage and OnPlayerGiveDamage.

You should use a global timer.
Also try to delay the check when the player gets shot.


Re: Why don't work? Anti - Cheat (health=armour) - gmstrikker - 18.09.2015

all the things that make the exchange of life vest or be quick, does the anti cheat catch
for exemple:
change the player's life twice (fast) by command or damage, anything ...

You know how to fix?


Re: Why don't work? Anti - Cheat (health=armour) - karemmahmed22 - 18.09.2015

Problem is, Its a quite impossible to make anti health hacks with 100% accurate, no false warnings.
Since theres many thing will affect it (lags, pausing, vending machines, admin commands, ammunations).
So i think you better detect health hackers with your eyes.