AutoRevive
Key Required

AutoRevive

100 Waves Laterfingerscrowsfingerscrows 1.4K views 37 executesUpdated Dec 5, 2025
2.5/ 5(2 votes)
1150% Positive
Lua Script•85 lines (2738 chars)
getgenv().Revive = getgenv().Revive or {
    Enabled = true,
    ReviveSelf = true,
    ReviveOthers = true,
    TeleportDelay = 0.5,
    ReviveRange = 12,
    DebounceTime = 1.0
}

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local lastRevive = 0

local function safeTp(root, cf)
    if root and root.Parent then
        root.CFrame = cf
        return true
    end
    return false
end

spawn(function()
    while getgenv().Revive.Enabled do
        task.wait(0.12)

        local char = LocalPlayer.Character
        if not char then task.wait(1) continue end

        local myRoot = char:FindFirstChild("HumanoidRootPart")
        local myHum = char:FindFirstChild("Humanoid")
        local myHead = char:FindFirstChild("Head")

        if not (myRoot and myHum and myHead) then
            task.wait(1)
            continue
        end

        -- Self revive
        if myHum.Health <= 0 and getgenv().Revive.ReviveSelf then
            local prompt = myHead:FindFirstChild("RevivePrompt")
            if prompt and prompt.Enabled and tick() - lastRevive >= getgenv().Revive.DebounceTime then
                fireproximityprompt(prompt)
                lastRevive = tick()
                task.wait(0.3)
            end
        end

        -- Revive others (only when alive)
        if myHum.Health > 0 and getgenv().Revive.ReviveOthers then
            for _, plr in Players:GetPlayers() do
                if plr == LocalPlayer then continue end

                local tChar = plr.Character
                if not tChar then continue end

                local tHum = tChar:FindFirstChild("Humanoid")
                local tHead = tChar:FindFirstChild("Head")
                local tRoot = tChar:FindFirstChild("HumanoidRootPart")
                if not (tHum and tHead and tRoot) then continue end

                local prompt = tHead:FindFirstChild("RevivePrompt")
                if tHum.Health > 0 or not prompt or not prompt.Enabled then continue end

                if tick() - lastRevive < getgenv().Revive.DebounceTime then break end

                local dist = (myRoot.Position - tRoot.Position).Magnitude
                if dist > getgenv().Revive.ReviveRange then
                    safeTp(myRoot, tRoot.CFrame * CFrame.new(0, 3, -2))
                    task.wait(0.12)
                end

                fireproximityprompt(prompt)
                lastRevive = tick()
                task.wait(getgenv().Revive.TeleportDelay)
                break
            end
        end
    end
end)

LocalPlayer.CharacterAdded:Connect(function(newChar)
    newChar:WaitForChild("HumanoidRootPart", 5)
    newChar:WaitForChild("Humanoid", 5)
    newChar:WaitForChild("Head", 5)
end)

Features & Information

-Auto revives teammates

Community Comments (1)

adyxmenadyxmenJan 13, 2026

not working!!

More Scripts for 100 Waves Later