AFK System buggt

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
  • forward AFKTEST(playerid);
    public AFKTEST(playerid)
    {
    new Float:x,Float:y,Float:z;
    oldpos[playerid]=GetPlayerPos(playerid,x,y,z);
    print("AFKTEST");
    return 1;
    }
    forward AFK(playerid);
    public AFK(playerid)
    {
    print("AFK angesprochen");
    new Float:x,Float:y,Float:z;
    npos[playerid]=GetPlayerPos(playerid,x,y,z);
    if(oldpos[playerid]==npos[playerid])
    {
    print("AFK ausgeführt");
    PlayerInfo[playerid][pAFK]=1;
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_BLUE,"Du bist nun AFK! 5 Minuten nicht bewegt.");
    return 1;
    }
    return 1;
    }


    Ich krieg kein Error oder so aber nach 5 Minuten bekomme ich die Nachricht trotzdem obwohl oldpos nicht npos ist also das nicht die selben coordinaten sind...
    Der AFKTEST timer läuft jede minute...
    und der AFK jede 5 minuten

  • Hey! ;)


    Schreib das mal so, funktioniert das dann?
    new Float:oldpos[MAX_PLAYERS][3],Float:newpos[MAX_PLAYERS][3]; //Global im Script


    forward AFKTEST(playerid);
    public AFKTEST(playerid)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    oldpos[playerid][0] = x;
    oldpos[playerid][1] = y;
    oldpos[playerid][2] = z;
    print("AFKTEST");
    return 1;
    }
    forward AFK(playerid);
    public AFK(playerid)
    {
    print("AFK angesprochen");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    newpos[playerid][0] = x;
    newpos[playerid][1] = y;
    newpos[playerid][2] = z;
    if((oldpos[playerid][0] == newpos[playerid][0]) && (oldpos[playerid][1] == newpos[playerid][1]) && (oldpos[playerid][2] == newpos[playerid][2]))
    {
    print("AFK ausgeführt");
    PlayerInfo[playerid][pAFK]=1;
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_BLUE,"Du bist nun AFK! 5 Minuten nicht bewegt.");
    return 1;
    }
    return 1;
    }


    Mencent :thumbup: