Frage zum Erstellen von einen 3D-Text über dem Spielerkopf

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 möchte das über den Moderatoren und Administratoren inGame in Lila "Administrator" bzw. "Moderator" steht dazu habe ich schon erfolgreich die Seite im Samp-Wiki gefunden: http://wiki.sa-mp.com/wiki/CreatePlayer3DTextLabel
    Es soll sobald der Spieler sich einloggt stehen und dann dauerhaft bis zum ausloggen...


    Nun ist die Frage wo füge ich es ein?


    Ich habe es einfach mal bei OnPlayerSpawn probiert jedoch erscheint es da immer nur am dem Punkt nur wo der Spieler spawnt und es steht nicht überm Kopf.


    Danke schonmal!


    //edit
    Mal ein Bild:

    Spoiler anzeigen
     
    Aber: Nicht die AFK-Zeit soll angezeigt werden sondern "Moderator" wenn es ein Mod ist und "Administrator" wenn es ein Admin ist!

  • Ich habe den Code nur von der Wiki-Seite genommen und für mich angepasst.
    if(isPlayerAnAdmin(playerid,2))
    {
    new PlayerText3D:playertextid;
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos( playerid, X, Y, Z );
    playertextid = CreatePlayer3DTextLabel(playerid,"Moderator",LILA,X,Y,Z,40.0);
    return 1;
    }


    Ich hoffe ich kann das so machen ;( Mache das zum ersten Mal.... :wacko:

  • Du musst nicht CreatePlayer3DTextLabel nehmen, sondern Create3DTextLabel und es dann mit Attach3DTextLabelToPlayer attachen ;)


    Sonst wird er nur der eigenen Player ID angezeigt ;)


    MFG,
    Shanon.



    if(isPlayerAnAdmin(playerid,2))
    {
    new PlayerText3D:playertextid;
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos( playerid, X, Y, Z );
    playertextid = Create3DTextLabel("Moderator",LILA,X,Y,Z,40.0);Attach3DTextLabel(playerid, 0, 0, 0);
    return 1;

  • Ich habe nun folgenden Scriptcode genommen:
    if(isPlayerAnAdmin(playerid,2))
    {
    new Text3D:playertextid;
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos( playerid, X, Y, Z );
    playertextid = Create3DTextLabel("Moderator",LILA,X,Y,Z,40.0,0);
    Attach3DTextLabelToPlayer(playertextid,playerid, 0.0, 0.0, 0.0);
    return 1;
    }


    Es treten keinen Warnings oder Errors auf, jedoch es wird der 3D-Text "Moderator" nicht über dem Spieler angezeigt der Adminrang 2 ist.
    Es funktioniert bei allen anderen Bezeichnungen (Administrator & Co.) auch nicht.


    Ich habe den Code bei "OnPlayerConnect" stehen.


    Hat da noch einer eine Idee? ?(


    (getestet habe zusammen mit meinen Bruder der sich am gleichem Router befindet...)

    • Offizieller Beitrag

    Mach das mal so:
    new Text3D:playertextid[MAX_PLAYERS];
    if(isPlayerAnAdmin(playerid,2))
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos( playerid, X, Y, Z );
    playertextid[playerid] = Create3DTextLabel("Moderator",LILA,X,Y,Z,40.0,0);
    Attach3DTextLabelToPlayer(playertextid[playerid],playerid, 0.0, 0.0, 0.0);
    return 1;
    }

  • Ich habe das nun auch mit dem Scriptcode in der vorherigen Antwort probiert jedoch funktioniert es immer noch nicht... ;(


    Spoiler anzeigen

    Hier ist er nochmal:
    new Text3D:playertextid[MAX_PLAYERS];

    Spoiler anzeigen
    if(isPlayerAnAdmin(playerid,2))

    Spoiler anzeigen
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos( playerid, X, Y, Z );
    playertextid[playerid] = Create3DTextLabel("Moderator",LILA,X,Y,Z,40.0,0);
    Attach3DTextLabelToPlayer(playertextid[playerid],playerid, 0.0, 0.0, 0.0);
    return 1;


    Es wird einfach kein 3D-Text über dem Spieler angezeigt...


    Für alle die vielleicht noch nicht wissen wie ich mir das vorstelle habe ich hier ein Bild:




    >>Aber es soll da nicht die AFK-Zeit stehen sondern "Moderator" wenn es ein Mod ist, bzw. "Administrator" wenn es ein Admin ist!<<


    Bevor ich es vergesse:

    Zitat von JohnsonC

    (getestet habe zusammen mit meinen Bruder der sich am gleichem Router befindet...)