Run it
Copy the script and paste it into your executor.
local player = game.Players.LocalPlayer
local camera = workspace.CurrentCamera
local runService = game:GetService("RunService")
local userInput = game:GetService("UserInputService")
camera.CameraType = Enum.CameraType.Scriptable
player.CameraMode = Enum.CameraMode.Classic
local sensitivity = 0.15
local pitch = 0
local yaw = 0
local function hideHead(character)
for _, obj in pairs(character:())
obj:() obj.Name ==
obj.LocalTransparencyModifier =
obj:()
handle = obj:()
handle
handle.LocalTransparencyModifier =
(character)
humanoid = character:()
root = character:()
head = character:()
humanoid.AutoRotate =
(character)
userInput.MouseBehavior = .MouseBehavior.LockCenter
userInput.MouseIconEnabled =
userInput.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
yaw -= input.Delta.X * sensitivity
pitch -= input.Delta.Y * sensitivity
pitch = .(pitch, -, )
)
runService.RenderStepped:(()
humanoid.Health <=
root.CFrame = .(root.Position) * .(, .(yaw), )
baseCFrame = root.CFrame * .(, , )
camera.CFrame =
baseCFrame
* .(.(pitch), , )
* .(, , -)
)
player.Character
(player.Character)
player.CharacterAdded:(setupCharacter)
It's the same as the other one but it's not dizzy. Realistic version: https://scriptblox.com/script/Universal-Script-Realistic-First-Person-Script-111413

Universal