Hallo,
ich habe einen Aduty Befehl geschrieben, welcher auch funktioniert. Nun habe ich probiert, wenn der Spieler AdminOn geht, dass ein 3DTextLabel über dem Kopf erscheint. Dies hat auch funktioniert.
Nun wollte ich es so machen, dass wenn der Spieler wieder OffDuty geht das 3DTextLabel wieder verschwindet, leider erhalte ich einen Error.
ocmd:aduty(playerid,params[])
{
if(isPlayerRank(playerid, 1))
{
if(GetPVarInt(playerid, "aduty") == 0){
new name[MAX_PLAYER_NAME], string[31+MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "** %s hat sich als Supporter angemeldet. **", name);
SendClientMessageToAll(COLOR_RED, string);
SetPVarInt(playerid, "aduty", 1);
new Text3D:label = Create3DTextLabel("Admin OnDuty", COLOR_RED, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
SetPlayerColor(playerid,COLOR_RED);
}else{
new name[MAX_PLAYER_NAME], string[31+MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string,sizeof(string), "** %s hat sich als Supporter abgemeldet. **", name);
SendClientMessageToAll(COLOR_RED, string);
SetPVarInt(playerid, "aduty", 0);
Delete3DTextLabel(Text3D:label);
SetPlayerColor(playerid,COLOR_WHITE);
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"** Du besitzt nicht die notwendigen Rechte, um diese Befehl ausführen zu können. **");
}
return 1;
}
Ich habe mal probier, oben im Script eine Variable zu erstellen mit new Text3D:Label;
Da erhielte ich jedoch ein Warning, ich sollte den Namen der Variable ändern, was ich auch getan habe. Da erhielt ich keine Fehler, jedoch funktionierte das System nicht vollständig Ingame.
Bitte um Hilfe
Viele Grüße