Why don't work? Anti - Cheat (health=armour)
#1

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);
}
Reply
#2

Show the OnPlayerTakeDamage and OnPlayerGiveDamage.

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

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?
Reply
#4

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)