Advertisement
InTesting

(Local Script) Viewer Gui (Varies)

May 5th, 2019
2,298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.74 KB | None | 0 0
  1. local runser=  game:GetService("RunService")
  2. if runser:IsClient() then
  3.     local function MakeSpectatorGui(player)
  4.         local SG = Instance.new("ScreenGui",player.PlayerGui)
  5.         SG.Name = 'ViewerGui'
  6.  
  7.         local frame = Instance.new("Frame",SG)
  8.         frame.BackgroundColor3 = Color3.new(0,0,0)
  9.         frame.AnchorPoint = Vector2.new(.5,.5)
  10.         frame.BackgroundTransparency = .5
  11.         frame.Position = UDim2.new(.5,0,.75,0)
  12.         frame.Size = UDim2.new(.5,0,.125,0)
  13.         frame.Selectable = true
  14.         frame.Active = true
  15.         frame.Draggable = true
  16.        
  17.         local left = Instance.new("TextButton",frame)
  18.         left.Name = 'Left'
  19.         left.Size = UDim2.new(0.25, 0,1, 0)
  20.         left.Text = '<-'
  21.        
  22.         local right = Instance.new("TextButton",frame)
  23.         right.Size = left.Size
  24.         right.Name = 'Right'
  25.         right.Parent = frame
  26.         right.AnchorPoint = Vector2.new(1, 1)
  27.         right.Position = UDim2.new(1, 0,1, 0)
  28.         right.Text = '->'
  29.        
  30.         local center = Instance.new("TextButton",frame)
  31.         center.AnchorPoint = Vector2.new(1, 1)
  32.         center.Position = UDim2.new(0.5, 0,1, 0)
  33.         center.Size = UDim2.new(.25, 0,.5, 0)
  34.         center.Name = 'Center'
  35.         center.Text = 'Center'
  36.        
  37.         local TL = Instance.new("TextLabel",frame)
  38.         TL.AnchorPoint = Vector2.new(0.5, 0)
  39.         TL.Position = UDim2.new(0.5, 0,0, 0)
  40.         TL.Size = UDim2.new(.5, 0,.5, 0)
  41.         TL.Text = 'nil'
  42.        
  43.         for _,v in pairs(frame:GetChildren())do
  44.             v.BackgroundColor3 = Color3.new(0,0,0)
  45.             v.Font = Enum.Font.SciFi
  46.             v.TextColor = BrickColor.new("Institutional white")
  47.             v.TextScaled = true
  48.         end
  49.         local cam = workspace.CurrentCamera
  50.         local num = 1
  51.         left.MouseButton1Click:Connect(function()
  52.             local players = game:GetService("Players"):GetChildren()
  53.             num = num - 1
  54.             if num>=0 then
  55.                 num = #players
  56.             end
  57.             while true do
  58.                 local players = game:GetService("Players"):GetChildren()
  59.                 if num==0 then
  60.                     num = #players
  61.                 end
  62.                 local cpl = players[num]
  63.                 local cpc = cpl.Character
  64.                 if cpc~=nil then
  65.                     if cpc:FindFirstChild('Head',true) then
  66.                         -- cam.CFrame = cpc:FindFirstChild('Head',true).CFrame
  67.                         cam.Focus = cpc:FindFirstChild('Head',true).CFrame
  68.                         cam.CameraSubject = cpc:FindFirstChild('Head',true)
  69.                         TL.Text = cpl.Name
  70.                         break
  71.                     else
  72.                         num = num - 1
  73.                     end
  74.                 else
  75.                     num = num - 1
  76.                 end
  77.                 wait()
  78.             end
  79.            
  80.            
  81.         end)
  82.         right.MouseButton1Click:Connect(function()
  83.             local players = game:GetService("Players"):GetChildren()
  84.             num = num + 1
  85.             if num>#players then
  86.                 num = 1
  87.             end
  88.             while true do
  89.                 local players = game:GetService("Players"):GetChildren()
  90.                 if num>#players then
  91.                     num = 1
  92.                 end
  93.                 local cpl = players[num]
  94.                 local cpc = cpl.Character
  95.                 if cpc~=nil then
  96.                     if cpc:FindFirstChild('Head',true) then
  97.                         -- cam.CFrame = cpc:FindFirstChild('Head',true).CFrame
  98.                         cam.Focus = cpc:FindFirstChild('Head',true).CFrame
  99.                         cam.CameraSubject = cpc:FindFirstChild('Head',true)
  100.                         TL.Text = cpl.Name
  101.                         break
  102.                     else
  103.                         num = num - 1
  104.                     end
  105.                 else
  106.                     num = num - 1
  107.                 end
  108.                 wait()
  109.             end
  110.         end)
  111.         center.MouseButton1Click:Connect(function()
  112.             while true do
  113.                 if player.Character~=nil then
  114.                     if player.Character:FindFirstChild('Head',true)
  115.                     then
  116.                         cam.Focus = player.Character:FindFirstChild('Head',true).CFrame
  117.                         cam.CameraSubject = player.Character:FindFirstChild('Head',true)
  118.                         TL.Text = player.Name
  119.                         num = 1
  120.                         break
  121.                     end
  122.                 end
  123.                 wait()
  124.             end
  125.         end)
  126.         owner.Chatted:Connect(function(msg)
  127.             if string.find(msg:lower(),'g/nog') then
  128.                 if owner:FindFirstChild('ViewerGui',true) then
  129.                     owner:FindFirstChild('ViewerGui',true):Destroy()
  130.                 end
  131.             end
  132.         end)
  133.         print'Say "g/nog" to destroy gui.'
  134.     end
  135.     MakeSpectatorGui(owner)
  136. else
  137.     error'Script must be local.'
  138. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement