Name soll Angezeigt werden (Bitte verschieben)

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
  • Ich wollte beim Script Westside Stories /tog name entfernen da man sonst nicht die Namen sieht habe es entfernt man sieht trotzdem die Namen nicht und das ist ein Nachteil Wenn jemand Hackt sieht man nicht wer das ist könnte mir jemand sagen was ich dort noch entfernen muss oder umschreiben?
    Hier füge ich nochmal die Codes hinzu

    OMMAND:tog(playerid,params[])
    {
    #pragma unused params
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");



    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    new cmd[16],string[64],userlabelstring[256];
    if(sscanf(params,"s[16]",cmd))return SendClientMessage(playerid,WRONGCMD,"BENUTZE: /tog [News/Jobchat/Phone/RpChat/Name/Hitsound]");
    if(strcmp(cmd,"News",true) == 0)
    {
    if(Spieler[playerid][pNEWS] == false)
    {
    Spieler[playerid][pNEWS] = true;
    SendClientMessage(playerid,GELB,"Du hast den Newschat eingeschaltet!");
    }
    else if(Spieler[playerid][pNEWS] == true)
    {
    Spieler[playerid][pNEWS] = false;
    SendClientMessage(playerid,GELB,"Du hast den Newschat ausgeschaltet!");
    }
    return 1;
    }



    if(strcmp(cmd,"Name",true) == 0)
    {
    if(togRPName[playerid] != 1){
    format(userlabelstring,sizeof(userlabelstring),"-");
    UserText3D[playerid] = Create3DTextLabel(userlabelstring,0x008080FF,0.0, 0.0, 0.4,MAX_STREAM_NAME_DISTANCE,0,1);
    Attach3DTextLabelToPlayer(UserText3D[playerid],playerid,0.0,0.0,0.4);
    SendClientMessage(playerid, GRAU, "Du hast deinen Namen für andere Spieler sichtbar gemacht.");
    UpdateHPBar(playerid);
    togRPName[playerid] = 1;
    }
    else{
    Delete3DTextLabel(UserText3D[playerid]);
    SendClientMessage(playerid, GRAU, "Du hast deinen Namen für andere Spieler unsichtbar gemacht.");
    togRPName[playerid] = 0;
    }
    return 1;
    }

    Einmal editiert, zuletzt von xRicky ()

  • Der Name des Spielers ist kein normales 3DTextLabel.



    //Edit: Das macht das für die Spieler die auf dem Server sind. Wenn jetzt neue connecten, dann würden Sie den Namen sehen. Deshalb das ganze nochmal unter: OnPlayerStreamIn

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • fügst du "ShowPlayerName(playerid, true)" ein.

    Nein unter OnPlayerConnect ist das nicht nötig, da der Name ja so oder so schon angezeigt wird.



    Das einfach so einfügen? Oder muss ich noch was extra Einsetzen?

    Die Funktion ("den stock") fügst du unten im Skript ein.
    Dann verwendest du anstatt dem Create3DTextLabel, ShowPlayerName(playerid, true);.


    Und bei dem Delete3DTextLabel verwendest du ShowPlayerName(playerid, false);.


    Und dann musst du noch den Callback OnPlayerStreamIn verwenden:

    C
    public OnPlayerStreamIn(playerid, forplayerid)
    {
        if(!togRPName[playerid]) ShowPlayerNameTagForPlayer(forplayerid, playerid, false);
        return 1;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Warum so kompliziert?

    Weil diese Funktion das für alle Spieler entfernt und nur unter OnGameModeInit verwendbar ist.


    Hier ist es aber so (so wie ich es verstanden habe), dass er einen Hacker Job hat und den Namen nur von einem Spieler entfernen möchte.


    Nicht von allen.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Weil diese Funktion das für alle Spieler entfernt und nur unter OnGameModeInit verwendbar ist.


    Hier ist es aber so (so wie ich es verstanden habe), dass er einen Hacker Job hat und den Namen nur von einem Spieler entfernen möchte.


    Nicht von allen.

    Ne meine es so sollte ein Hacker kommen würde man seinen Namen nicht sehen da alle Spieler erstmal /tog name machen müssen damit deren Namen sichtbar ist weil wenn man sich Einloggt hat jeder über sich keinen Namen und macht man /tog name kommt der RP name und eine Falsche User id