of     1   

C_Sharper
#141193507Tuesday, July 22, 2014 8:22 PM GMT

local Players = game.Players:GetPlayers() local Num = 1 function Spectate() if Players[Num] ~=nil then game.Workspace.CurrentCamera.CameraSubject = Players[Num].Character.Humanoid script.Parent.Parent.T.Text = "Spectating : " ..Players[Num].Name Num = Num + 1 elseif Players[Num] == nil then Num = 1 end end script.Parent.MouseButton1Click:connect(Spectate) while wait() do Players = game.Players:GetPlayers() end Extremely short. I bet other toggle spectates are alot more advanced. Sometimes the most simple code can be the most easiest. It goes through the table of players, keeps adding + 1 to the table, if it ever returns nil, it goes back at the beginning, and the cycle resets. Neat, huh?
BothAngles
#141193765Tuesday, July 22, 2014 8:24 PM GMT

yep sure is
cntkillme
#141194019Tuesday, July 22, 2014 8:26 PM GMT

Most people would use modulo but it's not efficient to update the Players table every wait(). Do it when someone joins and leaves. But that's still neat.
C_Sharper
#141194202Tuesday, July 22, 2014 8:28 PM GMT

Thx. I can make little changes, but hey, it works good :p

    of     1