Problem mit 3DTextLabel im Timer!

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 kleines Problem mit einem 3DTextLabel in einem Timer.
    Und zwar funktioniert eigentlich alles wie es gewünscht ist, außer dass scheinbar
    unendlich viele 3DTextLabel erstellt werden und das Spiel dadurch nach einiger Zeit laggt.


    Daher lasse die 3DTextLabel immer im Timer zerstören und direkt danach wieder erstellen,
    das Problem was dabei allerdings entsteht, ist dass man das auch InGame sieht.
    Die 3DTextLabel "Blinken" quasi auf und das stört ziehmlich.


    Nun frage ich mich ob es nicht eine andere möglichkeit gibt um zu verhindern, dass unendlich viele 3DTextLabel erstellt werden.


    Falls es von nöten ist, hier die Zeilen:
    forward SpielerUpdate(i); public SpielerUpdate(i)
    {
    new playerid=i;
    for(new op = 0; op < MAX_PLAYERS; op++)
    if(IsPlayerConnected(playerid))
    {
    if(undercover[playerid] == 1)
    {
    new string[128];
    if(SpielerInfo[op][pAdmin] <= 1)
    {
    ShowPlayerNameTagForPlayer(op, playerid, 0);
    format(string, sizeof(string), "Agent: %d\nFBI",SpielerInfo[playerid][pAgentID]);
    DeletePlayer3DTextLabel(playerid,agentid);
    agentid = CreatePlayer3DTextLabel(op,string,GRAU,0,0,0,30.0,playerid,INVALID_VEHICLE_ID);
    }
    else if(SpielerInfo[op][pAdmin] >= 2)
    {
    ShowPlayerNameTagForPlayer(op, playerid, 1);
    format(string, sizeof(string), "UNDERCOVER\n\nAgent der\nFBI");
    DeletePlayer3DTextLabel(playerid,agentid);
    agentid = CreatePlayer3DTextLabel(op,string,GRAU,0,0,0,30.0,playerid,INVALID_VEHICLE_ID);
    }
    }
    else if(undercover[playerid] == 0)
    {
    ShowPlayerNameTagForPlayer(op, playerid, 1);
    DeletePlayer3DTextLabel(playerid,agentid);
    }
    }
    return 1;
    }


    Es wäre extrem nett, wenn mir jemand bei diesem Problem helfen würde.




    Gruß
    AlphaGen!

    DIVIDE ET IMPERA