Universal Heal
Key RequiredUniversal

Universal Heal

Universal ScriptTotallyNotMyRealNameTotallyNotMyRealName 71 views 251 executesUpdated Jul 20, 2026
Unrated
00
Lua Script•267 lines (8291 chars)
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)

Features & Information

Idunno, heals, and sets HP.
#Free#Heal#Universal

Community Comments (1)

lazizhlazizhSep 8, 2026

DOESNT WORK * YOU

More Scripts for Universal Scripts