aduty Befehl

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, weiß jemand was hier daran falsch ist?
    ocmd:aduty(playerid,params[])
    {
    new text[60], Text3D:Aduty[MAX_PLAYER_NAME], Float:X, Float:Y, Float:Z;
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(GetPVarInt(playerid,"AdmDuty")==0)
    {
    format(text,sizeof(text),"%s ist ADuty gegangen!",name);
    GetPlayerPos(playerid,X,Y,Z);
    Aduty[playerid] = Create3DTextLabel("Admin im Dienst, DM verboten!",ROT,X,Y,Z,50.0,0,0);
    Attach3DTextLabelToPlayer(Aduty[playerid],playerid,0.0,0.0,0.75);
    SetPlayerHealth(playerid,100);
    SetPVarInt(playerid,"AdmDuty",1);
    SendClientMessageToAll(ROT,text);
    SendClientMessage(playerid,ROT,"Du bist ADuty gegangen [/aduty]!");
    return 1;
    }
    else
    {
    format(text,sizeof(text),"%s ist nun nicht mehr im Admin-Dienst!",name);
    Delete3DTextLabel(Aduty[playerid]);
    SetPlayerHealth(playerid,100);
    SetPVarInt(playerid,"AdmDuty",0);
    SendClientMessageToAll(ROT,text);
    SendClientMessage(playerid,ROT,"Du bist nun nicht mehr ADuty [/aduty]!");
    return 1;
    }
    }


    Und noch etwas, in einem Tutorial habe ich gesehen, dass Text3D:Aduty[MAX_PLAYER_NAME] den Arry MAX_PLAYER_NAME hat,
    aber das ist ja ein String in dem der ganze Text vom Textlabel steht oder nicht? Aduty[playerid] = Create3DTextLabel("Admin im Dienst, DM verboten!",ROT,X,Y,Z,50.0,0,0);


    Und "MUSS" es dann [playerid] heißen, das verstehe ich irgendwie nicht..

  • Text3D:Aduty[MAX_PLAYER_NAME]
    zu
    new Text3D:Aduty[MAX_PLAYERS];
    und zwar nicht in dem Befehl, sondern global! (am besten ganz oben im Script wo alle anderen news sind)


    GetPlayerPos ist sinnlos, wenn du es anschließend eh an den Spieler attachst.
    Erstell das Label einfach an Position 0,0,0.
    Dann kannst du auch X,Y,Z aus dem Befehl löschen.


    PS: Du selbst siehst den Text nicht (falls es daran scheitern sollte :rolleyes: )