Frage zu AFK Textlabel

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
  • Abend Brotfische,


    Ich möchte wenn ein spieler "/afk" eintippt, das ein Textlabel über dem Spieler steht, wie lang er im AFK Modus ist... Format: 00:00:00 (Stunden,Minunten,Sekunden)


    Ich hoffe es kann mir jemand helfen :)


    MfG :thumbup:


    Mit freundlichen Grüßen
    German_ScripterHD

  • Unter den Includes:
    new Text3D:AFKLabel[MAX_PLAYERS] = {Text3D:-1,...};
    new LastUpdate[MAX_PLAYERS];


    Unter OnPlayerUpdate:
    LastUpdate[playerid] = gettime();


    Unter OnGameModeInit:
    SetTimer("CheckAFK", 500, true);


    Unter OnPlayerConnect:
    AFKLabel[playerid] = Create3DTextLabel(" ", 0xFFFFFFFF, 30.0, 40.0, 50.0, 40.0, 0);


    Unter OnPlayerSpawn:
    Attach3DTextLabelToPlayer(AFKLabel[playerid], playerid, 0.0, 0.0, 0.7);


    Unten im Gamemode:
    forward CheckAFK();
    public CheckAFK()
    {
    new t = gettime(), str[64], h, m, s;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(LastUpdate[i] + 1 < t)
    {
    s = t - LastUpdate[i];
    h = s / 3600;
    s -= h * 3600;
    m = s / 60;
    s -= m * 60;
    format(str, sizeof(str), "AFK seit %dh %dm %ds", h, m, s);
    Update3DTextLabelText(AFKLabel[i], 0xFFFFFFFF, str);
    }
    else
    {
    Update3DTextLabelText(AFKLabel[i], 0xFFFFFFFF, " ");
    }
    }
    return 1;
    }