The previous function doesn't work, but the next function does. Once a player dies, most of this stop functioning correctly without errors. This spectate is suppose to view online "Alive" players.
PreviousSpectator.MouseButton1Down:connect(function()
local ActivePlayersTable = {}
local Amount = Gather()
for _, Player in pairs(game.Players:GetPlayers()) do
if Player:FindFirstChild("Playing") and Player.Playing.Value == true then
table.insert(ActivePlayersTable, Player)
end
end
if not pcall(function()
if ActivePlayersTable[1] and ActivePlayersTable[1].Character then
Camera.CameraSubject = ActivePlayersTable[Amount-1].Character:FindFirstChild("Humanoid")
SpectateName.Text = ActivePlayersTable[Amount-1].Name
end
end) then
if ActivePlayersTable[1] and ActivePlayersTable[1].Character then
Camera.CameraSubject = ActivePlayersTable[#ActivePlayersTable].Character:FindFirstChild("Humanoid")
SpectateName.Text = ActivePlayersTable[#ActivePlayersTable].Name
end
end
pcall(function()
SpectateName.Text = game.Players:GetPlayerFromCharacter(Camera.CameraSubject.Parent).Name
end)
end)
NextSpectator.MouseButton1Down:connect(function()
local ActivePlayersTable = {}
local Amount = Gather()
for _, Player in pairs(game.Players:GetPlayers()) do
if Player:FindFirstChild("Playing") and Player.Playing.Value == true then
table.insert(ActivePlayersTable, Player)
end
end
if not pcall(function()
if ActivePlayersTable[1] and ActivePlayersTable[1].Character then
Camera.CameraSubject = ActivePlayersTable[Amount+1].Character:FindFirstChild("Humanoid")
SpectateName.Text = ActivePlayersTable[Amount+1].Name
end
end) then
if ActivePlayersTable[1] and ActivePlayersTable[1].Character then
Camera.CameraSubject = ActivePlayersTable[1].Character:FindFirstChild("Humanoid")
SpectateName.Text = ActivePlayersTable[1].Name
end
end
pcall(function()
SpectateName.Text = game.Players:GetPlayerFromCharacter(Camera.CameraSubject.Parent).Name
end)
end)
