-- Remade by tibe0124 -- Subscribe tibe_D4RK :> local ShiftLockScreenGui = Instance.new("ScreenGui") local ShiftLockButton = Instance.new("ImageButton") local ShiftlockCursor = Instance.new("ImageLabel") local CoreGui = game:GetService("CoreGui") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local ContextActionService = game:GetService("ContextActionService") local Player = Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local States = { Off = "rbxasset://6672892496", On = "rbxasset://6672892496", Lock = "rbxasset://textures/MouseLockedCursor.png", Lock2 = "rbxasset://SystemCursors/Cross" } local MaxLength = 900000 local EnabledOffset = CFrame.new(1.7, 0, 0) local DisabledOffset = CFrame.new(-1.7, 0, 0) local Active ShiftLockScreenGui.Name = "Shiftlock (CoreGui)" ShiftLockScreenGui.Parent = CoreGui ShiftLockScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ShiftLockScreenGui.ResetOnSpawn = false ShiftLockButton.Parent = ShiftLockScreenGui ShiftLockButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ShiftLockButton.BackgroundTransparency = 1.000 ShiftLockButton.Position = UDim2.new(0.7, 0, 0.75, 0) ShiftLockButton.Size = UDim2.new(0.0636147112, 0, 0.0661305636, 0) ShiftLockButton.SizeConstraint = Enum.SizeConstraint.RelativeXX ShiftLockButton.Image = States.Off ShiftlockCursor.Name = "Shiftlock Cursor" ShiftlockCursor.Parent = ShiftLockScreenGui ShiftlockCursor.Image = States.Lock ShiftlockCursor.Size = UDim2.new(0.03, 0, 0.03, 0) ShiftlockCursor.Position = UDim2.new(0.5, 0, 0.5, 0) ShiftlockCursor.AnchorPoint = Vector2.new(0.5, 0.5) ShiftlockCursor.SizeConstraint = Enum.SizeConstraint.RelativeXX ShiftlockCursor.BackgroundTransparency = 1 ShiftlockCursor.BackgroundColor3 = Color3.fromRGB(255, 0, 0) ShiftlockCursor.Visible = false ShiftLockButton.MouseButton1Click:Connect( function() if not Active then Active = RunService.RenderStepped:Connect( function() Player.Character.Humanoid.AutoRotate = false ShiftLockButton.Image = States.On ShiftlockCursor.Visible = true Player.Character.HumanoidRootPart.CFrame = CFrame.new( Player.Character.HumanoidRootPart.Position, Vector3.new( workspace.CurrentCamera.CFrame.LookVector.X * MaxLength, Player.Character.HumanoidRootPart.Position.Y, workspace.CurrentCamera.CFrame.LookVector.Z * MaxLength ) ) workspace.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame * EnabledOffset workspace.CurrentCamera.Focus = CFrame.fromMatrix( workspace.CurrentCamera.Focus.Position, workspace.CurrentCamera.CFrame.RightVector, workspace.CurrentCamera.CFrame.UpVector ) * EnabledOffset end ) else Player.Character.Humanoid.AutoRotate = true ShiftLockButton.Image = States.Off workspace.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame * DisabledOffset ShiftlockCursor.Visible = false pcall( function() Active:Disconnect() Active = nil end ) end end ) local ShiftLockAction = ContextActionService:BindAction("Shift Lock", ShiftLock, false, "On") ContextActionService:SetPosition("Shift Lock", UDim2.new(0.8, 0, 0.8, 0)) return {} and ShiftLockAction