Works in studio great :D, However not in actual gameplay.
Here is the script:
cam = game.Workspace.CurrentCamera local bar = script.Parent.Bar local title = bar.Title local prev = bar.Previous local nex = bar.Next local button = script.Parent.Button function get() for _,v in pairs(game.Players:GetPlayers())do if v.Name == title.Text then return(_) end end end local debounce = false button.MouseButton1Click:connect(function() if debounce == false then debounce = true bar:TweenPosition(UDim2.new(.1,0,0.77,0),"In","Linear",1,true) pcall(function() title.Text = game.Players:GetPlayerFromCharacter(cam.CameraSubject.Parent).Name end) elseif debounce == true then debounce = false pcall(function() cam.CameraSubject = game.Players.LocalPlayer.Character.Humanoid end) bar:TweenPosition(UDim2.new(-.3,0,0.77,0),"In","Linear",1,true) end end) prev.MouseButton1Click:connect(function() wait(.1) local players = game.Players:GetPlayers() local num = get() if not pcall(function() cam.CameraSubject = players[num-1].Character.Humanoid end) then cam.CameraSubject = players[#players].Character.Humanoid end pcall(function() title.Text = game.Players:GetPlayerFromCharacter(cam.CameraSubject.Parent).Name end) end) nex.MouseButton1Click:connect(function() wait(.1) local players = game.Players:GetPlayers() local num = get() if not pcall(function() cam.CameraSubject = players[num+1].Character.Humanoid end) then cam.CameraSubject = players[1].Character.Humanoid end pcall(function() title.Text = game.Players:GetPlayerFromCharacter(cam.CameraSubject.Parent).Name end) end)
You must use a LocalScript to execute the code on the camera. A normal script can be used for the rest of the code, but it is impossible to manipulate the camera without using a LocalScript.
is your game in experimental mode? if it is go to settings in studio (while in that specific game) and turn it off.that might help note : go to HOME and you will find settings there.