Health Character
Key Required

Health Character

99 Nights in the Forest 🔦OnlyThePowerOnlyThePower 2.2K views 28 executesUpdated Aug 31, 2025
0.0/ 5(2 votes)
020% Positive
Lua Script•369 lines (11719 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer

local function getChar()
    return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
end

-- GUI utama
local ScreenGui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui"))
ScreenGui.ResetOnSpawn = false
ScreenGui.Name = "HealCharacterGui"

local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 200, 0, 320)
MainFrame.Position = UDim2.new(0.35, 0, 0.3, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(25,25,25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0,12)
MainFrame.BackgroundTransparency = 1
MainFrame.Size = UDim2.new(0, 50, 0, 50)

-- Animasi masuk
task.wait(0.1)
TweenService:Create(MainFrame, TweenInfo.new(0.6, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
    Size = UDim2.new(0,200,0,320),
    BackgroundTransparency = 0
}):Play()

-- Title bar
local TitleBar = Instance.new("Frame", MainFrame)
TitleBar.Size = UDim2.new(1,0,0,30)
TitleBar.BackgroundColor3 = Color3.fromRGB(40,40,40)
TitleBar.BorderSizePixel = 0
Instance.new("UICorner", TitleBar).CornerRadius = UDim.new(0,12)

local Title = Instance.new("TextLabel", TitleBar)
Title.Size = UDim2.new(1,-30,1,0)
Title.BackgroundTransparency = 1
Title.Text = "Heal Character"
Title.Font = Enum.Font.GothamBold
Title.TextSize = 14
Title.TextColor3 = Color3.fromRGB(255,255,255)
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Position = UDim2.new(0,10,0,0)

local CloseBtn = Instance.new("TextButton", TitleBar)
CloseBtn.Size = UDim2.new(0,30,0,30)
CloseBtn.Position = UDim2.new(1,-30,0,0)
CloseBtn.Text = "X"
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextSize = 14
CloseBtn.TextColor3 = Color3.new(1,1,1)
CloseBtn.BackgroundTransparency = 1
CloseBtn.MouseButton1Click:Connect(function()
    TweenService:Create(MainFrame, TweenInfo.new(0.4), {
        Size = UDim2.new(0,0,0,0),
        BackgroundTransparency = 1
    }):Play()
    task.wait(0.4)
    ScreenGui:Destroy()
end)

-- Scroll frame
local Scroll = Instance.new("ScrollingFrame", MainFrame)
Scroll.Size = UDim2.new(1, -6, 1, -35)
Scroll.Position = UDim2.new(0,3,0,32)
Scroll.CanvasSize = UDim2.new(0,0,0,0)
Scroll.ScrollBarThickness = 4
Scroll.BackgroundTransparency = 1

local Layout = Instance.new("UIListLayout", Scroll)
Layout.Padding = UDim.new(0,6)
Layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
Layout.VerticalAlignment = Enum.VerticalAlignment.Top
Layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    Scroll.CanvasSize = UDim2.new(0,0,0,Layout.AbsoluteContentSize.Y+10)
end)

-- Helper Toggle
local function makeToggle(name, callback)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.9,0,0,30)
    btn.BackgroundColor3 = Color3.fromRGB(50,50,50)
    btn.TextColor3 = Color3.new(1,1,1)
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 12
    btn.Text = name .. " [OFF]"
    btn.Parent = Scroll
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)

    local state = false
    btn.MouseButton1Click:Connect(function()
        state = not state
        btn.Text = name .. (state and " [ON]" or " [OFF]")
        callback(state)
    end)
    return btn
end

-------------------------------------------------
-- =========== HARD GODMODE SUPER ===========
-------------------------------------------------
local godmode = false
makeToggle("Hard Godmode", function(on)
    godmode = on
    if on then
        task.spawn(function()
            while godmode do
                local char = getChar()
                if char and char:FindFirstChild("Humanoid") then
                    local hum = char.Humanoid
                    hum.MaxHealth = 9e18
                    hum.Health = hum.MaxHealth
                    hum.BreakJointsOnDeath = false
                    hum:SetStateEnabled(Enum.HumanoidStateType.Dead, false)

                    -- Auto refill health
                    hum.HealthChanged:Connect(function(h)
                        if godmode and h < hum.MaxHealth then
                            hum.Health = hum.MaxHealth
                        end
                    end)

                    -- Kalau humanoid hancur
                    if not char:FindFirstChild("Head") then
                        LocalPlayer:LoadCharacter()
                    end
                end
                task.wait(0.1)
            end
        end)
    end
end)

-------------------------------------------------
-- AUTO HEAL
-------------------------------------------------
local autoHeal = false
makeToggle("Auto Heal", function(on)
    autoHeal = on
    if on then
        task.spawn(function()
            while autoHeal do
                local char = getChar()
                if char and char:FindFirstChild("Humanoid") then
                    local hum = char.Humanoid
                    if hum.Health < hum.MaxHealth then
                        hum.Health = hum.MaxHealth
                    end
                end
                task.wait(0.2)
            end
        end)
    end
end)

-------------------------------------------------
-- AUTO DODGE
-------------------------------------------------
local autoDodge = false
makeToggle("Auto Dodge", function(on)
    autoDodge = on
    if on then
        task.spawn(function()
            local lastHealth = getChar().Humanoid.Health
            while autoDodge do
                local char = getChar()
                if char and char:FindFirstChild("Humanoid") then
                    local hum = char.Humanoid
                    local root = char:FindFirstChild("HumanoidRootPart")

                    if root and hum.Health < lastHealth then
                        local dodgeDir = CFrame.new(math.random(-10,10),3,math.random(-10,10))
                        root.CFrame = root.CFrame * dodgeDir
                        hum.Health = hum.MaxHealth
                    end
                    lastHealth = hum.Health
                end
                task.wait(0.1)
            end
        end)
    end
end)

-------------------------------------------------
-- NOCLIP
-------------------------------------------------
local noclip = false
makeToggle("Noclip", function(on)
    noclip = on
    if on then
        task.spawn(function()
            while noclip do
                local char = getChar()
                if char then
                    for _,v in pairs(char:GetDescendants()) do
                        if v:IsA("BasePart") and v.CanCollide then
                            v.CanCollide = false
                        end
                    end
                end
                task.wait(0.1)
            end
        end)
    end
end)

-------------------------------------------------
-- SWIM IN AIR
-------------------------------------------------
local swimAir = false
makeToggle("Swim in Air", function(on)
    swimAir = on
    if on then
        task.spawn(function()
            while swimAir do
                local char = getChar()
                if char and char:FindFirstChild("Humanoid") then
                    char.Humanoid:ChangeState(Enum.HumanoidStateType.Swimming)
                end
                task.wait(0.3)
            end
        end)
    end
end)

-------------------------------------------------
-- FORCEFIELD
-------------------------------------------------
local ff = false
makeToggle("ForceField", function(on)
    ff = on
    local char = getChar()
    if on then
        if not char:FindFirstChild("ForceField") then
            Instance.new("ForceField", char)
        end
    else
        if char:FindFirstChild("ForceField") then
            char.ForceField:Destroy()
        end
    end
end)

-------------------------------------------------
-- TP BANDAGE
-------------------------------------------------
makeToggle("TP Bandage", function(on)
    if on then
        local found = nil
        for _,obj in pairs(workspace:GetDescendants()) do
            if obj:IsA("BasePart") and (obj.Name:lower():find("bandage") or obj.Name:lower():find("perban")) then
                found = obj
                break
            end
        end
        if found then
            local char = getChar()
            if char:FindFirstChild("HumanoidRootPart") then
                char.HumanoidRootPart.CFrame = found.CFrame + Vector3.new(0,3,0)
            end
        else
            warn("Bandage not found in workspace!")
        end
    end
end)

-------------------------------------------------
-- ANTI KILLPART
-------------------------------------------------
local antiKillPart = false
makeToggle("Anti KillPart", function(on)
    antiKillPart = on
    if on then
        task.spawn(function()
            while antiKillPart do
                for _,v in pairs(workspace:GetDescendants()) do
                    if v:IsA("BasePart") and v.CanTouch then
                        local lname = v.Name:lower()
                        if lname:find("kill") or lname:find("lava") or lname:find("touch") then
                            v.CanTouch = false
                        end
                    end
                end
                task.wait(2)
            end
        end)
    end
end)

-------------------------------------------------
-- ANTI VOID
-------------------------------------------------
local antiVoid = false
makeToggle("Anti Void", function(on)
    antiVoid = on
    if on then
        task.spawn(function()
            while antiVoid do
                local char = getChar()
                local root = char:FindFirstChild("HumanoidRootPart")
                if root and root.Position.Y < -20 then
                    root.CFrame = CFrame.new(0,50,0)
                end
                task.wait(0.5)
            end
        end)
    end
end)

-------------------------------------------------
-- SPEED & JUMP CONTROL
-------------------------------------------------
local function makeValueControl(name, defaultValue, applyFunc)
    local frame = Instance.new("Frame", Scroll)
    frame.Size = UDim2.new(0.9,0,0,35)
    frame.BackgroundColor3 = Color3.fromRGB(45,45,45)
    frame.BorderSizePixel = 0
    Instance.new("UICorner", frame).CornerRadius = UDim.new(0,8)

    local label = Instance.new("TextLabel", frame)
    label.Size = UDim2.new(0.4,0,1,0)
    label.BackgroundTransparency = 1
    label.Text = name
    label.Font = Enum.Font.Gotham
    label.TextColor3 = Color3.new(1,1,1)
    label.TextSize = 12
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Position = UDim2.new(0.05,0,0,0)

    local input = Instance.new("TextBox", frame)
    input.Size = UDim2.new(0.4,0,0.8,0)
    input.Position = UDim2.new(0.55,0,0.1,0)
    input.BackgroundColor3 = Color3.fromRGB(60,60,60)
    input.TextColor3 = Color3.new(1,1,1)
    input.Font = Enum.Font.Gotham
    input.TextSize = 12
    input.Text = tostring(defaultValue)
    Instance.new("UICorner", input).CornerRadius = UDim.new(0,6)

    input.FocusLost:Connect(function(enter)
        if enter then
            local val = tonumber(input.Text)
            if val then
                applyFunc(val)
            else
                input.Text = tostring(defaultValue)
            end
        end
    end)
end

makeValueControl("Speed", 16, function(val)
    local char = getChar()
    if char and char:FindFirstChild("Humanoid") then
        char.Humanoid.WalkSpeed = val
    end
end)

makeValueControl("Jump", 50, function(val)
    local char = getChar()
    if char and char:FindFirstChild("Humanoid") then
        char.Humanoid.JumpPower = val
    end
end)

Features & Information

Hmm

Community Comments (3)

need bandage or na

butuh ga

aissatoubah6227aissatoubah6227Aug 31, 2025

how do i

More Scripts for 99 Nights in the Forest 🔦