Hey, ich habe eine Frage zu meinem Spectate System.
Und zwar möchte ich, dass wenn der Spieler, der Spectatet wird stirbt, wieder spectatet wird.
Ein Beispiel: Ich beobachte den Spieler A, A stirbt, spawnt und dann soll er automatisch wieder spectatet werden.
Hier ist mein Script bis jetz.
ocmd:tv(playerid, params[0])
{
new pID;
new name[MAX_PLAYER_NAME];
new string[128];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Du bist kein Teammitglied !");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Verwendung: /tv <ID>");
if(!IsPlayerConnected(pID) || pID == INVALID_PLAYER_ID || IsPlayerAdmin(pID) || pID == playerid) return SendClientMessage(playerid,error_rot, "Diesen Spieler gibt es nicht, er ist ein Admin oder er ist nicht online !");
if(tv == 2) return SendClientMessage(playerid,error_rot,"Du beobachtest schon einen, benutze /tvoff um die Beobachtung abzubrechen");
GetPlayerName(pID,name,sizeof(name));
format(string,sizeof(string),"Du beobachtest nun den Spieler %s",name);
SendClientMessage(playerid,spec_blau,string);
//Im Car
if(IsPlayerInAnyVehicle(pID))
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid,GetPlayerVehicleID(pID));
tv ++; // 2
return 1;
}
//Fuß
else
{
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid,pID);
tv ++; // 2
}
return 1;
}
ocmd:tvoff(playerid, params[0])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,"Du bist kein Teammitglied !");
if(tv == 2)
{
TogglePlayerSpectating(playerid, 0);
SetCameraBehindPlayer(playerid);
SpawnPlayer(playerid);
SendClientMessage(playerid,spec_blau,"Du beobachtest nun keinen mehr !");
tv --;
}
else
{
SendClientMessage(playerid,error_rot,"Du Spectatest keinen !");
}
return 1;
}