Run it
Copy the script and paste it into your executor.
TweenService = :()
Players = :()
RunService = :()
UserInputService = :()
Camera = .CurrentCamera
LocalPlayer = Players.LocalPlayer
fovList = {, , , }
fovIndex =
isShaking =
shakeDuration =
shakeMagnitude =
shakeStartTime =
originalCFrame =
()
(Camera.CFrame.Position - Camera.Focus.Position).Magnitude <
()
LocalPlayer.Character
hrp = LocalPlayer.Character:()
hrp
targetPos = hrp.Position - hrp.CFrame.LookVector * + .(, , )
newCFrame = .(targetPos, hrp.Position)
tweenInfo = TweenInfo.(, .EasingStyle.Sine, .EasingDirection.Out)
goal = { = newCFrame}
tween = TweenService:(Camera, tweenInfo, goal)
tween:()
()
()
isShaking
isShaking =
()
isShaking =
shakeStartTime = ()
originalCFrame = Camera.CFrame
()
isShaking ()
elapsed = () - shakeStartTime
elapsed < shakeDuration
offset = .(
(.() - ) * shakeMagnitude,
(.() - ) * shakeMagnitude,
(.() - ) * shakeMagnitude
)
Camera.CFrame = originalCFrame * .(offset)
isShaking =
Camera.CFrame = originalCFrame
originalCFrame =
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.KeyCode == .KeyCode.R
fovIndex +=
fovIndex > #fovList fovIndex =
wasFirstPerson = ()
Camera.FieldOfView = fovList[fovIndex]
wasFirstPerson ()
()
()
)
(character)
humanoid = character:()
RunService.RenderStepped:(()
inFirstPerson = ()
head = character:()
head
head.LocalTransparencyModifier = inFirstPerson
_, accessory (character:())
accessory:()
handle = accessory:()
handle
handle.LocalTransparencyModifier = inFirstPerson
_, partName ({
, , ,
, , ,
, , ,
, , ,
,
})
part = character:(partName)
part
part.LocalTransparencyModifier =
root = character:()
root
isMoving = root:() root.Running.IsPlaying
humanoid.CameraOffset = isMoving .(, , -) .(, -, -)
()
)
LocalPlayer.Character
(LocalPlayer.Character)
LocalPlayer.CharacterAdded:(setupCharacter)
Uuy

Universal