local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera local enabled = false local ICON_ON = "rbxassetid://111486205059637" local ICON_OFF = "rbxassetid://137244388976758" local gui = Instance.new("ScreenGui") gui.Name = "MobileShiftLock" gui.ResetOnSpawn = false gui.Parent = player:WaitForChild("PlayerGui") local btn = Instance.new("ImageButton") btn.Size = UDim2.new(0, 50, 0, 50) btn.Position = UDim2.new(0.85, 0, 0.5, 0) btn.BackgroundColor3 = Color3.fromRGB(0, 0, 0) btn.BackgroundTransparency = 0.4 btn.Image = ICON_OFF btn.Active = true btn.Draggable = true btn.Parent = gui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 12) corner.Parent = btn local function toggle() enabled = not enabled if enabled then btn.Image = ICON_ON btn.ImageColor3 = Color3.fromRGB(0, 255, 150) else btn.Image = ICON_OFF btn.ImageColor3 = Color3.fromRGB(255, 255, 255) UserInputService.MouseBehavior = Enum.MouseBehavior.Default end end btn.MouseButton1Click:Connect(toggle) RunService.RenderStepped:Connect(function() if not enabled then return end local char = player.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") if hrp then UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter local look = camera.CFrame.LookVector hrp.CFrame = CFrame.new(hrp.Position, hrp.Position + Vector3.new(look.X, 0, look.Z)) end end)