Textdraw über Name

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
  • Guten Tag,
    ich wollte fragen ob mir einer Helfen kann eine Textdraw über denn Namen zu scripten.


    Ich wollte wenn ein Admin in den Admin Dienst geht /aduty das über ihm ein Rankname steht.
    Ich habe zurzeit:


    Projektleiter (Soll bei Admin 2000 und 2001 stehen)
    Fraktionsverwalter
    Eventmanager
    Administrator
    Supporter


    Und wenn sie /aduty machen soll dies über de namen stehen. Nicht alle Ranknamen sonder zum passenden Rank.


    Mein /aduty System:


    } if (strcmp(cmd, "/adminduty", true) == 0 || strcmp(cmd, "/aduty", true) == 0) { if(AdminDuty[playerid] == 0) { if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3|| PlayerInfo[playerid][pAdmin] == 4) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Administrator im Dienst!"); SetPlayerColor(playerid,0xFF00A5FF); AdminDuty[playerid] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string),"* Administrator %s[ID:%d] ist nun mit /report erreichbar*",sendername,playerid); SendClientMessageToAll(0x932200FF, string); SetPlayerArmour(playerid, 100); return 1; } if(PlayerInfo[playerid][pAdmin] == 5 || PlayerInfo[playerid][pAdmin] == 6 || PlayerInfo[playerid][pAdmin] == 1337) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Eventmanager im Dienst!"); SetPlayerColor(playerid,0xFF00A5FF); AdminDuty[playerid] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string),"*Eventmanager %s[ID:%d] ist nun mit /report erreichbar.*",sendername,playerid); SendClientMessageToAll(COLOR_RED, string); SetPlayerArmour(playerid, 100); return 1; } if(PlayerInfo[playerid][pAdmin] ==1338) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Fraktionsverwalter im Dienst!"); SetPlayerColor(playerid,0xFF00A5FF); AdminDuty[playerid] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string),"Fraktionsverwalter %s[ID:%d] ist nun mit /report erreichbar.*",sendername,playerid); SendClientMessageToAll(COLOR_RED, string); SetPlayerArmour(playerid, 100); return 1; } if(PlayerInfo[playerid][pAdmin] == 2000 || PlayerInfo[playerid][pAdmin] == 2001) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Projektleiter im Dienst!"); SetPlayerColor(playerid,0xFF00A5FF); AdminDuty[playerid] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string),"Projektleiter %s[ID:%d] ist nun mit /report erreichbar.*",sendername,playerid); SendClientMessageToAll(COLOR_RED, string); SetPlayerArmour(playerid, 100); return 1; } if(PlayerInfo[playerid][pSupporter] >= 1) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Supporter im Dienst!"); SetPlayerColor(playerid,0xFF00A5FF); AdminDuty[playerid] = 1; GetPlayerName(playerid, sendername, sizeof(sendername)); format(string,sizeof(string),"Supporter %s[ID:%d] ist nun mit /report erreichbart.*",sendername,playerid); SendClientMessageToAll(COLOR_RED, string); SetPlayerArmour(playerid, 100); return 1; } } if(AdminDuty[playerid] == 1) { SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun nichtmehr On Duty!"); Delete3DTextLabel(Admin[playerid]); Delete3DTextLabel(Supermod[playerid]); Delete3DTextLabel(Mod[playerid]); Delete3DTextLabel(Supporter[playerid]); Delete3DTextLabel(Admin[playerid]); Delete3DTextLabel(Supermod[playerid]); Delete3DTextLabel(Mod[playerid]); Delete3DTextLabel(Supporter[playerid]); format(string,sizeof(string)," %s[ID:%d] ist nicht mehr erreichbar.*",sendername,playerid); SetPlayerArmour(playerid, 0); AdminDuty[playerid] = 0; { if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { SetPlayerColor(playerid, NAMECOLOR_LSCOP); } else { SetPlayerColor(playerid,TEAM_HIT_COLOR); } } return 1; } return 1;

  • Hi!
    Könntest du bitte einmal den Befehl passend formatieren?
    Du suchst übrigens nach einem 3D Textlabel.
    Als Funktionen brauchen wir dann Create3DTextLabel und Delete3DTextLabel. Am besten guckst du dir die Syntax auch schon mal an.


    Also. Ich wollte das zbs. Wenn einer in denn Admin Dienst geht das über sein Rankname steht und wie gesagt meine ich als Rankname [Projektleiter].


    Deshalb möchte ich das wenn man /aduty macht das über jemanden sein Rankname steht. die im meine /aduty System ja sehe bar sind und wenn man wieder /aduty schreibt soll der Rankname wieder verschwinden

  • Also. Ich wollte das zbs. Wenn einer in denn Admin Dienst geht das über sein Rankname steht und wie gesagt meine ich als Rankname [Projektleiter].


    Deshalb möchte ich das wenn man /aduty macht das über jemanden sein Rankname steht. die im meine /aduty System ja sehe bar sind und wenn man wieder /aduty schreibt soll der Rankname wieder verschwinden

    Sehr mühsam deine Text zu lesen, aber was der @shoxinat0r möchte ist, dass du deinen
    Befehl formatierst.



    if (strcmp(cmd, "/adminduty", true) == 0 || strcmp(cmd, "/aduty", true) == 0)
    {
    if(AdminDuty[playerid] == 0)
    {
    if(PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pAdmin] == 2 || PlayerInfo[playerid][pAdmin] == 3|| PlayerInfo[playerid][pAdmin] == 4)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Administrator im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"* Administrator %s[ID:%d] ist nun mit /report erreichbar*",sendername,playerid);
    SendClientMessageToAll(0x932200FF, string);
    SetPlayerArmour(playerid, 100);
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 5 || PlayerInfo[playerid][pAdmin] == 6 || PlayerInfo[playerid][pAdmin] == 1337)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Eventmanager im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"*Eventmanager %s[ID:%d] ist nun mit /report erreichbar.*",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerArmour(playerid, 100); return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 1338)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Fraktionsverwalter im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"Fraktionsverwalter %s[ID:%d] ist nun mit /report erreichbar.*",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerArmour(playerid, 100); return 1;
    }
    if(PlayerInfo[playerid][pAdmin] == 2000 || PlayerInfo[playerid][pAdmin] == 2001)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Projektleiter im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"Projektleiter %s[ID:%d] ist nun mit /report erreichbar.*",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerArmour(playerid, 100);
    return 1;
    }
    if(PlayerInfo[playerid][pSupporter] >= 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun als Supporter im Dienst!");
    SetPlayerColor(playerid,0xFF00A5FF);
    AdminDuty[playerid] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string,sizeof(string),"Supporter %s[ID:%d] ist nun mit /report erreichbart.*",sendername,playerid);
    SendClientMessageToAll(COLOR_RED, string);
    SetPlayerArmour(playerid, 100);
    return 1;
    }
    if(AdminDuty[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nun nichtmehr On Duty!");
    Delete3DTextLabel(Admin[playerid]);
    Delete3DTextLabel(Supermod[playerid]);
    Delete3DTextLabel(Mod[playerid]);
    Delete3DTextLabel(Supporter[playerid]);
    Delete3DTextLabel(Admin[playerid]);
    Delete3DTextLabel(Supermod[playerid]);
    Delete3DTextLabel(Mod[playerid]);
    Delete3DTextLabel(Supporter[playerid]);
    format(string,sizeof(string)," %s[ID:%d] ist nicht mehr erreichbar.*",sendername,playerid);
    SetPlayerArmour(playerid, 0);
    AdminDuty[playerid] = 0;
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    SetPlayerColor(playerid, NAMECOLOR_LSCOP);
    }
    else
    {
    SetPlayerColor(playerid,TEAM_HIT_COLOR);
    }
    } return 1;
    }

    • Offizieller Beitrag

    Versuch das bitte noch einmal so zu machen, wie du es schon gemacht hast. Dann können wir uns gemeinsam deine Fehler anschauen und dann den richtigen Weg finden. Dir jetzt so die Lösung zu präsentieren würde keinem helfen.
    Wenn aber schon Errors da waren, können wir das Problem auch einfach lösen. :)