UnpatchaBomb FIXED
Key Required

UnpatchaBomb FIXED

Word Bombalsotwentycharactersalsotwentycharacters 1.7K views 257 executesUpdated May 22, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•668 lines (22460 chars)
local Services = {
    Players = game:GetService("Players"),
    ReplicatedStorage = game:GetService("ReplicatedStorage"),
    VirtualInputManager = game:GetService("VirtualInputManager"),
    UserInputService = game:GetService("UserInputService"),
    TweenService = game:GetService("TweenService"),
    RunService = game:GetService("RunService"),
    CoreGui = game:GetService("CoreGui")
}

local LocalPlayer = Services.Players.LocalPlayer

loadstring(game:HttpGet("https://raw.githubusercontent.com/MarsQQ/Unpatchabomb/master/unpatchabomb_english_words", true))()
local WordList = loadstring(game:HttpGet("https://raw.githubusercontent.com/jjengu/scripts/refs/heads/main/wordbomb/words.lua"))()
local WordList_Two = loadstring(game:HttpGet("https://raw.githubusercontent.com/jjengu/scripts/refs/heads/main/wordbomb/words_two.lua"))()
local WordList_Three = {
    "pseudopseudohypoparathyroidism", "floccinaucinihilipilification",
    "antidisestablishmentarianism", "supercalifragilisticexpialidocious",
    "hexakosioihexekontahexaphobia", "dichlorodiphenyltrichloroethane",
    "electroencephalographically", "xenotransplantations",
    "counterdemonstrations", "characteristically",
    "unconstitutionality", "intercontinental",
    "phenomenological", "oversimplification",
    "disenfranchisement", "incompatibilities",
    "thermodynamically", "magnetohydrodynamics",
    "uncharacteristically", "electroencephalogram",
    "counterrevolutionary", "internationalization",
    "counterproductive", "environmentalists",
    "telecommunications", "immunohistochemistry",
    "hypercholesterolemia", "incomprehensibilities",
    "deinstitutionalization", "psychopharmacological",
    "reconceptualizations", "reindustrialization",
    "spectroscopically", "standardizations",
    "vulnerabilities", "westernization", "xenotransplantation",
}

local MegaList = {}
local function merge(tbl)
    for _, v in ipairs(tbl) do
        if type(v) == "string" then
            MegaList[#MegaList + 1] = v
        end
    end
end

merge(ENGLISH_WORDS)
merge(WordList)
merge(WordList_Two)
merge(WordList_Three)

local seen = {}
local UniqueMegaList = {}
for _, word in ipairs(MegaList) do
    local lower = string.lower(word)
    if not seen[lower] then
        seen[lower] = true
        UniqueMegaList[#UniqueMegaList + 1] = word
    end
end

ENGLISH_WORDS = UniqueMegaList
WordList = UniqueMegaList
WordList_Two = UniqueMegaList
WordList_Three = UniqueMegaList

local IsOnMobile = table.find({Enum.Platform.IOS, Enum.Platform.Android}, Services.UserInputService:GetPlatform())
local Games = Services.ReplicatedStorage:WaitForChild("Network"):WaitForChild("Games")
local GameID = "-1"
local UsedWords = {}
local Typing = false
local TypingActive = false
local LastWord = ""

local Settings = {
    WordList = 0,
    AutoType = false,
    AutoJoin = false,
    WPM = 120,
    WordTypeDelay = 0.3,
    HumaniseWPM = true,
    ReactionTime = 0.35
}

local function GetLetterDelay()
    local base = 60 / (Settings.WPM * 5)
    if Settings.HumaniseWPM then
        base = base * (0.85 + math.random() * 0.30)
    end
    return math.max(base, 0.005)
end

local alreadyUsed = {}
local function tableItemExists(array, val)
    for _, v in pairs(array) do
        if v == val then return true end
    end
    return false
end

local function findWord(str)
    local best, bestLen = nil, 0
    local lowerStr = string.lower(str)
    local lists = {ENGLISH_WORDS, WordList, WordList_Two, WordList_Three}
    for _, wlist in pairs(lists) do
        if type(wlist) == "table" then
            for _, v in pairs(wlist) do
                if type(v) == "string" then
                    if string.find(string.lower(v), lowerStr, 1, true) and not tableItemExists(alreadyUsed, v) then
                        if #v > bestLen then
                            best = v
                            bestLen = #v
                        end
                    end
                end
            end
        end
    end
    if best then table.insert(alreadyUsed, best) end
    return best
end

local function FindWordAuto(l)
    if not l or l == "" then return nil end
    local lowerL = string.lower(l)
    local lists = {ENGLISH_WORDS, WordList, WordList_Two, WordList_Three}
    local order = {lists[Settings.WordList + 1]}
    for i = 1, 4 do
        if i ~= Settings.WordList + 1 then
            table.insert(order, lists[i])
        end
    end
    local best, bestLen = nil, 0
    for _, wlist in ipairs(order) do
        if type(wlist) == "table" then
            for _, v in pairs(wlist) do
                if v and type(v) == "string" then
                    local lv = string.lower(v)
                    if string.find(lv, lowerL, 1, true)
                        and not table.find(UsedWords, v)
                        and string.upper(v) ~= LastWord
                        and #v > bestLen
                    then
                        best = v
                        bestLen = #v
                    end
                end
            end
        end
    end
    if best then
        table.insert(UsedWords, best)
        return string.upper(best)
    end
    return nil
end

local function GetTurn()
    for _, v in pairs(getgc()) do
        if type(v) == "function" and debug.getinfo(v).name == "updateInfoFrame" then
            for __, vv in ipairs(debug.getupvalues(v)) do
                if type(vv) == "table" and vv.PlayerID ~= nil then
                    return vv.PlayerID
                end
            end
        end
    end
    return nil
end

local function GetLetters()
    for _, v in pairs(getgc()) do
        if type(v) == "function" and debug.getinfo(v).name == "updateInfoFrame" then
            for __, vv in pairs(debug.getupvalues(v)) do
                if type(vv) == "table" and vv.Prompt ~= nil then
                    return vv.Prompt
                end
            end
        end
    end
    local PlayerGui = LocalPlayer:FindFirstChild("PlayerGui")
    if PlayerGui then
        local PromptLbl = PlayerGui:FindFirstChild("PromptLabel", true)
        if PromptLbl then return PromptLbl.Text end
    end
    return ""
end

local function SimulateKey(character)
    local keyCode
    if character == "\n" or character == "\r" then
        keyCode = Enum.KeyCode.Return
    else
        pcall(function()
            keyCode = Enum.KeyCode[string.upper(character)]
        end)
    end
    if keyCode then
        Services.VirtualInputManager:SendKeyEvent(true, keyCode, false, game)
        task.wait(0.01)
        Services.VirtualInputManager:SendKeyEvent(false, keyCode, false, game)
    end
end

if Services.CoreGui:FindFirstChild("Unpatchabomb") then
    Services.CoreGui.Unpatchabomb:Destroy()
end

local Unpatchabomb = Instance.new("ScreenGui")
Unpatchabomb.Name = "Unpatchabomb"
Unpatchabomb.Parent = Services.CoreGui
Unpatchabomb.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Unpatchabomb.ResetOnSpawn = false

local OuterFrame = Instance.new("Frame")
OuterFrame.Name = "OuterFrame"
OuterFrame.Parent = Unpatchabomb
OuterFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
OuterFrame.BorderSizePixel = 0
OuterFrame.Position = UDim2.new(0.5, -160, 0.5, -200)
OuterFrame.Size = UDim2.new(0, 320, 0, 0)
OuterFrame.ClipsDescendants = true
OuterFrame.BackgroundTransparency = 1

local UICorner = Instance.new("UICorner", OuterFrame)
UICorner.CornerRadius = UDim.new(0, 8)

local TopFrame = Instance.new("Frame")
TopFrame.Parent = OuterFrame
TopFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
TopFrame.BorderSizePixel = 0
TopFrame.Size = UDim2.new(1, 0, 0, 28)
TopFrame.BackgroundTransparency = 1
Instance.new("UICorner", TopFrame).CornerRadius = UDim.new(0, 8)

local T1 = Instance.new("TextLabel")
T1.Parent = TopFrame
T1.BackgroundTransparency = 1
T1.Size = UDim2.new(0.5, 0, 1, 0)
T1.Position = UDim2.new(0.04, 0, 0, 0)
T1.Font = Enum.Font.GothamBold
T1.Text = "UNPATCHA"
T1.TextColor3 = Color3.fromRGB(255, 255, 255)
T1.TextSize = 14
T1.TextXAlignment = Enum.TextXAlignment.Left

local T2 = Instance.new("TextLabel")
T2.Parent = TopFrame
T2.BackgroundTransparency = 1
T2.Size = UDim2.new(0.4, 0, 1, 0)
T2.Position = UDim2.new(0.34, 0, 0, 0)
T2.Font = Enum.Font.Gotham
T2.Text = "BOMB  |  WPM"
T2.TextColor3 = Color3.fromRGB(200, 200, 200)
T2.TextSize = 14
T2.TextXAlignment = Enum.TextXAlignment.Left

local MinimizeButton = Instance.new("TextButton")
MinimizeButton.Parent = TopFrame
MinimizeButton.BackgroundTransparency = 1
MinimizeButton.Position = UDim2.new(1, -28, 0, 0)
MinimizeButton.Size = UDim2.new(0, 28, 1, 0)
MinimizeButton.Font = Enum.Font.GothamBold
MinimizeButton.Text = "—"
MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
MinimizeButton.TextSize = 18

local IntroFrame = Instance.new("Frame")
IntroFrame.Parent = OuterFrame
IntroFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 22)
IntroFrame.BorderSizePixel = 0
IntroFrame.Position = UDim2.new(0, 0, 0, 28)
IntroFrame.Size = UDim2.new(1, 0, 1, -28)
IntroFrame.ZIndex = 5

local function MakeIntroLabel(posY, sizeY, text, font)
    local l = Instance.new("TextLabel")
    l.Parent = IntroFrame
    l.BackgroundTransparency = 1
    l.Position = UDim2.new(0, 0, posY, 0)
    l.Size = UDim2.new(1, 0, sizeY, 0)
    l.Font = font or Enum.Font.Gotham
    l.Text = text
    l.TextColor3 = Color3.fromRGB(255, 255, 255)
    l.TextScaled = true
    l.ZIndex = 5
    return l
end

MakeIntroLabel(0.38, 0.15, "UNPATCHABOMB", Enum.Font.GothamBold)
MakeIntroLabel(0.54, 0.08, "LET'S WIN EASILY.")
local LoadingLabel = MakeIntroLabel(0.76, 0.08, "Loading...")
MakeIntroLabel(0.86, 0.08, "WPM Edition")

task.spawn(function()
    while LoadingLabel and LoadingLabel.Parent do
        LoadingLabel.Text = "Loading."  ; task.wait(0.15)
        LoadingLabel.Text = "Loading.." ; task.wait(0.15)
        LoadingLabel.Text = "Loading..."; task.wait(0.15)
    end
end)

local MainFrame = Instance.new("Frame")
MainFrame.Parent = OuterFrame
MainFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 22)
MainFrame.BorderSizePixel = 0
MainFrame.Position = UDim2.new(0, 0, 0, 28)
MainFrame.Size = UDim2.new(1, 0, 1, -28)
MainFrame.ClipsDescendants = true
MainFrame.BackgroundTransparency = 1

Services.TweenService:Create(
    OuterFrame,
    TweenInfo.new(0.6, Enum.EasingStyle.Back, Enum.EasingDirection.Out),
    {Size = UDim2.new(0, 320, 0, 320), Position = UDim2.new(0.5, -160, 0.5, -140), BackgroundTransparency = 0}
):Play()

task.spawn(function()
    for i = 1, 10 do
        local t = i / 10
        MainFrame.BackgroundTransparency = 1 - t
        TopFrame.BackgroundTransparency = 1 - t
        task.wait(0.03)
    end
end)

local function MakeLabel(parent, posY, sizeY, text, font)
    local l = Instance.new("TextLabel")
    l.Parent = parent
    l.BackgroundTransparency = 1
    l.Position = UDim2.new(0.02, 0, posY, 0)
    l.Size = UDim2.new(0.96, 0, sizeY, 0)
    l.Font = font or Enum.Font.Gotham
    l.Text = text
    l.TextColor3 = Color3.fromRGB(255, 255, 255)
    l.TextScaled = true
    return l
end

local function MakeButton(parent, posY, sizeY, text, color)
    local b = Instance.new("TextButton")
    b.Parent = parent
    b.BackgroundColor3 = color or Color3.fromRGB(35, 35, 35)
    b.BorderSizePixel = 0
    b.Position = UDim2.new(0.02, 0, posY, 0)
    b.Size = UDim2.new(0.96, 0, sizeY, 0)
    b.Font = Enum.Font.GothamBold
    b.Text = text
    b.TextColor3 = Color3.fromRGB(255, 255, 255)
    b.TextScaled = true
    Instance.new("UICorner", b).CornerRadius = UDim.new(0, 4)

    b.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            Services.TweenService:Create(
                b,
                TweenInfo.new(0.08, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
                {Size = UDim2.new(0.96, 0, sizeY * 0.95, 0)}
            ):Play()
        end
    end)

    b.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            Services.TweenService:Create(
                b,
                TweenInfo.new(0.08, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
                {Size = UDim2.new(0.96, 0, sizeY, 0)}
            ):Play()
        end
    end)

    return b
end

local function MakeTextBox(parent, posY, sizeY, placeholder)
    local tb = Instance.new("TextBox")
    tb.Parent = parent
    tb.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
    tb.BorderSizePixel = 0
    tb.Position = UDim2.new(0.02, 0, posY, 0)
    tb.Size = UDim2.new(0.96, 0, sizeY, 0)
    tb.Font = Enum.Font.GothamBold
    tb.PlaceholderText = placeholder
    tb.Text = ""
    tb.TextColor3 = Color3.fromRGB(255, 255, 255)
    tb.TextScaled = true
    tb.ClearTextOnFocus = true
    Instance.new("UICorner", tb).CornerRadius = UDim.new(0, 4)
    return tb
end

local WordText = MakeLabel(MainFrame, 0.01, 0.11, "Welcome to Unpatchabomb WPM!", Enum.Font.GothamBold)
local LetterBox = MakeTextBox(MainFrame, 0.13, 0.10, "Type letters + Enter to auto-type")
local StatusLabel = MakeLabel(MainFrame, 0.24, 0.09, "Status: Waiting for round...")
StatusLabel.TextColor3 = Color3.fromRGB(180, 180, 180)

local AutoTypeToggle = MakeButton(MainFrame, 0.34, 0.10, "Auto Type: OFF", Color3.fromRGB(40, 40, 40))
local AutoJoinToggle = MakeButton(MainFrame, 0.45, 0.10, "Auto Join: OFF", Color3.fromRGB(40, 40, 40))
local WPMBox = MakeTextBox(MainFrame, 0.56, 0.09, "Typing WPM (default: 120)")
local JitterToggle = MakeButton(MainFrame, 0.66, 0.09, "Humanise WPM: ON", Color3.fromRGB(40, 80, 40))

local ListNames = {"List: English", "List: One", "List: Two", "List: Three"}
local ListIndex = 1
local ListDropDown = MakeButton(MainFrame, 0.76, 0.09, ListNames[1], Color3.fromRGB(40, 40, 80))

local HowToUseText = MakeLabel(MainFrame, 0.87, 0.07, "Type letters + Enter  |  Auto types at WPM")
HowToUseText.TextColor3 = Color3.fromRGB(140, 140, 140)

local function SetStatus(msg)
    StatusLabel.Text = "Status: " .. msg
end

local TypeBox

local function LinkTypeBox()
    local GameUI = LocalPlayer.PlayerGui:WaitForChild("GameUI", 5)
    if GameUI then
        TypeBox = GameUI:FindFirstChild("Typebox", true)
        GameUI.DescendantAdded:Connect(function(c)
            if c.Name == "Typebox" then
                TypeBox = c
                TypeBox:GetPropertyChangedSignal("Visible"):Connect(function()
                    if Settings.AutoType then task.spawn(TryTyping) end
                end)
            end
        end)
    end
end

task.spawn(LinkTypeBox)

local function TypeWord(word)
    if Typing then return end
    Typing = true
    SetStatus(string.format("Typing '%s' @ %d WPM", word, Settings.WPM))
    if TypeBox then pcall(function() TypeBox:CaptureFocus() end) end
    for i = 1, #word do
        local char = string.sub(word, i, i)
        SimulateKey(char)
        task.wait(GetLetterDelay())
    end
    task.wait(0.05)
    SimulateKey("\n")
    SetStatus("Submitted: " .. word)
    Typing = false
end

function TryTyping()
    if not Settings.AutoType or TypingActive then return end
    TypingActive = true
    while GetTurn() ~= LocalPlayer.UserId do
        if not Settings.AutoType then TypingActive = false return end
        task.wait(0.1)
    end
    if not Settings.AutoType then TypingActive = false return end
    local Word, attempts = nil, 0
    repeat
        task.wait()
        local detectedLetters = GetLetters()
        if detectedLetters and detectedLetters ~= "" then
            LetterBox.Text = detectedLetters
            Word = FindWordAuto(detectedLetters)
            attempts += 1
            if not Settings.AutoType then TypingActive = false return end
        end
    until Word or attempts >= 10
    if Word then
        LastWord = Word
        task.wait(Settings.WordTypeDelay)
        if not Typing then TypeWord(Word) end
        task.wait(Settings.WordTypeDelay)
        if GetTurn() == LocalPlayer.UserId and Settings.AutoType then
            SetStatus("Still my turn — retrying…")
            LastWord = ""
            TypingActive = false
            TryTyping()
            return
        end
    else
        SetStatus("No word found for: " .. GetLetters())
    end
    TypingActive = false
end

task.spawn(function()
    local lastPrompt = ""
    while task.wait(0.25) do
        if Settings.AutoType and GetTurn() == LocalPlayer.UserId and not Typing and not TypingActive then
            local currentPrompt = GetLetters() or ""
            if currentPrompt ~= "" and currentPrompt ~= lastPrompt then
                lastPrompt = currentPrompt
                task.spawn(TryTyping)
            end
        elseif GetTurn() ~= LocalPlayer.UserId then
            lastPrompt = ""
        end
    end
end)

LetterBox.FocusLost:Connect(function(enterPressed)
    if not enterPressed then return end
    local sub = LetterBox.Text
    if not sub or sub == "" then
        sub = GetLetters()
        if not sub or sub == "" then
            WordText.Text = "Error: empty input."
            return
        end
    end
    WordText.Text = sub .. " — Searching..."
    task.wait(0.1)
    local word = FindWordAuto(sub) or findWord(sub)
    if word then
        WordText.Text = "Typing: '" .. word .. "'..."
        task.spawn(function()
            TypeWord(word)
            WordText.Text = "Done: '" .. word .. "'"
        end)
    else
        WordText.Text = "No word found :("
    end
end)

AutoTypeToggle.MouseButton1Click:Connect(function()
    Settings.AutoType = not Settings.AutoType
    local on = Settings.AutoType
    AutoTypeToggle.Text = "Auto Type: " .. (on and "ON" or "OFF")
    AutoTypeToggle.BackgroundColor3 = on and Color3.fromRGB(40, 80, 40) or Color3.fromRGB(40, 40, 40)
    SetStatus("Auto Type " .. (on and "Enabled" or "Disabled"))
    if not on then TypingActive = false end
    if on then task.spawn(TryTyping) end
end)

AutoJoinToggle.MouseButton1Click:Connect(function()
    Settings.AutoJoin = not Settings.AutoJoin
    local on = Settings.AutoJoin
    AutoJoinToggle.Text = "Auto Join: " .. (on and "ON" or "OFF")
    AutoJoinToggle.BackgroundColor3 = on and Color3.fromRGB(40, 80, 40) or Color3.fromRGB(40, 40, 40)
    SetStatus("Auto Join " .. (on and "Enabled" or "Disabled"))
    if on then
        for i = -1, -1000, -1 do
            Games.GameEvent:FireServer(i, "JoinGame")
        end
    end
end)

WPMBox.FocusLost:Connect(function()
    local n = tonumber(WPMBox.Text)
    if n then
        Settings.WPM = math.clamp(n, 10, 9999)
        SetStatus(string.format("WPM → %d  (%.4fs/char)", Settings.WPM, 60 / (Settings.WPM * 5)))
    else
        SetStatus("Invalid WPM — enter a number.")
    end
end)

JitterToggle.MouseButton1Click:Connect(function()
    Settings.HumaniseWPM = not Settings.HumaniseWPM
    local on = Settings.HumaniseWPM
    JitterToggle.Text = "Humanise WPM: " .. (on and "ON" or "OFF")
    JitterToggle.BackgroundColor3 = on and Color3.fromRGB(40, 80, 40) or Color3.fromRGB(40, 40, 40)
    SetStatus("WPM jitter " .. (on and "ON" or "OFF"))
end)

ListDropDown.MouseButton1Click:Connect(function()
    ListIndex = (ListIndex % #ListNames) + 1
    Settings.WordList = ListIndex - 1
    ListDropDown.Text = ListNames[ListIndex]
    SetStatus("Word list → " .. ListNames[ListIndex])
end)

do
    local dragging, dragInput, dragStart, startPos

    TopFrame.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = OuterFrame.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then dragging = false end
            end)
        end
    end)

    TopFrame.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            dragInput = input
        end
    end)

    Services.UserInputService.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            local d = input.Position - dragStart
            OuterFrame.Position = UDim2.new(
                startPos.X.Scale,
                startPos.X.Offset + d.X,
                startPos.Y.Scale,
                startPos.Y.Offset + d.Y
            )
        end
    end)
end

local minimized = false

MinimizeButton.MouseButton1Click:Connect(function()
    minimized = not minimized
    local targetSize = minimized and UDim2.new(0, 320, 0, 28) or UDim2.new(0, 320, 0, 320)
    local targetBodySize = minimized and UDim2.new(1, 0, 0, 0) or UDim2.new(1, 0, 1, -28)

    local glow = Instance.new("ImageLabel")
    glow.Parent = OuterFrame
    glow.BackgroundTransparency = 1
    glow.Image = "rbxassetid://5028857084"
    glow.ImageColor3 = Color3.fromRGB(255, 255, 255)
    glow.Size = UDim2.new(1, 20, 1, 20)
    glow.Position = UDim2.new(0, -10, 0, -10)
    glow.ImageTransparency = 1

    Services.TweenService:Create(
        glow,
        TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        {ImageTransparency = 0.7}
    ):Play()

    task.delay(0.4, function()
        glow:Destroy()
    end)

    Services.TweenService:Create(
        OuterFrame,
        TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        {Size = targetSize}
    ):Play()

    Services.TweenService:Create(
        MainFrame,
        TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        {Size = targetBodySize}
    ):Play()

    Services.TweenService:Create(
        IntroFrame,
        TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        {Size = targetBodySize}
    ):Play()

    MinimizeButton.Text = minimized and "+" or "—"
end)

task.delay(2, function()
    Services.TweenService:Create(
        IntroFrame,
        TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
        {Position = UDim2.new(0, 0, 1, 0)}
    ):Play()
end)

Games:WaitForChild("RegisterGame").OnClientEvent:Connect(function(int)
    GameID = int
    UsedWords = {}
    LastWord = ""
    SetStatus("Game registered — ID: " .. int)
    if Settings.AutoJoin then Games.GameEvent:FireServer(int, "JoinGame") end
    task.wait(1)
    if Settings.AutoType then task.spawn(TryTyping) end
end)

Features & Information

[Updated UnpatchaBomb! (v1.9 -> 1.9.2) (ID: #1.90.2.49.1) (Friday, May 22, 2026 @ 3:54 PM) [--Bug Fixes--] Patched unsuccessful injection error on Xeno Now Supports Hydrogen executor Words now look like they're being typed by you rather than just spontaneously existing!

Community Comments (9)

c9m66pvcysc9m66pvcysMay 22, 2026

W man

@2zf69s16m9 ^^ ty, i spent a long time working on this!

Replying to @alsotwentycharacters
voltexvoltexMay 22, 2026

@Aedynjames17 its literally from claude

3j7u6q451k3j7u6q451kMay 22, 2026

THX MAN

alsotwentycharactersalsotwentycharactersMay 22, 2026(edited)

im glad yall enjoy it ;)

Replying to @alsotwentycharacters
ALTERRATICALTERRATICMay 22, 2026

@Aedynjames17 its really good, but it doesnt actually type out the words, it just magically puts the whole word at once making it really blatant, but definitely work

Replying to @ALTERRATIC

@ALTERRATIC script is now updated with your suggestion!

rat37440rat37440Jun 16, 2026

does not work on xeno

Replying to @rat37440

@rat37440 of course it doesnt. Xeno lacks required methods n stuff. you need a better executor

More Scripts for Word Bomb