Admin 3D Text bug?

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
  • Ich habe ein bug, unzwar kriegne spieler, den Admin 3D Text über dem kopf, obwohl sie kein
    admin sind...


    public AdminTimer(playerid)
    {
    if(PlayerInfo[playerid][pAdmin] == 1)//fagt ab ob er Adminlevel 1 ist müsst ihr an Script anpassen ^^
    {
    new GMTEXT[MAX_PLAYER_NAME]; //ist halt das new für den 3D text
    GMTEXT = "Moderator"; // sagt was der 3DText für ein Text haben soll
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_ORANGE,0,0,0,20.0,1); //erstellt das neue 3Dtext label , farbe zur not anpassen
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45); // hängt es an den spieler dran
    }
    else if(PlayerInfo[playerid][pAdmin] == 2)//fragt ab ob er Adminlevel 2 ist Script muss angepasst werden
    {
    new GMTEXT[MAX_PLAYER_NAME]; //gleiche wie oben
    GMTEXT = "Administrator";//gleiche wie oben
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_YELLOW,0,0,0,20.0,1);//gleiche wie oben
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45);//gleiche wie oben
    }
    else if(PlayerInfo[playerid][pAdmin] == 1337)//fragt ab ob er Adminlevel 2 ist Script muss angepasst werden
    {
    new GMTEXT[MAX_PLAYER_NAME]; //gleiche wie oben
    GMTEXT = "SuperAdmin";//gleiche wie oben
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_LIGHTBLUE,0,0,0,20.0,1);//gleiche wie oben
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45);//gleiche wie oben
    }
    else if(PlayerInfo[playerid][pAdmin] == 1338)//fragt ab ob er Adminlevel 2 ist Script muss angepasst werden
    {
    new GMTEXT[MAX_PLAYER_NAME]; //gleiche wie oben
    GMTEXT = "ServerManager";//gleiche wie oben
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_LIGHTGREEN,0,0,0,20.0,1);//gleiche wie oben
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45);//gleiche wie oben
    }
    else if(PlayerInfo[playerid][pAdmin] == 1339)//fragt ab ob er Adminlevel 2 ist Script muss angepasst werden
    {
    new GMTEXT[MAX_PLAYER_NAME]; //gleiche wie oben
    GMTEXT = "ServerOwner";//gleiche wie oben
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_LIGHTRED,0,0,0,20.0,1);//gleiche wie oben
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45);//gleiche wie oben
    }
    else if(PlayerInfo[playerid][pAdmin] == 2000)//fragt ab ob er Adminlevel 2 ist Script muss angepasst werden
    {
    new GMTEXT[MAX_PLAYER_NAME]; //gleiche wie oben
    GMTEXT = "ServerScripter";//gleiche wie oben
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_GOLD,0,0,0,20.0,1);//gleiche wie oben
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45);//gleiche wie oben
    }
    return 1;
    }

  • 1. Warum hast du das nicht in OnPlayerSpawn drin?
    Wenn du das im Timer nutzt und sie nicht Zerstörst dann kommen immer mehr 3DTexte und der Server oder die Spieler crashen


    2. Zerstörst du die 3DLabels denn auch sonst werden die immer wieder für die spielerid/playerid erstellt auch wenn sie keine Admins sind

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Weil du sie nicht zerstörst wenn die admins leaven, dann werden sie für die andern wieder erstellt wegen der selben ID

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ich empfehle dafür die Funktion SetPlayerChatBubble dann machste das am besten so:

    public SetAdminRang(playerid);//edit Pawn code hinzugefügt
    {
    new Text[60],string[60];//edit fehler entfernt
    if(Playerinfo[playerid][pAdmin] == 1)
    {
    Text = "Supporter";
    }
    if(Playerinfo[playerid][pAdmin] == 2)
    {
    Text = "Moderator";
    }
    format(string, sizeof(string), "%s",Text);
    SetPlayerChatBubble(playerid,string,DeineFarbe, 20.0, 6000);
    }

  • Ehm ich will ja nix sagen, aber ich würd auf diesen Code nicht vertrauen...
    Son paar fehler sind da schon noch drin X(
    public SetAdminRang(playerid)//edit Pawn code hinzugefügt
    {
    new Text[20];//edit fehler entfernt
    if(Playerinfo[playerid][pAdmin] == 1)
    {
    Text = "Supporter";
    }
    else if(Playerinfo[playerid][pAdmin] == 2)
    {
    Text = "Moderator";
    }
    SetPlayerChatBubble(playerid,Text,DeineFarbe, 20.0, 6000);
    }
    wenn dann übernimm das so

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wofür willst du denn jetzt noch nen Code?
    Alles was du brauchst wurde oben gepostet

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski