Run it
Copy the script and paste it into your executor.
--// Services
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RS = game:GetService("RunService")
local LP = Players.LocalPlayer
local Cam = workspace.CurrentCamera
--// State
local flying = false
velocity = .zero
speed =
sensitivity =
camRot = .()
con
moveKeys = {
W = , A = , S = , D = ,
Space = , LeftControl =
}
UIS.InputBegan:((input, gp)
gp
input.KeyCode == .KeyCode.LeftShift
flying = flying
flying
Cam.CameraType = .CameraType.Scriptable
camRot = .(Cam.CFrame:())
UIS.MouseBehavior = .MouseBehavior.LockCenter
UIS.MouseIconEnabled =
con = RS.RenderStepped:((dt)
delta = UIS:()
camRot = camRot + .(-delta.Y, -delta.X) * sensitivity
camRot = .(.(camRot.X, -, ), camRot.Y)
rot = .(, camRot.Y, ) * .(camRot.X, , )
moveDir = .zero
moveKeys.W moveDir += .(, , -)
moveKeys.S moveDir += .(, , )
moveKeys.A moveDir += .(-, , )
moveKeys.D moveDir += .(, , )
moveKeys.Space moveDir += .(, , )
moveKeys.LeftControl moveDir += .(, -, )
moveDir.Magnitude >
velocity = velocity:((rot * moveDir.Unit) * speed, )
velocity *=
Cam.CFrame = Cam.CFrame + velocity * dt
Cam.CFrame = .(Cam.CFrame.Position) * rot
)
con con:()
Cam.CameraType = .CameraType.Custom
UIS.MouseBehavior = .MouseBehavior.Default
UIS.MouseIconEnabled =
key = input.KeyCode.Name
moveKeys[key] ~=
moveKeys[key] =
)
UIS.InputEnded:((input)
key = input.KeyCode.Name
moveKeys[key] ~=
moveKeys[key] =
)- press right shift or E on your keyboard to enter the freecam and when you on freecam mode you can grab anything from short distance like you need a item that beside/short distance from you like 2 studs or 1 studs from you and you can grab them as far you can - Open source ig