[BUG] AFK System

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 Community,


    hab nen mega Bug.
    Und zwar sieht man nur ab und zu und bei ID 0 folgendes :
    Seit %d Sekunden auf dem Desktop bzw. AFK


    Leider habe ich das nicht selber gescripted und weiß auch absolut nicht,
    was falsch ist..


    Ich zeige euch mal den Code :)


    //#include <a_samp>


    new Desktop_Check[MAX_PLAYERS];
    new Desktop_Status[MAX_PLAYERS];
    new Desktop_Timer[MAX_PLAYERS];
    new Desktop_Timer_Started[MAX_PLAYERS];
    new Text3D:Desktop_SHOW[MAX_PLAYERS];


    #define COLOR_AFK 0xFF2800FF
    #define COLOR_WHITE 0xFFFFFFAA


    public OnPlayerConnect(playerid)
    {
    Desktop_Check[playerid] = 0;
    Desktop_Timer_Started[playerid] = 0;
    Desktop_Status[playerid] = 0;
    Desktop_SHOW[playerid] = Create3DTextLabel("",0xFF6347AA,0,0,0,10.0,0,0);
    return 1;
    }


    public OnPlayerDisconnect(playerid)
    {
    if(Desktop_Timer_Started[playerid] == 1) { KillTimer(Desktop_Timer[playerid]); }
    Delete3DTextLabel(Desktop_SHOW[playerid]);
    return 1;
    }


    forward Desktop_Function(playerid);
    public Desktop_Function(playerid)
    {
    if(Desktop_Check[playerid] > 0)
    {
    Desktop_Status[playerid] = 0;
    SetPlayerColor(playerid,COLOR_WHITE);
    Update3DTextLabelText(Desktop_SHOW[playerid],0xFF6347AA,"");
    Attach3DTextLabelToPlayer(Desktop_SHOW[playerid],playerid,0,0,0);
    }
    if(Desktop_Check[playerid] <= 0)
    {
    SetPlayerColor(playerid,COLOR_AFK);
    Desktop_Status[playerid] +=1;
    new string[128];
    format(string,sizeof(string),"Seit %d Sekunden auf dem Desktop bzw. AFK", Desktop_Status[playerid]);
    Update3DTextLabelText(Desktop_SHOW[playerid],0xFF6347AA,string);
    Attach3DTextLabelToPlayer(Desktop_SHOW[playerid],playerid,0,0,0);
    }
    Desktop_Check[playerid] = 0;
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    if(Desktop_Timer_Started[playerid] == 0)
    {
    Desktop_Timer[playerid] = SetTimerEx("Desktop_Function",1000,1,"d",playerid);
    Desktop_Timer_Started[playerid] = 1;
    }
    Desktop_Check[playerid] += 1;
    return 1;
    }


    Danke im Voraus :)


    /e fail Code.

    :!:

    Einmal editiert, zuletzt von Caserino ()