3DText Namen an einem Spieler

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
  • Hi,
    Da ich gerade langeweile habe und mir gerade die Idee gekommen ist ein Tutorial zu machen, tue ich dies jetzt.


    Unser Ziel ist es das ein 3DText an einem Spieler ist mit seinem Namen.
    Dazu brauchen wir die Funktion Attach3DTextLabelToPlayer und Create3DTextLabel.


    Dazu müssen wir zuerst den Namen des Spielers abfragen und in einen string packen und zwar so:

    new string[28];//Dies erstellt den string, im sinne von einer variable die wir beim ausgeben gleich brauchen.
    new SpielerName[MAX_PLAYER_NAME];//Das brauchen wir um den Spieler Namen abzufragen.
    GetPlayerName(playerid, SpielerName, sizeof(SpielerName));//Dies fragt den Namen des Spielers ab und man kann ihn per SpielerName verwenden.
    format(string, sizeof(string),"Name: %s",SpielerName);//Das ist unser String indem der Name eingetragen wird.


    So nun müssen wir das ganze nur noch an einen Spieler dran machen.
    Das funktioniert mit unseren 2 o.g. Funktionen.


    Zuerst erstellen wir einen 3DText indem der string mit drinne ist:

    new Text3D:spielertext[MAX_PLAYERS];//Dies dient als variable um den 3DText gleich einfacher anzuhängen.
    spielertext[playerid] = Create3DTextLabel(string,0xFF0000FF,0,0,0,0,0);//das ist unser 3DText der den Namen enthält und in Rot angezeigt wird.


    So nun sind wir schonmal so weit das wir einen 3DText mit dem Namen drinne haben.
    Jedoch müssen wir diesen auch noch an den Spieler hängen da das ganze sonst Sinnlos wäre.


    Das machen wir mit Attach3DTextLabelToPlayer, und zwar so:

    Attach3DTextLabelToPlayer(spielertext[playerid],playerid,0.0,0.0,0.7);//Das hängt den 3DText "spielertext[playerid]" an den Spieler dran.


    So und wer zu faul ist das zu lernen und einfach nur Kopieren will kann dann diesen Code nehmen:

    new string[28];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, sizeof(SpielerName));
    format(string, sizeof(string),"Name: %s",SpielerName);
    new Text3D:spielertext[MAX_PLAYERS];
    spielertext[playerid] = Create3DTextLabel(string,0xFF0000FF,0,0,0,0,0);
    Attach3DTextLabelToPlayer(spielertext[playerid],playerid,0.0,0.0,0.7);




    Das Tutorial ist nicht gerade schwer und dient eigentlich auch nur dazu den Anfängern unter uns zu helfen.
    Trotzallerdem hoffe ich das es euch gefallen hat.


    Liebe Grüße,
    NitroX.

    Einmal editiert, zuletzt von NitroX () aus folgendem Grund: Fehler verbessert

  • Wofür ein Bild ?
    Es ist ein 3DText der an einem Spieler ist.

  • Ja mach mal ein Screen davon wie es beim Spieler ausehn würde .....

  • Das geht bei sich selber nicht das geht nur bei anderen, da du sonst den 3DText nicht siehst.

  • Gut.
    Ich suche mir gleich einen und mache ein Bild ^^.