Beitrag von JustMe.77 ()
Dieser Beitrag wurde vom Autor gelöscht ().
Das Problem hatte ich auch, am besten bei onplayerspawn abfragen ob der Spieler beobachtet wird, wenn ja den Spieler neu specten lassen.
versuch es sonst mal an das Ende von onplayerspawn zu setzten
Da ich nicht weiß, was du genau dort stehen hast und der Spieler ggf ein paar Sekunden zum Spawnen braucht.
In dem watch Befehl muss das hier nach der sscanf Zeile stehen:
specID[playerid] = playerID;
Aber nicht direkt danach, sondern dort, wo der Spectate-Modus gestartet wird, also ziemlich unten.
Sonst hat der Wert immer 0, deshalb klappt es nicht.
Du kannst als Sicherheit auch noch bei OnPlayerSpawn das
if(specID[i] == playerid)
zu:
if(specID[i] == playerid && GetPlayerState(i) == PLAYER_STATE_SPECTATING)