local Players = game:GetService("Players") local Player = Players.LocalPlayer local function tiltCharacter45() local char = Player.Character if not char then return end local humanoidRoot = char:FindFirstChild("HumanoidRootPart") if not humanoidRoot then return end -- Save original CFrame (position + rotation) local originalCF = humanoidRoot.CFrame -- Tilt X-axis 45° (forward down) local tiltCF = CFrame.Angles(math.rad(90), 0, 0) -- Apply tilt (keep position, rotate locally) humanoidRoot.CFrame = CFrame.new(originalCF.Position) * tiltCF * originalCF.Rotation end -- Simple GUI Button (once) local screenGui = Instance.new("ScreenGui", Player:WaitForChild("PlayerGui")) local button = Instance.new("TextButton", screenGui) button.Size = UDim2.new(0, 200, 0, 50) button.Position = UDim2.new(0.5, -100, 0, 10) button.Text = "↯ Tilt 45° Down" button.TextScaled = true button.BackgroundColor3 = Color3.fromRGB(70, 130, 180) button.BorderSizePixel = 0 button.MouseButton1Click:Connect(tiltCharacter45) -- LocalScript local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Player = Players.LocalPlayer local Camera = workspace.CurrentCamera repeat wait() until Camera.CameraType == Enum.CameraType.Custom local function rotateCamera(deg) local root = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") if not root then return end local newCFrame = CFrame.Angles(0, math.rad(deg), 0) * Camera.CFrame Camera.CFrame = CFrame.new(Camera.CFrame.Position) * newCFrame.Rotation end local function restoreCamera() for i = 1, 100 do -- REPEAT 5 TIMES rotateCamera(-180) -- left RunService.Heartbeat:Wait() -- wait 1 frame rotateCamera(180) -- right (back to net 0°) RunService.Heartbeat:Wait() -- optional second frame gap (remove if you want back-to-back) end end -- GUI (right-aligned) local screenGui = Instance.new("ScreenGui") screenGui.Name = "RotateCamGui" screenGui.Parent = Player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 50) frame.Position = UDim2.new(1, -210, 0, 10) -- RIGHT ALIGN frame.BackgroundColor3 = Color3.fromRGB(60, 60, 60) frame.BorderSizePixel = 0 frame.Draggable = true frame.Active = true frame.Parent = screenGui local button = Instance.new("TextButton") button.Size = UDim2.new(1, 0, 1, 0) button.Text = "↺↻ Rotate x5" button.TextScaled = true button.Parent = frame button.MouseButton1Click:Connect(restoreCamera) -- Visual feedback button.MouseButton1Down:Connect(function() button.BackgroundColor3 = Color3.fromRGB(100, 100, 255) end) button.MouseButton1Up:Connect(function() button.BackgroundColor3 = Color3.fromRGB(40, 40, 40) end) local Players = game:GetService("Players") local Player = Players.LocalPlayer local function tiltCharacter45() local char = Player.Character if not char then return end local humanoidRoot = char:FindFirstChild("HumanoidRootPart") if not humanoidRoot then return end -- Save original CFrame (position + rotation) local originalCF = humanoidRoot.CFrame -- Tilt X-axis 45° (forward down) local tiltCF = CFrame.Angles(math.rad(90), 0, 0) -- Apply tilt (keep position, rotate locally) humanoidRoot.CFrame = CFrame.new(originalCF.Position) * tiltCF * originalCF.Rotation end -- Simple GUI Button (once) local screenGui = Instance.new("ScreenGui", Player:WaitForChild("PlayerGui")) local button = Instance.new("TextButton", screenGui) button.Size = UDim2.new(0, 200, 0, 50) button.Position = UDim2.new(0.5, -100, 0, 10) button.Text = "↯ HHJ tilter, replicates the mars jump tilt" button.TextScaled = true button.BackgroundColor3 = Color3.fromRGB(70, 130, 180) button.BorderSizePixel = 0 button.MouseButton1Click:Connect(tiltCharacter45) -- LocalScript local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Player = Players.LocalPlayer local Camera = workspace.CurrentCamera repeat wait() until Camera.CameraType == Enum.CameraType.Custom local function rotateCamera(deg) local root = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart") if not root then return end local newCFrame = CFrame.Angles(0, math.rad(deg), 0) * Camera.CFrame Camera.CFrame = CFrame.new(Camera.CFrame.Position) * newCFrame.Rotation end local function restoreCamera() for i = 1, 100 do -- REPEAT 5 TIMES rotateCamera(-180) -- left RunService.Heartbeat:Wait() -- wait 1 frame rotateCamera(180) -- right (back to net 0°) RunService.Heartbeat:Wait() -- optional second frame gap (remove if you want back-to-back) end end -- GUI (right-aligned) local screenGui = Instance.new("ScreenGui") screenGui.Name = "RotateCamGui" screenGui.Parent = Player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 50) frame.Position = UDim2.new(1, -210, 0, 10) -- RIGHT ALIGN frame.BackgroundColor3 = Color3.fromRGB(60, 60, 60) frame.BorderSizePixel = 0 frame.Draggable = true frame.Active = true frame.Parent = screenGui local button = Instance.new("TextButton") button.Size = UDim2.new(1, 0, 1, 0) button.Text = "↺↻ HHJ spinner to make the macro work" button.TextScaled = true button.Parent = frame button.MouseButton1Click:Connect(restoreCamera) -- Visual feedback button.MouseButton1Down:Connect(function() button.BackgroundColor3 = Color3.fromRGB(100, 100, 255) end) button.MouseButton1Up:Connect(function() button.BackgroundColor3 = Color3.fromRGB(40, 40, 40) end)