Run it
Copy the script and paste it into your executor.
:()
(() .Loaded:() )
Players = :()
LocalPlayer = Players.LocalPlayer
LocalPlayer
(() LocalPlayer = Players:():() )
LocalPlayer = Players.LocalPlayer
globalEnv = ( ())
SCRIPT_ID =
globalEnv[SCRIPT_ID] (globalEnv[SCRIPT_ID].Destroy) ==
(() globalEnv[SCRIPT_ID].() )
globalEnv[SCRIPT_ID] =
.()
Janitor = { Connections = {}, Instances = {}, RenderSteps = {}, Actions = {} }
Janitor:(conn) .(self.Connections, conn) conn
Janitor:(ins) .(self.Instances, ins) ins
Janitor:(name) .(self.RenderSteps, name) name
Janitor:(name) .(self.Actions, name) name
Janitor.()
_, conn (Janitor.Connections) conn conn.Connected conn:()
_, ins (Janitor.Instances) ins ins.Parent ins:()
RunService = :()
_, name (Janitor.RenderSteps) (() RunService:(name) )
_, name (Janitor.Actions) (() :():(name) )
UserInputService = :()
UserGameSettings = ():()
UserInputService.MouseBehavior = .MouseBehavior.Default
(() UserGameSettings.RotationType = .RotationType.MovementRelative )
(() :().LocalPlayer:().Icon = )
globalEnv[SCRIPT_ID] = Janitor
StarterGui = :()
TARGET_USERNAME =
(player)
player.Name == TARGET_USERNAME
.(()
success =
success globalEnv[SCRIPT_ID] == Janitor
success = (()
StarterGui:(, {
Title = ,
Text = player.DisplayName .. ,
Duration =
})
)
success .()
)
Janitor:(Players.PlayerAdded:(sendCreatorNotification))
_, player (Players:()) (player)
RunService = :()
UserInputService = :()
ContextActionService = :()
HapticService = :()
PlayerGui = LocalPlayer:(, )
UserGameSettings = ():()
(enabled)
(()
enabled
UserGameSettings.RotationType ~= .RotationType.CameraRelative
UserGameSettings.RotationType = .RotationType.CameraRelative
UserGameSettings.RotationType ~= .RotationType.MovementRelative
UserGameSettings.RotationType = .RotationType.MovementRelative
)
ShiftLockGui = .()
ShiftLockGui.Name =
ShiftLockGui.ResetOnSpawn =
ShiftLockGui.Parent = PlayerGui
Janitor:(ShiftLockGui)
LockButton = .()
LockButton.Name =
LockButton.Parent = ShiftLockGui
LockButton.AnchorPoint = .(, )
LockButton.Position = .(, , , )
LockButton.Size = .(, , , )
LockButton.BackgroundTransparency =
LockButton.Image =
UIAspect = .()
UIAspect.AspectRatio =
UIAspect.AspectType = .AspectType.ScaleWithParentSize
UIAspect.Parent = LockButton
Crosshair = .()
Crosshair.Name =
Crosshair.Parent = ShiftLockGui
Crosshair.AnchorPoint = .(, )
Crosshair.Position = .(, , , -)
Crosshair.Size = .(, , , )
Crosshair.BackgroundTransparency =
Crosshair.Image =
Crosshair.Visible =
isShiftLockEnabled =
OFFSET_VAL =
isMobile =
MOUSE_SINK_ACTION =
Janitor:(MOUSE_SINK_ACTION)
isCameraAnimated =
animatedFrameCounter =
currentTargetZoom =
smoothedOffset =
ANIMATION_SPEED =
FIRST_PERSON_THRESHOLD =
(actionName, inputState, inputObject)
.ContextActionResult.Sink
(deltaTime)
deltaTime = deltaTime
cam = .CurrentCamera
cam
character = LocalPlayer.Character
rootPart = character character:()
humanoid = character character:()
isDeadState = ( character humanoid humanoid.Health <= rootPart)
isCurrentlyAnimated =
isDeadState
cam.CameraType == .CameraType.Scriptable cam.CameraSubject ~= humanoid
isCurrentlyAnimated =
isCurrentlyAnimated
animatedFrameCounter =
isCameraAnimated =
animatedFrameCounter >
animatedFrameCounter = animatedFrameCounter -
isCameraAnimated =
isCameraAnimated =
isShiftLockEnabled
UserInputService.MouseBehavior = .MouseBehavior.LockCenter
()
Crosshair.Visible = (isCameraAnimated == ) isMobile
(()
LocalPlayer.DevCameraOcclusionMode ~= .DevCameraOcclusionMode.Invisicam
LocalPlayer.DevCameraOcclusionMode = .DevCameraOcclusionMode.Invisicam
)
Crosshair.Visible =
dynamicInvisicamDistance = currentTargetZoom
cam.Focus
dynamicInvisicamDistance = (cam.Focus.p - cam.CFrame.p).Magnitude
isFirstPerson = (dynamicInvisicamDistance < FIRST_PERSON_THRESHOLD)
targetOffset = (isShiftLockEnabled isFirstPerson isCameraAnimated) OFFSET_VAL
smoothedOffset = targetOffset
smoothedOffset ~= isShiftLockEnabled
shiftedCFrame = cam.CFrame * .(smoothedOffset, , )
cam.CFrame = shiftedCFrame
cam.Focus = shiftedCFrame * .(, , -dynamicInvisicamDistance)
(forceState)
forceState ~= isShiftLockEnabled = forceState isShiftLockEnabled = isShiftLockEnabled
.(()
gamepad = .UserInputType.Gamepad1
HapticService:(gamepad)
(() HapticService:(gamepad, .VibrationMotor.Large, ) .() HapticService:(gamepad, .VibrationMotor.Large, ) )
)
isShiftLockEnabled
LockButton.Image =
LocalPlayer:().Icon =
()
isMobile
ContextActionService:(
MOUSE_SINK_ACTION, handleRightClick, ,
.ContextActionPriority.High.Value + , .UserInputType.MouseButton2
)
(()
UserGameSettings.ComputerCameraMovementMode = .ComputerCameraMovementMode.Classic
UserGameSettings.TouchCameraMovementMode = .TouchCameraMovementMode.Classic
)
LockButton.Image =
LocalPlayer:().Icon =
ContextActionService:(MOUSE_SINK_ACTION)
()
UserInputService.MouseBehavior = .MouseBehavior.Default
(()
LocalPlayer.DevCameraOcclusionMode = .DevCameraOcclusionMode.Zoom
)
RunService:()
RunService:(, .RenderPriority.Camera.Value + , enforceShiftLock)
Janitor:()
(lastInputType)
isMobile = (lastInputType == .UserInputType.Touch)
LocalPlayer.DevEnableMouseLock =
isMobile
LockButton.Visible =
ContextActionService:(MOUSE_SINK_ACTION)
LockButton.Visible =
isShiftLockEnabled
ContextActionService:(
MOUSE_SINK_ACTION, handleRightClick, ,
.ContextActionPriority.High.Value + , .UserInputType.MouseButton2
)
Janitor:(UserInputService.PointerAction:((wheelDelta)
wheelDelta ~=
currentTargetZoom = wheelDelta > .(, currentTargetZoom - ) .(LocalPlayer.CameraMaxZoomDistance, currentTargetZoom + )
))
Janitor:(UserInputService.InputBegan:((input, gpe)
gpe
isMobile (input.KeyCode == .KeyCode.LeftShift input.KeyCode == .KeyCode.RightShift)
()
))
Janitor:(LockButton.MouseButton1Click:(() isMobile () ))
Janitor:(UserInputService.LastInputTypeChanged:(UpdateDeviceUI))
(UserInputService:())
Janitor:(LocalPlayer.CharacterAdded:((character)
currentTargetZoom =
smoothedOffset =
isShiftLockEnabled
LocalPlayer:().Icon =
()
isMobile
ContextActionService:(MOUSE_SINK_ACTION, handleRightClick, , .ContextActionPriority.High.Value + , .UserInputType.MouseButton2)
()
UserInputService.MouseBehavior = .MouseBehavior.Default
))

Universal