AtomicBear011

Untitled

Mar 15th, 2020
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.91 KB | None | 0 0
  1. local uis = game:service("UserInputService")
  2. local localplayer = game.Players.LocalPlayer
  3. local freecamstate = false
  4. local fcspeed = 0.5
  5. local camera1,camera2,camera3 = 0,0,0
  6. local fckeybind = "V"
  7. local tpkeybind = "B"
  8.  
  9. local RenderStepped = game:service('RunService').RenderStepped
  10.  
  11. local function freecam()
  12.     local fc = Instance.new("Part")
  13.     fc.Name = "fcpart"
  14.     fc.CanCollide = false
  15.     fc.Anchored = true
  16.     fc.Transparency = 1
  17.     fc.Size = Vector3.new(1,1,1)
  18.     fc.CFrame = localplayer.Character.Head.CFrame
  19.     local cam = workspace.CurrentCamera
  20.     cam.CameraSubject = fc
  21.     cam.CameraType = 'Custom'
  22.     fc.Parent = localplayer.Character
  23.     local diedconnection = localplayer.Character.Humanoid.Died:Connect(function()
  24.         freecamstate = false
  25.         if localplayer.Character:FindFirstChild("fcpart") then
  26.             localplayer.Character.fcpart:Destroy()
  27.             local cam = workspace.CurrentCamera
  28.             cam.CameraSubject = localplayer.Character.Humanoid
  29.             cam.CameraType = 'Custom'
  30.             localplayer.Character.Head.Anchored = false
  31.         end
  32.     end)
  33.     repeat
  34.         if localplayer.Character:FindFirstChild("fcpart") then
  35.             fc.CFrame = CFrame.new(Vector3.new(fc.Position.X,fc.Position.Y+camera3,fc.Position.Z),cam.CFrame.p)*CFrame.new(camera2,0,camera1)
  36.             localplayer.Character.Head.Anchored = true
  37.         end
  38.         RenderStepped:wait()
  39.     until not localplayer.Character:FindFirstChild("fcpart")
  40.     diedconnection:Disconnect()
  41. end
  42.  
  43. uis.InputBegan:Connect(function(input, gp)
  44.     if gp then return end
  45.     if input.KeyCode == Enum.KeyCode[fckeybind] then
  46.         if not freecamstate then
  47.             if localplayer.Character and localplayer.Character:FindFirstChild("Head") and localplayer.Character.Head:FindFirstChild("Neck") then
  48.                 freecamstate = true
  49.                 freecam()
  50.             end
  51.         else
  52.             freecamstate = false
  53.             if localplayer.Character:FindFirstChild("fcpart") then
  54.                 localplayer.Character.fcpart:Destroy()
  55.                 local cam = workspace.CurrentCamera
  56.                 cam.CameraSubject = localplayer.Character.Humanoid
  57.                 cam.CameraType = 'Custom'
  58.                 localplayer.Character.Head.Anchored = false
  59.             end
  60.         end
  61.     elseif input.KeyCode == Enum.KeyCode[tpkeybind] and freecamstate then
  62.         if localplayer.Character:FindFirstChild("HumanoidRootPart") then
  63.             localplayer.Character.Head.Anchored = false
  64.             localplayer.Character.HumanoidRootPart.CFrame = localplayer.Character.fcpart.CFrame
  65.             localplayer.Character.Head.Anchored = true
  66.         end
  67.     elseif input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.Up then
  68.         if not freecamstate then return end
  69.         camera1 = fcspeed
  70.     elseif input.KeyCode == Enum.KeyCode.S or input.KeyCode == Enum.KeyCode.Down then
  71.         if not freecamstate then return end
  72.         camera1 = (fcspeed*-1)
  73.     elseif input.KeyCode == Enum.KeyCode.A or input.KeyCode == Enum.KeyCode.Left then
  74.         if not freecamstate then return end
  75.         camera2 = fcspeed
  76.     elseif input.KeyCode == Enum.KeyCode.D or input.KeyCode == Enum.KeyCode.Right then
  77.         if not freecamstate then return end
  78.         camera2 = (fcspeed*-1)
  79.     elseif input.KeyCode == Enum.KeyCode.E or input.KeyCode == Enum.KeyCode.Space then
  80.         if not freecamstate then return end
  81.         camera3 = fcspeed
  82.     elseif input.KeyCode == Enum.KeyCode.Q or input.KeyCode == Enum.KeyCode.LeftControl then
  83.         if not freecamstate then return end
  84.         camera3 = (fcspeed*-1)
  85.     end
  86. end)
  87.  
  88. uis.InputEnded:Connect(function(input, gp)
  89.     if gp or not freecamstate then return end
  90.     if input.KeyCode == Enum.KeyCode.W or input.KeyCode == Enum.KeyCode.Up then
  91.         camera1 = 0
  92.     elseif input.KeyCode == Enum.KeyCode.S or input.KeyCode == Enum.KeyCode.Down then
  93.         camera1 = 0
  94.     elseif input.KeyCode == Enum.KeyCode.A or input.KeyCode == Enum.KeyCode.Left then
  95.         camera2 = 0
  96.     elseif input.KeyCode == Enum.KeyCode.D or input.KeyCode == Enum.KeyCode.Right then
  97.         camera2 = 0
  98.     elseif input.KeyCode == Enum.KeyCode.E or input.KeyCode == Enum.KeyCode.Space then
  99.         camera3 = 0
  100.     elseif input.KeyCode == Enum.KeyCode.Q or input.KeyCode == Enum.KeyCode.LeftControl then
  101.         camera3 = 0
  102.     end
  103. end)
Advertisement
Add Comment
Please, Sign In to add comment