Anticheat Funktioniert nicht

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Leute,


    Ich habe ein Problem ich wollte es so machen wen der Spieler sich leben hackt wird er gekickt aber das passiert nicht, es passiert wenn er leben verliert wird er gekickt Gund heal hack weiß einer vilt was das Problem ist.


    Bedanke mich schon mal im vor raus :)


    Wo der script es checkt:



    public CheatCheck()
    {
    foreach(Player, i)
    {
    if(GetPlayerState(i) != PLAYER_STATE_WASTED && GetPlayerState(i) != PLAYER_STATE_SPAWNED && GetPlayerState(i) != PLAYER_STATE_SPECTATING)
    {
    new Float:health;
    GetPlayerHealth(i, health);
    new Float:armour;
    GetPlayerHealth(i, armour);
    if(pHealth[i] < health && GetPlayerState(i) == PLAYER_STATE_ONFOOT)
    {
    pHealth[i] = health;
    }
    if(AntiHealthHack)
    {
    if(health != pHealth[i] && health > 0)
    {
    if(health < pHealth[i])
    {
    new string[128];
    format(string, sizeof(string), "%s wurde vom server gegickt. Grund: Healhack.", SpielerName(i));
    SendClientMessageToAll(COLOR_BANROT,string);
    Kick(i);
    }
    }
    if(armour != pArmour[i] && armour > 0)
    {
    if(armour < pArmour[i])
    {
    new string[128];
    format(string, sizeof(string), "%s wurde vom server gegickt. Grund: Armour Hack.", SpielerName(i));
    SendClientMessageToAll(COLOR_BANROT,string);
    Kick(i);
    }
    }
    }
    }
    }
    return 1;
    }



    Mfg . :rolleyes:

  • public CheatCheck()
    {
    foreach(Player, i)
    {
    if(GetPlayerState(i) != PLAYER_STATE_WASTED && GetPlayerState(i) != PLAYER_STATE_SPAWNED && GetPlayerState(i) != PLAYER_STATE_SPECTATING)
    {
    new Float:health;
    GetPlayerHealth(i, health);
    new Float:armour;
    GetPlayerHealth(i, armour);
    if(pHealth[i] > health && GetPlayerState(i) == PLAYER_STATE_ONFOOT)
    {
    pHealth[i] = health;
    }
    if(AntiHealthHack)
    {
    if(health != pHealth[i] && health > 0)
    {
    if(health > pHealth[i])
    {
    new string[128];
    format(string, sizeof(string), "%s wurde vom server gegickt. Grund: Healhack.", SpielerName(i));
    SendClientMessageToAll(COLOR_BANROT,string);
    Kick(i);
    }
    }
    if(armour != pArmour[i] && armour > 0)
    {
    if(armour > pArmour[i])
    {
    new string[128];
    format(string, sizeof(string), "%s wurde vom server gegickt. Grund: Armour Hack.", SpielerName(i));
    SendClientMessageToAll(COLOR_BANROT,string);
    Kick(i);
    }
    }
    }
    }
    }
    return 1;
    }


    Wenn ich keinen Denkfehler habe hattest du "<" in zeile 11, 19, 27 vertauscht.


    mfg Mika

  • Das war vorher dann wahrscheinlich richtig.


    Nur musst du folgendes bedenken:


    Ablauf wäre wie folgt


    Spieler erhält weniger Leben
    Server registriert es und setzt es runter
    Spieler hat das Leben aber noch aufgrund von Ping
    Server kickt


    Das zu lösen ist nicht so schwer:
    Beim verlieren eine IDLE TIME auf den Ping + 2sekunden setzen und abfragen


    Sollte helfen :)

    ik bin der vito c: