
4.7k Views
6.5k Executions
Universal spectate
Universal Script π
santinokool0710K executions
1 year ago
Please login to perform these actions:Does it work?
No reports yetNo reports yet. Tried it? Be the first to say.
Also noticed:
Description
*NEW ANIMATIONS* Middle-left βSpectateβ toggle button. Pop-up UI with left/right arrows and player name label. Cycle through all alive players. Remembers last spectated player when toggled off/on. Automatically skips dead players. Name turns red if the spectated player is on a different team. Updates dynamically when players join, leave, or die. Smooth edges on all GUI elements. Camera follows the Humanoid of the spectated player.
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera
-- GUI Setup (bottom-left)
local screenGui = Instance.new("ScreenGui")
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local spectateButton = Instance.new("TextButton")
spectateButton.Size = UDim2.new(0, 120, 0, 40)
spectateButton.Position = UDim2.new(0, 10, 1, -50)
spectateButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
spectateButton.TextColor3 = Color3.fromRGB(255, 255, 255)
spectateButton.Text = "Spectate"
spectateButton.Font = Enum.Font.SourceSansBold
spectateButton.TextScaled = true
spectateButton.AutoButtonColor = true
Instance.new("UICorner", spectateButton)
spectateButton.Parent = screenGui
local spectateFrame = Instance.new("Frame")
spectateFrame.Size = UDim2.new(0, 250, 0, 60)
spectateFrame.Position = UDim2.new(0, 10, 1, -120)
spectateFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
spectateFrame.Visible = false
Instance.new("UICorner", spectateFrame)
spectateFrame.Parent = screenGui
local leftArrow = Instance.new("TextButton")
leftArrow.Size = UDim2.new(0, 40, 1, 0)
leftArrow.Position = UDim2.new(0, 0, 0, 0)
leftArrow.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
leftArrow.TextColor3 = Color3.fromRGB(255, 255, 255)
leftArrow.Text = "<"
leftArrow.Font = Enum.Font.SourceSansBold
leftArrow.TextScaled = true
Instance.new("UICorner", leftArrow)









tysm man
Also this script is free to use no credit needed
This script works because it has been tested 7 different times and if you have suggestions then tell me and I can maybe add them