Anti ESC/Desktop - Abfragen ob WIRKLICH NUR auf dem Desktop

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
  • Hallöchen,


    Ich habe folgendes Problem.


    Ich habe ein Anti ESC geschrieben, welches hauptsächlich nur ein Timer ist.
    Mein Problem ist, wie frage ich richtig ab ob der Spieler wirklich, NUR im Desktop/Menu ist.. weil anderseits schlägt der Timer schon zu wenn ich mich nicht bewege.
    (Ich setze bei OnPlayerUpdate eine PVAR auf 1, und mit dem Timer (falls auf 1) wieder auf 0. Wenn nicht (auf 1) soll eine PlayerChatBubble einzeigt werden mit 'nem formatiertem String.)


    public AntiESCTimer()
    {
    for(new i = 0; i < GetMaxPlayers(); i ++)
    {
    if(!IsPlayerConnected(i))continue;
    if(GetPVarInt(i, "DeskCheck") == 1)
    {
    DeletePVar(i, "DeskCheck");
    SetPVarInt(i, "AFKTime", 0);
    return true;
    }
    else
    {
    if(GetPVarInt(i,"AFKTime")>=420000)return KickEx(i,"AFK Zeit überschritten!");
    new str[128];
    format(str,sizeof(str),"Seit %i Sekunden im Menu/Desktop",GetPVarInt(i, "AFKTime"));
    SetPlayerChatBubble(i,str,DROT,14.4,1000);
    //printf(str); Hab da mal einfach geguckt ob der str an sich funktioniert.. tut er.
    SetPVarInt(i, "AFKTime", GetPVarInt(i, "AFKTime")+1);
    }
    }
    return true;
    }



    OnPlayerUpdate muss ich denk ich nicht zeigen, ist nur ein pvar der dazu gehört.. SetTimer in OnGameModeInit wird auch nicht wichtig sein.


    Wie gesagt, wie geh ich sicher ob der User wirklich auch im Menu/Desktop ist, und sich nicht einfach nur bewegt.


    Mfg,
    Michi

    Einmal editiert, zuletzt von MichiEXE ()

  • Möglicherweise startest du den Timer dann in einem zu kurzen Wiederholungszeitraum.
    Wie startest du den denn, poste den Code mal. Und dazu auch gleich dein OnPlayerUpdate. Falls sich da nichts findet, können wir es gleich mal debuggen.