3DTextLabel verschwindet nicht

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
  • Moin..


    ich habe folgendes Problem.


    Wenn ein Admin: /adminduty eingibt, soll über seinem Kopf ein 3DTextLabel erscheinen. Das Funktioniert.
    Wenn er erneut /adminduty eingibt, soll es verschwinden. Das Funkioniert nicht ! ! !


    Hier der Befehl:
    ocmd:adminduty(playerid,params[])
    {
    if(!isAdminduty(playerid))
    {
    SetPlayerColor(playerid,0xFF8200FF);
    if(isPlayerAnAdmin(playerid,7))
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    new Text3D:label = Create3DTextLabel("Scripter",Orange,x,y,z,40.0,0);
    Attach3DTextLabelToPlayer(label,playerid,0.0,0.0,0.5);
    SetPVarInt(playerid,"Adminduty",1);
    new str[128];
    format(str,sizeof(str),"Admin Intern : Admin %s ist nun onduty",SpielerName(playerid));
    SendAdminMessage(Gelb,str);
    SpielerSpeichern(playerid);
    return 1;
    }
    else
    {
    // Und so weiter bis Adminrang 1
    }
    }
    else
    {
    SetPlayerColor(playerid,0xFFFFFFFF);
    if(isPlayerAnAdmin(playerid,7))
    {
    new Float:x,Float:y,Float:z;
    new Text3D:label = Create3DTextLabel("Scripter",Orange,x,y,z,40.0,0);
    Delete3DTextLabel(label);
    SetPVarInt(playerid,"Adminduty",0);
    new str[128];
    format(str,sizeof(str),"Admin Intern : Admin %s ist nun offduty",SpielerName(playerid));
    SendAdminMessage(Gelb,str);
    SpielerSpeichern(playerid);
    return 1;


    }
    else
    {
    // Undso weiter bis Adminrang 1
    }
    }
    return 1;
    }


    stock isAdminduty(playerid)
    {
    if(GetPVarInt(playerid,"Adminduty")==1)return 1;
    return 0;
    }


    Jemand ne ahnung warum er, wenn man /adminduty eingibt, das TextLabel nicht verschwindet?


    Danke im voraus für die Hilfe

  • Du musst


    new Text3D:label;
    Gloabl Deklarieren:


    new Text3D:labe[MAX_PLAYERS];
    und dann anstatt:


    Delete3DTextLabel(label);
    das hinmachen:


    Delete3DTextLabel(label[playerid]);
    und bei


    new Text3D:label = Create3DTextLabel("Scripter",Orange,x,y,z,40.0,0);
    das hinmachen:


    label[playerid] = Create3DTextLabel("Scripter",Orange,x,y,z,40.0,0);
    So müsste es dann komplett funktionieren.