local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local lp = Players.LocalPlayer --// Build menu local gui = Instance.new("ScreenGui") gui.Name = "QuickHeal" gui.ResetOnSpawn = false pcall(function() gui.Parent = lp:WaitForChild("PlayerGui") end) if not gui.Parent then gui.Parent = lp.PlayerGui end local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 180, 0, 160) frame.Position = UDim2.new(0.5, -90, 0.5, -80) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 30) frame.BorderSizePixel = 0 frame.Active = true frame.Parent = gui local uc = Instance.new("UICorner") uc.CornerRadius = UDim.new(0, 6) uc.Parent = frame -- title bar local bar = Instance.new("Frame") bar.Size = UDim2.new(1, 0, 0, 26) bar.BackgroundColor3 = Color3.fromRGB(30, 40, 60) bar.BorderSizePixel = 0 bar.Parent = frame local bc = Instance.new("UICorner") bc.CornerRadius = UDim.new(0, 6) bc.Parent = bar local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -26, 1, 0) title.BackgroundTransparency = 1 title.Text = "Quick Heal" title.TextColor3 = Color3.fromRGB(200, 200, 200) title.TextSize = 13 title.Font = Enum.Font.GothamBold title.TextXAlignment = Enum.TextXAlignment.Center title.Parent = bar local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 26, 1, 0) closeBtn.Position = UDim2.new(1, -26, 0, 0) closeBtn.BackgroundTransparency = 1 closeBtn.Text = "X" closeBtn.TextColor3 = Color3.fromRGB(255, 80, 80) closeBtn.TextSize = 14 closeBtn.Font = Enum.Font.GothamBold closeBtn.Parent = bar -- heal button local healBtn = Instance.new("TextButton") healBtn.Size = UDim2.new(1, -16, 0, 24) healBtn.Position = UDim2.new(0, 8, 0, 34) healBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 70) healBtn.BorderSizePixel = 0 healBtn.Text = "Heal 20% [H]" healBtn.TextColor3 = Color3.fromRGB(255, 255, 255) healBtn.TextSize = 12 healBtn.Font = Enum.Font.GothamBold healBtn.Parent = frame local hc = Instance.new("UICorner") hc.CornerRadius = UDim.new(0, 4) hc.Parent = healBtn -- slider local sliderLabel = Instance.new("TextLabel") sliderLabel.Size = UDim2.new(1, -16, 0, 16) sliderLabel.Position = UDim2.new(0, 8, 0, 66) sliderLabel.BackgroundTransparency = 1 sliderLabel.Text = "Set HP" sliderLabel.TextColor3 = Color3.fromRGB(180, 180, 180) sliderLabel.TextSize = 11 sliderLabel.Font = Enum.Font.Gotham sliderLabel.TextXAlignment = Enum.TextXAlignment.Left sliderLabel.Parent = frame -- value display / input local valueBox = Instance.new("TextBox") valueBox.Size = UDim2.new(0, 60, 0, 18) valueBox.Position = UDim2.new(1, -68, 0, 64) valueBox.BackgroundColor3 = Color3.fromRGB(40, 40, 50) valueBox.BorderSizePixel = 0 valueBox.Text = "100" valueBox.TextColor3 = Color3.fromRGB(255, 255, 255) valueBox.TextSize = 11 valueBox.Font = Enum.Font.GothamBold valueBox.ClearTextOnFocus = false valueBox.Parent = frame local vc = Instance.new("UICorner") vc.CornerRadius = UDim.new(0, 3) vc.Parent = valueBox -- slider track local track = Instance.new("Frame") track.Size = UDim2.new(1, -16, 0, 4) track.Position = UDim2.new(0, 8, 0, 92) track.BackgroundColor3 = Color3.fromRGB(50, 50, 60) track.BorderSizePixel = 0 track.Parent = frame local trackc = Instance.new("UICorner") trackc.CornerRadius = UDim.new(0, 2) trackc.Parent = track -- slider fill local fill = Instance.new("Frame") fill.Size = UDim2.new(0, 0, 1, 0) fill.BackgroundColor3 = Color3.fromRGB(140, 50, 0) fill.BorderSizePixel = 0 fill.Parent = track local fillc = Instance.new("UICorner") fillc.CornerRadius = UDim.new(0, 2) fillc.Parent = fill -- slider thumb local thumb = Instance.new("Frame") thumb.Size = UDim2.new(0, 10, 0, 10) thumb.Position = UDim2.new(0, -5, 0.5, -5) thumb.BackgroundColor3 = Color3.fromRGB(200, 200, 200) thumb.BorderSizePixel = 0 thumb.Parent = track local thumbc = Instance.new("UICorner") thumbc.CornerRadius = UDim.new(0, 5) thumbc.Parent = thumb -- apply button local applyBtn = Instance.new("TextButton") applyBtn.Size = UDim2.new(1, -16, 0, 24) applyBtn.Position = UDim2.new(0, 8, 0, 104) applyBtn.BackgroundColor3 = Color3.fromRGB(140, 50, 0) applyBtn.BorderSizePixel = 0 applyBtn.Text = "Apply HP [J]" applyBtn.TextColor3 = Color3.fromRGB(255, 255, 255) applyBtn.TextSize = 12 applyBtn.Font = Enum.Font.GothamBold applyBtn.Parent = frame local ac = Instance.new("UICorner") ac.CornerRadius = UDim.new(0, 4) ac.Parent = applyBtn -- slider logic local trackSize = track.AbsoluteSize.X local minVal = 0 local maxVal = 10000 local currentVal = 100 local function updateSlider(val) currentVal = math.clamp(val, minVal, maxVal) local ratio = (currentVal - minVal) / (maxVal - minVal) fill.Size = UDim2.new(ratio, 0, 1, 0) thumb.Position = UDim2.new(ratio, -5, 0.5, -5) valueBox.Text = tostring(math.floor(currentVal)) end local function setHealth(val) local char = lp.Character if not char then return end local hum = char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return end local target = tonumber(val) or 100 if target <= 0 then return end hum.MaxHealth = target hum.Health = target end valueBox.FocusLost:Connect(function(enter) if enter then local n = tonumber(valueBox.Text) or 100 updateSlider(n) setHealth(n) end end) local draggingSlider = false thumb.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then draggingSlider = true end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and input.UserInputType == Enum.UserInputType.MouseMovement then local pos = input.Position.X - track.AbsolutePosition.X local ratio = math.clamp(pos / track.AbsoluteSize.X, 0, 1) local val = minVal + ratio * (maxVal - minVal) updateSlider(val) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 and draggingSlider then draggingSlider = false setHealth(currentVal) end end) -- click on track to jump track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then local pos = input.Position.X local ratio = math.clamp(pos / track.AbsoluteSize.X, 0, 1) local val = minVal + ratio * (maxVal - minVal) updateSlider(val) setHealth(val) end end) -- buttons healBtn.MouseButton1Click:Connect(function() local char = lp.Character if not char then return end local hum = char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return end local max = hum.MaxHealth hum.Health = math.min(hum.Health + max * 0.2, max) end) applyBtn.MouseButton1Click:Connect(function() setHealth(currentVal) end) -- keybinds UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.UserInputType ~= Enum.UserInputType.Keyboard then return end local char = lp.Character if not char then return end local hum = char:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return end if input.KeyCode == Enum.KeyCode.H then local max = hum.MaxHealth hum.Health = math.min(hum.Health + max * 0.2, max) elseif input.KeyCode == Enum.KeyCode.J then setHealth(currentVal) end end) -- drag local dragging, dragStart, startPos bar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = frame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end)