CHAPTER 3 SAFE 2 USE AUTOWIN
Key Required

CHAPTER 3 SAFE 2 USE AUTOWIN

Color or Die 🎨hollowtale03589hollowtale03589 902 views 771 executesUpdated Mar 28, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•674 lines (23284 chars)
-- Version CHAPTER 3
-- please do not steal 
-- dont touch the teleports
-- customize the names, it dont matter
--also customize the color scheme to your liking
--   _____        •                          
--    | |  |  |  / \   |   |   | /      \ /     _
--    | |  |--| /---\  |\  |   |/        |     | |   |  |
--    | |  |  ||     | | \ |   |\        |     |͟ |   |__| 


local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer

-- CONFIG
local COUNTDOWN_TIME = 5
local SKIP_KEY = Enum.KeyCode.X
local TOTAL_TELEPORTS = 43

-- TELEPORT POSITIONS (A3)
local teleportSpots = {
    Vector3.new(133.79, 6.66, -97.79),
    Vector3.new(-105.85, 6.66, -46.14),
    Vector3.new(-70.15, 3.48, -149.31),
    Vector3.new(66.23, 6.66, -209.47),
    Vector3.new(26.23, 6.66, -181.32),
    Vector3.new(42.03, 6.66, -294.15),
    Vector3.new(90.40, 6.66, -341.95),
    Vector3.new(-47.81, 6.66, -292.32),
    Vector3.new(-95.85, 30.12, -318.21),
    Vector3.new(-51.29, 3.48, -126.13),
    Vector3.new(-30.17, 6.62, -121.31),
    Vector3.new(152.83, 3.47, -330.27),
    Vector3.new(160.39, 6.66, -314.16),
    Vector3.new(156.86, 6.66, -313.84),
    Vector3.new(-129.63, 3.48, -251.09),
    Vector3.new(-547.17, 135.44, -528.44),
    Vector3.new(242.87, 3.46, -167.39),
    Vector3.new(254.08, 6.66, -191.61),
    Vector3.new(-52.75, 3.48, -222.29),
    Vector3.new(-62.39, 6.66, -223.45),
    Vector3.new(-61.74, 6.66, -220.14),
    Vector3.new(50.19, 3.48, -149.28),
    Vector3.new(66.00, 6.66, -138.52),
    Vector3.new(-575.66, 130.39, -560.98),
    Vector3.new(-608.75, 133.87, -560.75),
    Vector3.new(-608.74, 133.87, -562.31),
    Vector3.new(254.54, 27.89, -134.15),
    Vector3.new(213.55, 30.12, -139.44),
    Vector3.new(-34.71, 3.48, -144.77),
    Vector3.new(-31.46, 6.66, -153.68),
    Vector3.new(-35.43, 6.66, -153.65),
    Vector3.new(-93.29, 3.48, -319.28),
    Vector3.new(-614.86, 125.57, -933.39),
    Vector3.new(73.25, 3.48, -293.88),
    Vector3.new(58.58, 6.66, -292.59),
    Vector3.new(58.22, 6.66, -295.40),
    Vector3.new(-142.01, 3.48, -155.30),
    Vector3.new(-143.99, 6.66, -133.27),
    Vector3.new(-140.04, 6.66, -133.30),
    Vector3.new(217.87, 3.46, -192.72),
    Vector3.new(245.40, 6.66, -208.20),
    Vector3.new(-807.46, 105.96, -845.37),
    Vector3.new(25.15, 3.51, 45.27)
}

-- TELEPORT NAMES (A3)
local teleportNames = {
    "BRUSH1","BRUSH2","BRUSH3","BRUSH4","BRUSH5","BRUSH6","BRUSH7","BRUSH8","BRUSH9",
    "REDOOR","ORANGEBUCKET","ORANGEDOOR","BRUSH10","YELLOWBUCKET","YELLOWDOOR","METALSAW",
    "BARS","GREENBUCKET","GREENDOOR","BRUSH11","EXTINGUISHER","FIRE","TEALBUCKET",
    "TEALDOOR","BRUSH12","GRAPPLING","ROPE","BLUEBUCKET","BLUEDOOR","BRUSH13",
    "PURPLEBUCKET","PURPLEDOOR","LASER","PORTAL","BRUSH14","PINKBUCKET","PINKDOOR",
    "BRUSH15","KEY","KEYHOLE","BRUSH16","WHITEBUCKET","WHITEDOOR"
}

-- COLORS
local colors = {
    outline = Color3.fromRGB(150,150,150),
    background = Color3.fromRGB(30,30,30),
    incomplete = Color3.fromRGB(255,0,0),
    stripeCycle = {
        Color3.fromRGB(255,0,0),
        Color3.fromRGB(0,0,255),
        Color3.fromRGB(255,165,0),
        Color3.fromRGB(0,255,0),
        Color3.fromRGB(255,255,0)
    },
    percentText = Color3.fromRGB(0,255,255),
    globalText = Color3.fromRGB(0,255,0)
}

-- STATE
local skip = false
local stopped = false
local running = false
local paused = false
local currentIndex = 1
local lastProgressPercent = -1

-- GOD MODE state
local godMode = false
local godConnection = nil
local originalMaxHealth = nil

-- HELPERS
local function getCharacter()
    local char = player.Character or player.CharacterAdded:Wait()
    local hrp = char:FindFirstChild("HumanoidRootPart") or char:WaitForChild("HumanoidRootPart")
    local hum = char:FindFirstChildOfClass("Humanoid") or char:WaitForChild("Humanoid")
    return char, hrp, hum
end

local function enableGod(hum)
    if not hum then return end
    if not originalMaxHealth then originalMaxHealth = hum.MaxHealth or 100 end
    pcall(function()
        hum.MaxHealth = 1e9
        hum.Health = hum.MaxHealth
    end)
    if godConnection then pcall(function() godConnection:Disconnect() end) end
    godConnection = hum.HealthChanged:Connect(function(newHealth)
        if godMode and hum and hum.Parent then
            if newHealth < hum.MaxHealth then
                pcall(function() hum.Health = hum.MaxHealth end)
            end
        end
    end)
end

local function disableGod(hum)
    if not hum then return end
    if godConnection then pcall(function() godConnection:Disconnect() end) end
    if originalMaxHealth then
        pcall(function()
            hum.MaxHealth = originalMaxHealth
            if hum.Health > originalMaxHealth then hum.Health = originalMaxHealth end
        end)
        originalMaxHealth = nil
    else
        pcall(function()
            hum.MaxHealth = 100
            if hum.Health > 100 then hum.Health = 100 end
        end)
    end
end

player.CharacterAdded:Connect(function(char)
    task.wait(0.1)
    if godMode then
        local hum = char:FindFirstChildOfClass("Humanoid")
        if hum then enableGod(hum) end
    end
end)

-- LOAD GUI
local playerGui = player:WaitForChild("PlayerGui")
local gui = Instance.new("ScreenGui")
gui.Name = "TeleportUI"
gui.ResetOnSpawn = false
gui.Parent = playerGui

-- PROGRESS BAR 
local progressContainer = Instance.new("Frame", gui)
progressContainer.Name = "ProgressContainer"
progressContainer.AnchorPoint = Vector2.new(0.5,0)
progressContainer.Position = UDim2.new(0.5,0,0,12) 
progressContainer.Size = UDim2.new(0,520,0,36)
progressContainer.BackgroundTransparency = 1

local progressOutline = Instance.new("Frame", progressContainer)
progressOutline.Name = "ProgressOutline"
progressOutline.Size = UDim2.new(1,0,1,0)
progressOutline.BackgroundColor3 = colors.outline
progressOutline.BorderSizePixel = 0

local progressBackground = Instance.new("Frame", progressOutline)
progressBackground.Name = "ProgressBackground"
progressBackground.Size = UDim2.new(1,-6,1,-6)
progressBackground.Position = UDim2.new(0,3,0,3)
progressBackground.BackgroundColor3 = colors.background
progressBackground.BorderSizePixel = 0

local completedFrame = Instance.new("Frame", progressBackground)
completedFrame.Name = "Completed"
completedFrame.Size = UDim2.new(0,0,1,0)
completedFrame.Position = UDim2.new(0,0,0,0)
completedFrame.BackgroundTransparency = 1

local stripeFrames = {}
for i = 1, 5 do
    local s = Instance.new("Frame", completedFrame)
    s.Name = "Stripe"..i
    s.Size = UDim2.new(0.2,0,1,0)
    s.Position = UDim2.new((i-1)*0.2,0,0,0)
    s.BorderSizePixel = 0
    s.BackgroundColor3 = colors.stripeCycle[((i-1) % #colors.stripeCycle) + 1]
    stripeFrames[i] = s
end

local incompleteFrame = Instance.new("Frame", progressBackground)
incompleteFrame.Name = "Incomplete"
incompleteFrame.Size = UDim2.new(1,0,1,0)
incompleteFrame.Position = UDim2.new(0,0,0,0)
incompleteFrame.BackgroundColor3 = colors.incomplete
incompleteFrame.BorderSizePixel = 0

local percentLabel = Instance.new("TextLabel", progressBackground)
percentLabel.Size = UDim2.new(0,120,1,0)
percentLabel.Position = UDim2.new(0.5,-60,0,0)
percentLabel.BackgroundTransparency = 1
percentLabel.Font = Enum.Font.SourceSansBold
percentLabel.TextSize = 16
percentLabel.TextColor3 = colors.percentText
percentLabel.Text = "0%"
percentLabel.TextXAlignment = Enum.TextXAlignment.Center
percentLabel.TextYAlignment = Enum.TextYAlignment.Center

local fractionLabel = Instance.new("TextLabel", progressBackground)
fractionLabel.Size = UDim2.new(0,80,1,0)
fractionLabel.Position = UDim2.new(1,-84,0,0)
fractionLabel.BackgroundTransparency = 1
fractionLabel.Font = Enum.Font.SourceSans
fractionLabel.TextSize = 14
fractionLabel.TextColor3 = Color3.fromRGB(255,255,255)
fractionLabel.Text = "0/" .. tostring(TOTAL_TELEPORTS)
fractionLabel.TextXAlignment = Enum.TextXAlignment.Right

-- MAIN GUI
local panel = Instance.new("Frame", gui)
panel.Name = "ControlPanel"
panel.BackgroundColor3 = Color3.fromRGB(255,0,0)
panel.AnchorPoint = Vector2.new(0.5,1)
panel.Position = UDim2.new(0.5,0,1,-80) 
panel.Size = UDim2.new(0,520,0,140)

local title = Instance.new("TextLabel", panel)
title.Size = UDim2.new(1,0,0,28)
title.Position = UDim2.new(0,0,0,6)
title.BackgroundTransparency = 1
title.Font = Enum.Font.SourceSansBold
title.TextSize = 20
title.Text = "COLOR OR DIE AUTO WIN"
title.TextColor3 = Color3.fromRGB(0,0,0)
title.TextXAlignment = Enum.TextXAlignment.Center

local bigNum = Instance.new("TextLabel", panel)
bigNum.Name = "BigNum"
bigNum.Size = UDim2.new(0,80,0,60)
bigNum.Position = UDim2.new(0,12,0,36)
bigNum.BackgroundTransparency = 1
bigNum.Font = Enum.Font.SourceSansBold
bigNum.TextSize = 44
bigNum.TextColor3 = Color3.fromRGB(0,0,0)
bigNum.Text = "0"
bigNum.TextXAlignment = Enum.TextXAlignment.Center
bigNum.TextYAlignment = Enum.TextYAlignment.Center

local milliLabel = Instance.new("TextLabel", panel)
milliLabel.Name = "MilliLabel"
milliLabel.Size = UDim2.new(0,100,0,20)
milliLabel.Position = UDim2.new(0,12,0,98)
milliLabel.BackgroundTransparency = 1
milliLabel.Font = Enum.Font.SourceSansBold
milliLabel.TextSize = 18
milliLabel.TextColor3 = Color3.fromRGB(0,170,255)
milliLabel.Text = ".000"
milliLabel.TextXAlignment = Enum.TextXAlignment.Center

local indexLabel = Instance.new("TextLabel", panel)
indexLabel.Name = "IndexLabel"
indexLabel.BackgroundTransparency = 1
indexLabel.Size = UDim2.new(0,160,0,24)
indexLabel.Position = UDim2.new(0,110,0,40)
indexLabel.Font = Enum.Font.SourceSansBold
indexLabel.TextSize = 18
indexLabel.TextColor3 = Color3.fromRGB(255,255,0)
indexLabel.TextXAlignment = Enum.TextXAlignment.Left
indexLabel.Text = "Teleport: 1"

local nameLabel = Instance.new("TextLabel", panel)
nameLabel.Name = "NameLabel"
nameLabel.BackgroundTransparency = 1
nameLabel.Size = UDim2.new(0,260,0,24)
nameLabel.Position = UDim2.new(0,110,0,68)
nameLabel.Font = Enum.Font.SourceSansBold
nameLabel.TextSize = 18
nameLabel.TextColor3 = colors.globalText
nameLabel.TextXAlignment = Enum.TextXAlignment.Left
nameLabel.Text = teleportNames[1] or ""

local credit = Instance.new("TextLabel", panel)
credit.Size = UDim2.new(0,180,0,18)
credit.Position = UDim2.new(1,-200,1,-22)
credit.BackgroundTransparency = 1
credit.Font = Enum.Font.SourceSans
credit.TextSize = 12
credit.TextColor3 = Color3.fromRGB(0,0,0)
credit.Text = "Made by hollowtale"

-- Buttons helper
local function makeButton(parent, text, pos, size, bg, fg)
    local b = Instance.new("TextButton", parent)
    b.Size = size or UDim2.new(0,110,0,28)
    b.Position = pos
    b.Font = Enum.Font.SourceSansBold
    b.TextSize = 14
    b.Text = text
    b.TextColor3 = fg or Color3.fromRGB(0,0,0)
    b.BackgroundColor3 = bg or Color3.fromRGB(255,255,255)
    b.AutoButtonColor = true
    return b
end

--BUTTON LIST #1
local resetBtn = makeButton(panel, "RESET", UDim2.new(0,12,0,96), UDim2.new(0,90,0,28), Color3.fromRGB(255,80,80))
local pauseBtn = makeButton(panel, "PAUSE", UDim2.new(0,112,0,96), UDim2.new(0,90,0,28), Color3.fromRGB(200,200,200))
local unpauseBtn = makeButton(panel, "UNPAUSE", UDim2.new(0,212,0,96), UDim2.new(0,90,0,28), Color3.fromRGB(200,200,200))
local stopBtn = makeButton(panel, "STOP", UDim2.new(0,312,0,96), UDim2.new(0,90,0,28), Color3.fromRGB(255,140,0))

--BUTTON LIST #2
local startBtn = makeButton(panel, "START/RESTART", UDim2.new(0,12,0,126), UDim2.new(0,150,0,28), Color3.fromRGB(120,255,120))
local killBtn = makeButton(panel, "KILL SCRIPT", UDim2.new(0,172,0,126), UDim2.new(0,130,0,28), Color3.fromRGB(40,40,40), Color3.fromRGB(255,255,255))
local toggleBtn = makeButton(panel, "Open/Close", UDim2.new(0,312,0,126), UDim2.new(0,130,0,28), Color3.fromRGB(200,200,200))

-- GOD MODE (INVINCIBILITY)
local godBtn = Instance.new("TextButton", gui)
godBtn.Name = "GodModeButton"
godBtn.Size = UDim2.new(0,100,0,40)
godBtn.AnchorPoint = Vector2.new(0,1)
godBtn.Position = UDim2.new(0,8,1,-80) 
godBtn.Font = Enum.Font.SourceSansBold
godBtn.TextSize = 16
godBtn.Text = "GOD MODE: OFF"
godBtn.TextColor3 = Color3.fromRGB(0,0,0)
godBtn.BackgroundColor3 = Color3.fromRGB(255,230,0)

-- GOD MODE NOTE #1
local godWarning = Instance.new("TextLabel", gui)
godWarning.Name = "GodWarning"
godWarning.Size = UDim2.new(0,300,0,18)
godWarning.AnchorPoint = Vector2.new(0,1)
godWarning.Position = UDim2.new(0,8,1,-124) 
godWarning.BackgroundTransparency = 1
godWarning.Font = Enum.Font.SourceSansBold
godWarning.TextSize = 14
godWarning.TextColor3 = Color3.fromRGB(0,0,0)
godWarning.Text = "Reset will not work if God Mode is On"
godWarning.TextXAlignment = Enum.TextXAlignment.Left

-- GOD MODE NOTE #2
local godNote = Instance.new("TextLabel", gui)
godNote.Name = "GodNote"
godNote.Size = UDim2.new(0,300,0,18)
godNote.AnchorPoint = Vector2.new(0,1)
godNote.Position = UDim2.new(0,8,1,-56) -- below godBtn
godNote.BackgroundTransparency = 1
godNote.Font = Enum.Font.SourceSansBold
godNote.TextSize = 14
godNote.TextColor3 = Color3.fromRGB(0,0,0)
godNote.Text = "if you go invisible when monster kills you its fine"
godNote.TextXAlignment = Enum.TextXAlignment.Left

-- Hint and Chapter (bigger, centered near bottom)
local hint = Instance.new("TextLabel", gui)
hint.Name = "HintText"
hint.Size = UDim2.new(0,520,0,22)
hint.AnchorPoint = Vector2.new(0.5,0)
hint.Position = UDim2.new(0.5,0,1,-40) -- centered, 40px above bottom
hint.BackgroundTransparency = 1
hint.Font = Enum.Font.SourceSans
hint.TextSize = 16
hint.TextColor3 = Color3.fromRGB(0,0,0)
hint.Text = "Click X to skip countdown (teleport index and name shown). Made by hollowtale"
hint.TextXAlignment = Enum.TextXAlignment.Center

local chapter = Instance.new("TextLabel", gui)
chapter.Name = "ChapterLabel"
chapter.Size = UDim2.new(0,160,0,22)
chapter.AnchorPoint = Vector2.new(0.5,0)
chapter.Position = UDim2.new(0.5,0,1,-18) -- centered, 18px above bottom
chapter.BackgroundTransparency = 1
chapter.Font = Enum.Font.SourceSansBold
chapter.TextSize = 16
chapter.TextColor3 = Color3.fromRGB(0,0,0)
chapter.Text = "CHAPTER 3"
chapter.TextXAlignment = Enum.TextXAlignment.Center

-- INITIALIZATION FOR PROGRESS BAR PROGRESS ANIMATION
for i=1,5 do
    stripeFrames[i].BackgroundColor3 = colors.stripeCycle[((i-1) % #colors.stripeCycle) + 1]
end

-- Input: skip key (1 sec cooldown)
UserInputService.InputBegan:Connect(function(input, gp)
    if gp then return end
    if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == SKIP_KEY then
        skip = true
    end
end)

-- BUTTON ACTIONS

-- RESET: WONT WORK WITH GOD ON
resetBtn.MouseButton1Click:Connect(function()
    local ok, char, hrp, hum = pcall(function() return getCharacter() end)
    if godMode then
        local notice = Instance.new("TextLabel", panel)
        notice.Size = UDim2.new(0,260,0,18)
        notice.Position = UDim2.new(0,12,0,70)
        notice.BackgroundTransparency = 1
        notice.Font = Enum.Font.SourceSansBold
        notice.TextSize = 14
        notice.TextColor3 = Color3.fromRGB(255,255,255)
        notice.Text = "Reset blocked: disable God Mode first"
        notice.TextXAlignment = Enum.TextXAlignment.Left
        task.delay(2, function()
            if notice and notice.Parent then notice:Destroy() end
        end)
        return
    end
    if ok and char and hum then
        pcall(function() hum.Health = 0 end)
    else
        pcall(function() player:LoadCharacter() end)
    end
end)

-- PAUSE / UNPAUSE BUTTON
pauseBtn.MouseButton1Click:Connect(function() paused = true end)
unpauseBtn.MouseButton1Click:Connect(function() paused = false end)

-- STOP: reset the script state
stopBtn.MouseButton1Click:Connect(function()
    stopped = true
    running = false
    paused = false
    currentIndex = 1
    lastProgressPercent = -1
    indexLabel.Text = "Teleport: 1"
    nameLabel.Text = teleportNames[1] or ""
    percentLabel.Text = "0%"
    completedFrame.Size = UDim2.new(0,0,1,0)
    incompleteFrame.Size = UDim2.new(1,0,1,0)
    bigNum.Text = "0"
    milliLabel.Text = ".000"
end)

-- START/RESTART
startBtn.MouseButton1Click:Connect(function()
    if running then
        stopped = true
        running = false
        paused = false
        task.wait(0.06)
        currentIndex = 1
        lastProgressPercent = -1
        indexLabel.Text = "Teleport: 1"
        nameLabel.Text = teleportNames[1] or ""
        percentLabel.Text = "0%"
        completedFrame.Size = UDim2.new(0,0,1,0)
        incompleteFrame.Size = UDim2.new(1,0,1,0)
        bigNum.Text = "0"
        milliLabel.Text = ".000"
        task.wait(0.06)
        stopped = false
        StartSequence()
    else
        stopped = false
        paused = false
        currentIndex = 1
        lastProgressPercent = -1
        StartSequence()
    end
end)

-- KILL SCRIPT
killBtn.MouseButton1Click:Connect(function()
    stopped = true
    running = false
    paused = false
    if godMode then
        local ok, char, hrp, hum = pcall(function() return getCharacter() end)
        if ok and hum then pcall(function() disableGod(hum) end) end
        godMode = false
    end
    pcall(function() gui:Destroy() end)
end)

-- Open/Close: toggle GUI visibility
local guiHidden = false
toggleBtn.MouseButton1Click:Connect(function()
    guiHidden = not guiHidden
    panel.Visible = not guiHidden
    progressContainer.Visible = not guiHidden
    godBtn.Visible = not guiHidden
    godWarning.Visible = not guiHidden
    godNote.Visible = not guiHidden
    hint.Visible = not guiHidden
    chapter.Visible = not guiHidden
    if guiHidden then
        local reopen = Instance.new("TextButton", gui)
        reopen.Name = "ReopenButton"
        reopen.Size = UDim2.new(0,100,0,30)
        reopen.Position = UDim2.new(1,-110,1,-40)
        reopen.AnchorPoint = Vector2.new(0,0)
        reopen.Font = Enum.Font.SourceSansBold
        reopen.TextSize = 14
        reopen.Text = "Open GUI"
        reopen.Parent = gui
        reopen.MouseButton1Click:Connect(function()
            if reopen and reopen.Parent then reopen:Destroy() end
            panel.Visible = true
            progressContainer.Visible = true
            godBtn.Visible = true
            godWarning.Visible = true
            godNote.Visible = true
            hint.Visible = true
            chapter.Visible = true
            guiHidden = false
        end)
    else
        local existing = gui:FindFirstChild("ReopenButton")
        if existing then existing:Destroy() end
    end
end)

-- GOD MODE toggle
godBtn.MouseButton1Click:Connect(function()
    godMode = not godMode
    local ok, char, hrp, hum = pcall(function() return getCharacter() end)
    if godMode then
        godBtn.Text = "GOD MODE: ON"
        godBtn.BackgroundColor3 = Color3.fromRGB(255,200,0)
        if ok and hum then enableGod(hum) end
    else
        godBtn.Text = "GOD MODE: OFF"
        godBtn.BackgroundColor3 = Color3.fromRGB(255,230,0)
        if ok and hum then disableGod(hum) end
    end
end)

-- PROGRESS BAR ACTIONS
local function rotateStripeCycle()
    local sc = colors.stripeCycle
    if #sc == 0 then return end
    local first = table.remove(sc,1)
    table.insert(sc, first)
    for i=1,5 do stripeFrames[i].BackgroundColor3 = sc[((i-1) % #sc) + 1] end
end

local function updateProgress(index)
    local totalWidth = progressBackground.AbsoluteSize.X
    if totalWidth <= 0 then
        task.wait()
        totalWidth = progressBackground.AbsoluteSize.X
        if totalWidth <= 0 then totalWidth = 520 end
    end

    local frac = math.clamp(index / TOTAL_TELEPORTS, 0, 1)
    local percent = math.floor(frac * 100)
    percentLabel.Text = tostring(percent) .. "%"
    fractionLabel.Text = tostring(index) .. "/" .. tostring(TOTAL_TELEPORTS)

    local completedWidth = math.floor(totalWidth * frac)
    completedFrame.Size = UDim2.new(0, completedWidth, 1, 0)

    local incompleteWidth = totalWidth - completedWidth
    incompleteFrame.Size = UDim2.new(0, incompleteWidth, 1, 0)
    incompleteFrame.Position = UDim2.new(0, completedWidth, 0, 0)
    incompleteFrame.BackgroundColor3 = colors.incomplete

    if percent > lastProgressPercent then rotateStripeCycle() end
    lastProgressPercent = percent
end

-- MAIN SEQUENCE
function StartSequence()
    if running then return end
    stopped = false
    running = true

    task.spawn(function()
        local char, hrp, hum = getCharacter()

        if godMode and hum then enableGod(hum) end

        for i = currentIndex, TOTAL_TELEPORTS do
            if stopped then break end
            currentIndex = i

            indexLabel.Text = "Teleport: " .. i
            nameLabel.Text = teleportNames[i] or ""

            updateProgress(i)

            skip = false
            local start = tick()
            local pauseAccum = 0
            local pauseStart = nil

            while true do
                if stopped then break end
                if paused then
                    if not pauseStart then pauseStart = tick() end
                    task.wait(0.1)
                    continue
                else
                    if pauseStart then
                        pauseAccum = pauseAccum + (tick() - pauseStart)
                        pauseStart = nil
                    end
                end
                if skip then break end

                local elapsed = tick() - start - pauseAccum
                local remaining = COUNTDOWN_TIME - elapsed
                if remaining <= 0 then remaining = 0 end

                local sec = math.floor(remaining)
                local ms = math.floor((remaining - sec) * 1000) -- milliseconds
                if ms < 0 then ms = 0 end

                pcall(function() bigNum.Text = tostring(sec) end)
                pcall(function() milliLabel.Text = "." .. string.format("%03d", ms) end)

                if remaining <= 0 then break end
                task.wait(0.01)
            end

            if stopped then break end

            pcall(function()
                if hrp and hrp.Parent then
                    hrp.CFrame = CFrame.new(teleportSpots[i])
                else
                    local _, newHrp = getCharacter()
                    if newHrp then newHrp.CFrame = CFrame.new(teleportSpots[i]) end
                end
            end)

            local postWait = 1
            local elapsed = 0
            while elapsed < postWait do
                if stopped then break end
                if paused then task.wait(0.1) else task.wait(0.1); elapsed = elapsed + 0.1 end
            end
        end

        running = false

        if not stopped then
            task.wait(5)
            stopped = true
            running = false
            paused = false
            currentIndex = 1
            lastProgressPercent = -1
            indexLabel.Text = "Teleport: 1"
            nameLabel.Text = teleportNames[1] or ""
            percentLabel.Text = "0%"
            completedFrame.Size = UDim2.new(0,0,1,0)
            incompleteFrame.Size = UDim2.new(1,0,1,0)
            bigNum.Text = "0"
            milliLabel.Text = ".000"
            pcall(function() player:LoadCharacter() end)
        end
    end)
end

-- AUTO-START
StartSequence()

Features & Information

COLOR OR DIE AUTOWIN 5 second timer get black door open and red bucket and start the script, grab the item you get teleported to and then wait or click X. OTHER SCRIPTS: CHAPTER 1: https://scriptblox.com/script/Color-or-Die-safe-autowin-chapter1-V2-easy-to-use-gui-150402 CHAPTER 2: https://scriptblox.com/script/Color-or-Die-chapter-2-auto-win-V1-EASY2USE-SAFE-AND-FREE-156312 CHAPTER 4: https://scriptblox.com/script/Color-or-Die-CHAPTER-4-SAFE-AND-EASY-2-USE-SCRIPT-GUI-162060
#free#safe#autowin#easy

Community Comments (4)

hollowtale03589hollowtale03589Mar 28, 2026

@ezsfri yea?

rudyschillerrudyschillerMar 28, 2026

work?

Replying to @rudyschiller
hollowtale03589hollowtale03589Mar 28, 2026

@rudychiller script should work

hollowtale03589hollowtale03589Mar 29, 2026

hey guys thanks for all the support, i really appreciate it, please reply 2 this message with yalls ideas

More Scripts for Color or Die 🎨