Da es sich hierbei um mein Script handelt werde ich hier etwas helfen
Zuerst erstelle ich ganz oben im Script eine Variable, in der ich später das Objekt speichere:
new asirene[MAX_PLAYERS];
Beim Adminduty-Befehl erstelle ich dann das Objekt und setze es auf den Kopf des Spielers:
asirene[playerid] = CreateObject(18646,0,0,0,0,0,0,100);
AttachObjectToPlayer(asirene[playerid],playerid,0.0,0.0,0.93,0,0,0);
Wenn er nun wieder Offduty als Admin geht muss das Objekt wieder gelöscht werden:
DestroyObject(asirene[playerid]);
Solltest du einen Timer haben, der in einem bestimmten Intervall die Spieler durchloopt bietet es sich an, hier immer wieder das Objekt an den Spieler zu attachen, da z.B. durch Teleports manchmal die Sirene irgendwo in der Welt stecken bleibt. Dabei stammt "i" aus einer for new Schleife:
if(aDuty[i] == 1)
{
AttachObjectToPlayer(asirene[i],i,0.0,0.0,0.93,0,0,0);//kopf sirene
}
Und nun soll die Leuchte ja auch verschwinden, wenn ein Spieler Adminduty offlinegeht. Folgendes unter OnPlayerDisconnect:
if(aDuty[playerid] == 1) DestroyObject(asirene[playerid]);
aDuty[playerid] sollte auch wieder auf 0 gesetzt werden.
@Skype_x3:
Ich hoffe ich konnte helfen.