local player = game.Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local running = false local savedPosition = UDim2.new(0.5, -110, 0.5, -65) local function resetPlr() if player.Character then player.Character:BreakJoints() end end local function createGUI() local oldGui = player.PlayerGui:FindFirstChild("ResetLoopGUI") -- Save the old GUI position before deleting it if oldGui then local oldFrame = oldGui:FindFirstChild("Frame") if oldFrame then savedPosition = oldFrame.Position end oldGui:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "ResetLoopGUI" screenGui.ResetOnSpawn = false screenGui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Name = "Frame" frame.Size = UDim2.new(0, 220, 0, 130) frame.Position = savedPosition frame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) frame.Active = true frame.Parent = screenGui Instance.new("UICorner", frame) local startButton = Instance.new("TextButton") startButton.Size = UDim2.new(0.8, 0, 0.3, 0) startButton.Position = UDim2.new(0.1, 0, 0.2, 0) startButton.Text = "START" startButton.BackgroundColor3 = Color3.fromRGB(0, 170, 0) startButton.Parent = frame local stopButton = Instance.new("TextButton") stopButton.Size = UDim2.new(0.8, 0, 0.3, 0) stopButton.Position = UDim2.new(0.1, 0, 0.6, 0) stopButton.Text = "STOP" stopButton.BackgroundColor3 = Color3.fromRGB(170, 0, 0) stopButton.Parent = frame -- Dragging local dragging = false local dragStart local startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false -- Save position when dragging ends savedPosition = frame.Position end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging and ( input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch ) then local delta = input.Position - dragStart frame.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Start startButton.MouseButton1Click:Connect(function() if running then return end running = true task.spawn(function() while running do resetPlr() task.wait(0.40) end end) end) -- Stop stopButton.MouseButton1Click:Connect(function() running = false end) end createGUI() player.CharacterAdded:Connect(function() task.wait(0.2) createGUI() end)