player = game.Players.LocalPlayer
mouse = player:GetMouse()
camera = game.Workspace.CurrentCamera
UserInputService = game:GetService("UserInputService")
wait(2)
game.Players.LocalPlayer.Character:Destroy()
camera.CameraType = "Scriptable"
camera.CoordinateFrame = CFrame.new(0,18,0)
keys = {}
mouse.KeyDown:connect(function(key) keys[key] = true end)
mouse.KeyUp:connect(function(key) keys[key] = nil end)
UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
UserInputService.InputChanged:connect(function(inputObject)
if inputObject.UserInputType == Enum.UserInputType.MouseMovement then
print("delta is (" .. tostring(inputObject.Delta.x) .. ", " .. tostring(inputObject.Delta.y) .. ")")
camera.CoordinateFrame = CFrame.Angles(0,math.rad(-inputObject.Delta.x),0) * CFrame.Angles(math.rad(-inputObject.Delta.y),0,0) * camera.CoordinateFrame
-- glitches here
end
end)
game:GetService("RunService").RenderStepped:connect(function()
--Basic Moving
if keys["w"] then
camera.CoordinateFrame = camera.CoordinateFrame * CFrame.new(0,0,-1)
end
if keys["s"] then
camera.CoordinateFrame = camera.CoordinateFrame * CFrame.new(0,0,1)
end
if keys["a"] then
camera.CoordinateFrame = camera.CoordinateFrame * CFrame.new(-1,0,0)
end
if keys["d"] then
camera.CoordinateFrame = camera.CoordinateFrame * CFrame.new(1,0,0)
end
--Basic Moving
end)
If you use it and look around, its very weird and "rolls"
