Advertisement
Rumanthan

🐱🐱🐱🐱🐱🐱🐱🐱

May 18th, 2025 (edited)
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.37 KB | None | 0 0
  1. --🐱 CatSpectator | V 1.0
  2.  
  3. local Players = game:GetService("Players")
  4. local LocalPlayer = Players.LocalPlayer
  5. local Camera = workspace.CurrentCamera
  6. local StarterGui = game:GetService("StarterGui")
  7.  
  8. local playerGui = LocalPlayer:WaitForChild("PlayerGui")
  9. local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
  10.  
  11. local oldGui = playerGui:FindFirstChild("CatSpectatorGUI")
  12. if oldGui then oldGui:Destroy() end
  13.  
  14. local gui = Instance.new("ScreenGui", playerGui)
  15. gui.Name = "CatSpectatorGUI"
  16. gui.ResetOnSpawn = false
  17.  
  18. local function makeCorner(parent, r)
  19. local u = Instance.new("UICorner")
  20. u.CornerRadius = r or UDim.new(0, 10)
  21. u.Parent = parent
  22. end
  23.  
  24. local spectateBar = Instance.new("Frame", gui)
  25. spectateBar.Size = UDim2.new(0, 250, 0, 40)
  26. spectateBar.Position = UDim2.new(0.5, -125, 0, 10)
  27. spectateBar.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
  28. spectateBar.Visible = false
  29. makeCorner(spectateBar)
  30.  
  31. local spectateLabel = Instance.new("TextLabel", spectateBar)
  32. spectateLabel.Size = UDim2.new(1, -40, 1, 0)
  33. spectateLabel.Position = UDim2.new(0, 0, 0, 0)
  34. spectateLabel.BackgroundTransparency = 1
  35. spectateLabel.TextColor3 = Color3.new(1, 1, 1)
  36. spectateLabel.TextSize = 18
  37. spectateLabel.FontFace = Font.new("rbxassetid://12187375716", Enum.FontWeight.Bold, Enum.FontStyle.Normal)
  38. spectateLabel.Text = "[PlayerName]"
  39.  
  40. local closeBtn = Instance.new("TextButton", spectateBar)
  41. closeBtn.Size = UDim2.new(0, 40, 1, 0)
  42. closeBtn.Position = UDim2.new(1, -40, 0, 0)
  43. closeBtn.BackgroundTransparency = 1
  44. closeBtn.TextColor3 = Color3.new(1, 1, 1)
  45. closeBtn.Text = "X"
  46. closeBtn.TextSize = 20
  47. closeBtn.FontFace = spectateLabel.FontFace
  48.  
  49. local frame = Instance.new("Frame", gui)
  50. frame.Size = UDim2.new(0, 320, 0, 270)
  51. frame.Position = UDim2.new(0.5, -160, 0.5, -135)
  52. frame.BackgroundColor3 = Color3.fromRGB(255, 182, 193)
  53. frame.BorderSizePixel = 0
  54. frame.Active = true
  55. frame.Draggable = true
  56. makeCorner(frame)
  57.  
  58. local title = Instance.new("TextLabel", frame)
  59. title.Size = UDim2.new(1, 0, 0, 40)
  60. title.Position = UDim2.new(0, 0, 0, 0)
  61. title.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
  62. title.BorderSizePixel = 0
  63. title.Text = "Cat Spectator"
  64. title.TextColor3 = Color3.new(1, 1, 1)
  65. title.FontFace = spectateLabel.FontFace
  66. title.TextSize = 24
  67. makeCorner(title)
  68.  
  69. local dropdown = Instance.new("TextButton", frame)
  70. dropdown.Size = UDim2.new(1, -20, 0, 35)
  71. dropdown.Position = UDim2.new(0, 10, 0, 50)
  72. dropdown.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
  73. dropdown.TextColor3 = Color3.new(1, 1, 1)
  74. dropdown.Text = "Select a player"
  75. dropdown.FontFace = title.FontFace
  76. dropdown.TextSize = 20
  77. makeCorner(dropdown)
  78.  
  79. local scroll = Instance.new("ScrollingFrame", frame)
  80. scroll.Size = UDim2.new(1, -20, 0, 90)
  81. scroll.Position = UDim2.new(0, 10, 0, 90)
  82. scroll.BackgroundColor3 = Color3.fromRGB(255, 182, 193)
  83. scroll.BorderSizePixel = 0
  84. scroll.ScrollBarThickness = 6
  85. scroll.Visible = false
  86. makeCorner(scroll)
  87.  
  88. local layout = Instance.new("UIListLayout", scroll)
  89. layout.Padding = UDim.new(0, 5)
  90.  
  91. local padding = Instance.new("UIPadding", scroll)
  92. padding.PaddingTop = UDim.new(0, 5)
  93. padding.PaddingBottom = UDim.new(0, 5)
  94. padding.PaddingLeft = UDim.new(0, 5)
  95. padding.PaddingRight = UDim.new(0, 5)
  96.  
  97. local unspec = Instance.new("TextButton", frame)
  98. unspec.Size = UDim2.new(0.5, -15, 0, 30)
  99. unspec.Position = UDim2.new(0, 10, 1, -40)
  100. unspec.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
  101. unspec.TextColor3 = Color3.new(1, 1, 1)
  102. unspec.Text = "Stop Spectating"
  103. unspec.FontFace = title.FontFace
  104. unspec.TextSize = 18
  105. makeCorner(unspec)
  106.  
  107. local tp = Instance.new("TextButton", frame)
  108. tp.Size = UDim2.new(0.5, -15, 0, 30)
  109. tp.Position = UDim2.new(0.5, 5, 1, -40)
  110. tp.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
  111. tp.TextColor3 = Color3.new(1, 1, 1)
  112. tp.Text = "Teleport"
  113. tp.FontFace = title.FontFace
  114. tp.TextSize = 18
  115. makeCorner(tp)
  116.  
  117. local function resetCam()
  118. Camera.CameraSubject = LocalPlayer.Character:FindFirstChild("Humanoid")
  119. Camera.CameraType = Enum.CameraType.Custom
  120. dropdown.Text = "Select a player"
  121. spectateBar.Visible = false
  122. end
  123.  
  124. unspec.MouseButton1Click:Connect(resetCam)
  125. closeBtn.MouseButton1Click:Connect(resetCam)
  126.  
  127. dropdown.MouseButton1Click:Connect(function()
  128. scroll.Visible = not scroll.Visible
  129. end)
  130.  
  131. local function update()
  132. for _, b in pairs(scroll:GetChildren()) do
  133. if b:IsA("TextButton") then
  134. b:Destroy()
  135. end
  136. end
  137.  
  138. for _, plr in ipairs(Players:GetPlayers()) do
  139. if plr ~= LocalPlayer then
  140. local btn = Instance.new("TextButton", scroll)
  141. btn.Size = UDim2.new(1, 0, 0, 30)
  142. btn.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
  143. btn.TextColor3 = Color3.new(1, 1, 1)
  144. btn.Text = plr.Name
  145. btn.FontFace = title.FontFace
  146. btn.TextSize = 18
  147. makeCorner(btn, UDim.new(0, 6))
  148.  
  149. btn.MouseButton1Click:Connect(function()
  150. dropdown.Text = plr.Name
  151. scroll.Visible = false
  152. if plr.Character and plr.Character:FindFirstChild("Humanoid") then
  153. Camera.CameraSubject = plr.Character:FindFirstChild("Humanoid")
  154. Camera.CameraType = Enum.CameraType.Custom
  155. spectateLabel.Text = "["..plr.Name.."]"
  156. spectateBar.Visible = true
  157. else
  158. resetCam()
  159. end
  160. end)
  161. end
  162. end
  163.  
  164. scroll.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 10)
  165. end
  166.  
  167. tp.MouseButton1Click:Connect(function()
  168. local name = dropdown.Text
  169. local target = Players:FindFirstChild(name)
  170. if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
  171. local hrp = target.Character.HumanoidRootPart
  172. char:PivotTo(hrp.CFrame + Vector3.new(0, 5, 0))
  173. end
  174. end)
  175.  
  176. Players.PlayerAdded:Connect(update)
  177. Players.PlayerRemoving:Connect(function(p)
  178. if dropdown.Text == p.Name then resetCam() end
  179. update()
  180. end)
  181.  
  182. gui.Destroying:Connect(resetCam)
  183. update()
  184.  
  185. -- Copy Discord link and show Roblox notification toast
  186. if setclipboard then
  187. setclipboard("https://discord.gg/qwacMcXA")
  188. end
  189.  
  190. StarterGui:SetCore("SendNotification", {
  191. Title = "Discord link copied!";
  192. Text = "Discord has been copied please be kind and join itβ™₯️";
  193. Duration = 5;
  194. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement