Run it
Copy the script and paste it into your executor.
Players = :()
LocalPlayer = Players.LocalPlayer
Camera = .CurrentCamera
RunService = :()
UIS = :()
screenGui = .()
screenGui.ResetOnSpawn =
screenGui.Parent = LocalPlayer:()
frame = .()
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.BorderSizePixel =
frame.Parent = screenGui
titleBar = .()
titleBar.Size = .(, , , )
titleBar.BackgroundColor3 = .(, , )
titleBar.BorderSizePixel =
titleBar.Parent = frame
titleText = .()
titleText.Size = .(, -, , )
titleText.Position = .(, , , )
titleText.BackgroundTransparency =
titleText.Text =
titleText.Font = .Font.GothamBold
titleText.TextSize =
titleText.TextColor3 = .(, , )
titleText.TextXAlignment = .TextXAlignment.Left
titleText.Parent = titleBar
dragging =
dragStart, startPos
titleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
dragStart = input.Position
startPos = frame.Position
)
titleBar.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement dragging
delta = input.Position - dragStart
frame.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
UIS.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
)
nameBox = .()
nameBox.PlaceholderText =
nameBox.Size = .(, -, , )
nameBox.Position = .(, , , )
nameBox.BackgroundColor3 = .(, , )
nameBox.BorderSizePixel =
nameBox.TextColor3 = .(, , )
nameBox.Font = .Font.Gotham
nameBox.TextSize =
nameBox.ClearTextOnFocus =
nameBox.Parent = frame
dropdown = .()
dropdown.Size = .(, -, , )
dropdown.Position = .(, , , )
dropdown.BackgroundColor3 = .(, , )
dropdown.BorderSizePixel =
dropdown.ClipsDescendants =
dropdown.Parent = frame
uiListLayout = .()
uiListLayout.SortOrder = .SortOrder.LayoutOrder
uiListLayout.Parent = dropdown
spectateButton = .()
spectateButton.Text =
spectateButton.Size = .(, -, , )
spectateButton.Position = .(, , , )
spectateButton.BackgroundColor3 = .(, , )
spectateButton.BorderSizePixel =
spectateButton.TextColor3 = .(, , )
spectateButton.Font = .Font.GothamBold
spectateButton.TextSize =
spectateButton.Parent = frame
stopButton = .()
stopButton.Text =
stopButton.Size = .(, -, , )
stopButton.Position = .(, , , )
stopButton.BackgroundColor3 = .(, , )
stopButton.BorderSizePixel =
stopButton.TextColor3 = .(, , )
stopButton.Font = .Font.GothamBold
stopButton.TextSize =
stopButton.Parent = frame
spectating =
spectateLoop =
guiVisible =
()
_, item (dropdown:())
item:()
item:()
dropdown.Size = .(, -, , )
(text)
()
#text <
matches = {}
lowerText = text:()
_, player (Players:())
player.Name:():(, #text) == lowerText
.(matches, player.Name)
#matches ==
maxItems = .(#matches, )
dropdown.Size = .(, -, , maxItems * )
i = , maxItems
btn = .()
btn.Size = .(, , , )
btn.Position = .(, , , (i-)*)
btn.BackgroundColor3 = .(, , )
btn.BorderSizePixel =
btn.TextColor3 = .(, , )
btn.Font = .Font.Gotham
btn.TextSize =
btn.Text = matches[i]
btn.Parent = dropdown
btn.MouseButton1Click:(()
nameBox.Text = btn.Text
()
)
nameBox:():(()
(nameBox.Text)
)
(name)
_, player (Players:())
player.Name == name
player
spectateButton.MouseButton1Click:(()
target = (nameBox.Text)
target target ~= LocalPlayer
spectating = target
spectateLoop spectateLoop:()
spectateLoop = RunService.RenderStepped:(()
spectating spectating.Character spectating.Character:()
Camera.CameraSubject = spectating.Character.Humanoid
)
()
)
stopButton.MouseButton1Click:(()
spectating =
spectateLoop
spectateLoop:()
spectateLoop =
LocalPlayer.Character LocalPlayer.Character:()
Camera.CameraSubject = LocalPlayer.Character.Humanoid
)
UIS.InputBegan:((input, gameProcessed)
gameProcessed input.KeyCode == .KeyCode.P
guiVisible = guiVisible
frame.Visible = guiVisible
guiVisible
()
)