EXPLODE ALL AUTO WIN BOMB PLAYER ETC
Key Required

EXPLODE ALL AUTO WIN BOMB PLAYER ETC

Get Down!R_77R_77 6.3K views 51 executesUpdated Sep 14, 2025
5.0/ 5(2 votes)
20100% Positive
Lua Script•408 lines (16316 chars)
-- =================================
-- DEV -- > R-77 ; DISCORD - tankuct.
-- =================================

local function safeHttpGet(url) return pcall(function() return game:HttpGet(url) end) end
local function loadRayfield()
    if typeof(loadstring) ~= "function" then return nil end
    local urls = {
        "https://raw.githubusercontent.com/shlexware/Rayfield/main/source",
        "https://sirius.menu/rayfield",
    }
    for _, url in ipairs(urls) do
        local ok, src = safeHttpGet(url)
        if ok and type(src) == "string" and #src > 0 and not src:find("^404") then
            local f = loadstring(src); if f then
                local lib = f(); if type(lib) == "table" and (lib.CreateWindow or lib.Destroy) then return lib end
            end
        end
    end
    return nil
end
local Rayfield = loadRayfield()

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local ProximityPromptService = game:GetService("ProximityPromptService")
local VIM = game:GetService("VirtualInputManager")
local CoreGui = game:GetService("CoreGui")

local lp = Players.LocalPlayer
local function getHRP() local c=lp.Character or lp.CharacterAdded:Wait(); return c:WaitForChild("HumanoidRootPart") end

local ACTIVE_CONN = nil
local SAFE_PAD = nil
local FB_GUI = nil
local RF_WINDOW = nil

local MAGNET_TIME   = 0.7
local F_SPAM_TIME   = 0.8
local BOMB_DELAY    = 0
local SAFE_HEIGHT   = 120
local ESCAPE_OFFSET = Vector3.new(0, 0, -3)

local function hasTouch(p) return p:FindFirstChildWhichIsA("TouchTransmitter") or p:FindFirstChild("TouchInterest") end
local function collectTargets()
    local acc, seen = {}, {}
    for _, inst in ipairs(game:GetDescendants()) do
        if inst.Name=="ExplosionPart" then
            if inst:IsA("BasePart") then
                if hasTouch(inst) and not seen[inst] then seen[inst]=true; table.insert(acc, inst) end
            else
                for _, d in ipairs(inst:GetDescendants()) do
                    if d:IsA("BasePart") and hasTouch(d) and not seen[d] then seen[d]=true; table.insert(acc, d) end
                end
            end
        end
    end
    return acc
end
local function firePartTouch(hrp, part)
    if typeof(firetouchinterest) == "function" then
        local ok=false
        for _=1,3 do
            local s = pcall(function()
                firetouchinterest(hrp, part, 0); task.wait(0.004); firetouchinterest(hrp, part, 1)
            end)
            if s then ok=true; break end
            task.wait(0.01)
        end
        return ok
    else
        local cf=hrp.CFrame
        hrp.CFrame=part.CFrame+Vector3.new(0,3,0); task.wait(0.05); hrp.CFrame=cf
        return true
    end
end
local function explodeAllMines(notify)
    local hrp=getHRP()
    local list=collectTargets()
    local total = #list
    local fired, failed = 0, 0
    if typeof(firetouchinterest) == "function" then
        local inFlight, maxConc = 0, 30
        for _, part in ipairs(list) do
            if part and part.Parent then
                while inFlight >= maxConc do task.wait() end
                inFlight += 1
                task.spawn(function()
                    local ok = firePartTouch(hrp, part)
                    if ok then fired += 1 else failed += 1 end
                    inFlight -= 1
                end)
            else
                failed += 1
            end
        end
        while fired + failed < total do task.wait() end
    else
        for _, part in ipairs(list) do
            if part and part.Parent then
                if firePartTouch(hrp, part) then fired += 1 else failed += 1 end
                task.wait(0.02)
            else
                failed += 1
            end
        end
    end
    if notify then notify(string.format("Mines: %d/%d triggered (%d skipped)", fired, total, failed)) end
end

local function findCF(inst)
    if not inst then return nil end
    if inst:IsA("BasePart") then return inst.CFrame end
    if inst:IsA("Model") then
        local pp=inst.PrimaryPart or inst:FindFirstChildWhichIsA("BasePart")
        return pp and pp.CFrame or nil
    end
    return nil
end
local function autoWin(notify)
    local world=workspace:FindFirstChild("World")
    local target=(world and world:FindFirstChild("FinalCheckpoint", true)) or workspace:FindFirstChild("FinalCheckpoint", true)
    local cf=findCF(target)
    if not cf then if notify then notify("workspace.World.FinalCheckpoint not found") end; return end
    getHRP().CFrame = cf + Vector3.new(0,5,0)
    if notify then notify("Teleported to FinalCheckpoint") end
end
local function tpToSpawn(notify)
    local world=workspace:FindFirstChild("World")
    local target=(world and world:FindFirstChild("SpawnLocation", true)) or workspace:FindFirstChild("SpawnLocation", true)
    if not (target and target:IsA("BasePart")) then if notify then notify("workspace.World.SpawnLocation not found") end; return end
    getHRP().CFrame = target.CFrame + Vector3.new(0,5,0)
    if notify then notify("Teleported to Spawn") end
end

local function findPlayerByPart(query)
    if not query or query == "" then return nil end
    query = string.lower(query)
    for _, plr in ipairs(Players:GetPlayers()) do
        local name = string.lower(plr.Name)
        local display = string.lower(plr.DisplayName or "")
        if name:find(query, 1, true) or display:find(query, 1, true) then
            return plr
        end
    end
    return nil
end
local function pressF()
    pcall(function()
        VIM:SendKeyEvent(true, Enum.KeyCode.F, false, game)
        task.wait(0.05)
        VIM:SendKeyEvent(false, Enum.KeyCode.F, false, game)
    end)
end
local function spamF(duration)
    local t0 = tick()
    while tick() - t0 < duration do
        pressF()
        task.wait(0.07)
    end
end
local function getBombAndPrompt()
    local world = workspace:FindFirstChild("World")
    local stuff = world and world:FindFirstChild("Stuff", true)
    local bomb  = stuff and stuff:FindFirstChild("Bomb", true) or (world and world:FindFirstChild("Bomb", true)) or workspace:FindFirstChild("Bomb", true)
    if not bomb then return nil, nil end
    local prompt = bomb:FindFirstChildWhichIsA("ProximityPrompt", true) or (bomb:FindFirstChild("ProximityPrompt", true))
    return bomb, prompt
end
local function triggerPrompt(prompt)
    if not prompt then return false end
    if typeof(fireproximityprompt) == "function" then
        local ok = pcall(function() fireproximityprompt(prompt) end)
        if ok then return true end
    end
    pcall(function() ProximityPromptService:InputHoldBegin(prompt) end)
    task.wait((prompt.HoldDuration or 1) + 0.1)
    pcall(function() ProximityPromptService:InputHoldEnd(prompt) end)
    return true
end

local function resolveSpawnCF(fallbackCF)
    local world=workspace:FindFirstChild("World")
    local sp=(world and world:FindFirstChild("SpawnLocation", true)) or workspace:FindFirstChild("SpawnLocation", true)
    local cf=(sp and (findCF(sp) or sp.CFrame)) or fallbackCF
    return cf
end
local function createSafePad(baseCF, height)
    if SAFE_PAD then SAFE_PAD:Destroy() SAFE_PAD=nil end
    local pad = Instance.new("Part")
    pad.Name = "TrollObby_SafePad"
    pad.Size = Vector3.new(12, 1, 12)
    pad.Anchored = true
    pad.CanCollide = true
    pad.CanQuery = false
    pad.Transparency = 1
    pad.CFrame = baseCF + Vector3.new(0, height, 0)
    pad.Parent = workspace
    SAFE_PAD = pad
    return pad
end
local function cleanupSafePad()
    if SAFE_PAD then pcall(function() SAFE_PAD:Destroy() end); SAFE_PAD=nil end
end

local function bombPlayerFlow(query, notify, overrideDelay)
    local hrp = getHRP()
    local startCF = hrp.CFrame
    local bomb, prompt = getBombAndPrompt()
    if not (bomb and prompt) then
        if notify then notify("Bomb/ProximityPrompt not found at workspace.World.Stuff.Bomb") end
        return
    end
    local bcf = findCF(bomb) or bomb.CFrame
    hrp.CFrame = bcf + Vector3.new(0, 3, 0)
    task.wait(0.2)
    triggerPrompt(prompt)
    task.wait(0.25)
    local waitAfterPickup = math.clamp(tonumber(overrideDelay) or BOMB_DELAY or 0, 0, 20)
    if waitAfterPickup > 0 then
        local spawnCF = resolveSpawnCF(startCF)
        local pad = createSafePad(spawnCF, SAFE_HEIGHT)
        hrp.CFrame = pad.CFrame + Vector3.new(0, 3, 0)
        task.wait(waitAfterPickup)
        cleanupSafePad()
    end
    local targetPlr = findPlayerByPart(query)
    if not targetPlr or not targetPlr.Character then
        if notify then notify("Target player not found") end
        hrp.CFrame = startCF
        return
    end
    local thrp = targetPlr.Character:FindFirstChild("HumanoidRootPart")
    if not thrp then
        if notify then notify("Target HRP not found") end
        hrp.CFrame = startCF
        return
    end
    hrp.CFrame = thrp.CFrame * CFrame.new(0, 0, -2.2)
    if ACTIVE_CONN then pcall(function() ACTIVE_CONN:Disconnect() end) end
    local alive = true
    ACTIVE_CONN = RunService.Heartbeat:Connect(function()
        if not alive then return end
        local ch = targetPlr.Character
        if ch then
            thrp = ch:FindFirstChild("HumanoidRootPart") or thrp
            if thrp then
                local behind = thrp.CFrame * CFrame.new(0, 0, -2.2)
                hrp.CFrame = CFrame.new(behind.Position, thrp.Position)
            end
        end
    end)
    task.spawn(function() spamF(F_SPAM_TIME) end)
    task.wait(math.clamp(MAGNET_TIME, 0.3, 2.0))
    alive = false
    if ACTIVE_CONN then pcall(function() ACTIVE_CONN:Disconnect() end); ACTIVE_CONN=nil end
    if thrp then
        local escape = thrp.CFrame * CFrame.new(ESCAPE_OFFSET.X, ESCAPE_OFFSET.Y, ESCAPE_OFFSET.Z)
        hrp.CFrame = escape
    end
    task.wait(0.1)
    hrp.CFrame = startCF
end

local function destroyAll()
    if ACTIVE_CONN then pcall(function() ACTIVE_CONN:Disconnect() end); ACTIVE_CONN=nil end
    cleanupSafePad()
    pcall(function() if Rayfield and Rayfield.Destroy then Rayfield:Destroy() end end)
    pcall(function() if RF_WINDOW and RF_WINDOW.Destroy then RF_WINDOW:Destroy() end end)
    local function purge(container)
        for _, inst in ipairs(container:GetDescendants()) do
            local n = string.lower(inst.Name or "")
            if inst:IsA("ScreenGui") or inst:IsA("Folder") then
                if n:find("rayfield") or n:find("trollobby") or n:find("troll obby") then
                    pcall(function() inst:Destroy() end)
                end
            end
        end
    end
    pcall(function() purge(CoreGui) end)
    pcall(function() if lp.PlayerGui then purge(lp.PlayerGui) end end)
end

local function makeFallbackUI()
    local sg = Instance.new("ScreenGui"); sg.Name="TrollObbyFallbackUI"; sg.ResetOnSpawn=false; sg.Parent=CoreGui
    FB_GUI = sg
    local frame = Instance.new("Frame"); frame.Size=UDim2.new(0,360,0,460); frame.Position=UDim2.new(0,40,0,80)
    frame.BackgroundColor3=Color3.fromRGB(20,20,20); frame.BorderSizePixel=0; frame.Parent=sg
    local function mkLabel(text, y)
        local t=Instance.new("TextLabel"); t.Size=UDim2.new(1,-16,0,24); t.Position=UDim2.new(0,8,0,y)
        t.BackgroundTransparency=1; t.TextColor3=Color3.new(1,1,1)
        t.TextXAlignment=Enum.TextXAlignment.Left; t.Font=Enum.Font.Gotham; t.TextSize=14; t.Text=text; t.Parent=frame
        return t
    end
    local function mkBtn(text, y)
        local b=Instance.new("TextButton"); b.Size=UDim2.new(1,-16,0,36); b.Position=UDim2.new(0,8,0,y)
        b.Text=text; b.BackgroundColor3=Color3.fromRGB(35,35,35); b.TextColor3=Color3.new(1,1,1)
        b.Font=Enum.Font.Gotham; b.TextSize=14; b.Parent=frame; return b
    end
    mkLabel("Troll Obby Ultimate GUI by R-77 (fallback)", 8)
    local btnExplode = mkBtn("Explode all mines", 40)
    local btnWin     = mkBtn("Auto Win",          84)
    local btnSpawn   = mkBtn("Teleport to Spawn", 128)
    mkLabel("PvP: Target name (part)", 172)
    local box = Instance.new("TextBox"); box.Size=UDim2.new(1,-16,0,28); box.Position=UDim2.new(0,8,0,196)
    box.PlaceholderText="player / part of name"; box.Text=""; box.TextColor3=Color3.new(1,1,1)
    box.BackgroundColor3=Color3.fromRGB(35,35,35); box.Font=Enum.Font.Gotham; box.TextSize=14; box.Parent=frame
    mkLabel("Wait after pickup (0-20s)", 228)
    local delayBox = Instance.new("TextBox"); delayBox.Size=UDim2.new(1,-16,0,28); delayBox.Position=UDim2.new(0,8,0,252)
    delayBox.PlaceholderText="0..20"; delayBox.Text="0"; delayBox.TextColor3=Color3.new(1,1,1)
    delayBox.BackgroundColor3=Color3.fromRGB(35,35,35); delayBox.Font=Enum.Font.Gotham; delayBox.TextSize=14; delayBox.Parent=frame
    mkLabel("Safe offset above spawn (studs)", 284)
    local safeH = Instance.new("TextBox"); safeH.Size=UDim2.new(1,-16,0,28); safeH.Position=UDim2.new(0,8,0,308)
    safeH.PlaceholderText="e.g. 120"; safeH.Text=tostring(SAFE_HEIGHT); safeH.TextColor3=Color3.new(1,1,1)
    safeH.BackgroundColor3=Color3.fromRGB(35,35,35); safeH.Font=Enum.Font.Gotham; safeH.TextSize=14; safeH.Parent=frame
    local btnBomb    = mkBtn("Bomb player", 348)
    local btnDestroy = mkBtn("Destroy GUI", 392)

    btnExplode.MouseButton1Click:Connect(function() explodeAllMines() end)
    btnWin.MouseButton1Click:Connect(function() autoWin() end)
    btnSpawn.MouseButton1Click:Connect(function() tpToSpawn() end)
    btnBomb.MouseButton1Click:Connect(function()
        local name = box.Text or ""
        if name == "" then return end
        local d = tonumber(delayBox.Text) or 0
        local h = tonumber(safeH.Text) or SAFE_HEIGHT
        BOMB_DELAY = math.clamp(d, 0, 20)
        SAFE_HEIGHT = math.clamp(h, 0, 500)
        bombPlayerFlow(name)
    end)
    btnDestroy.MouseButton1Click:Connect(function() destroyAll() end)
end

local notifyFn
if Rayfield then
    RF_WINDOW = Rayfield:CreateWindow({
        Name = "Get Down Ultimate GUI by R-77",
        LoadingTitle = "Troll Obby",
        LoadingSubtitle = "UI is loading...",
        ConfigurationSaving = { Enabled = false },
        KeySystem = false
    })
    notifyFn = function(txt) Rayfield:Notify({Title="Troll Obby", Content=txt, Duration=5}) end

    local Tab = RF_WINDOW:CreateTab("Main")
    Tab:CreateSection("Actions")
    Tab:CreateButton({ Name="Explode all mines", Callback=function() explodeAllMines(notifyFn) end })
    Tab:CreateButton({ Name="Auto Win", Callback=function() autoWin(notifyFn) end })
    Tab:CreateButton({ Name="Teleport to Spawn", Callback=function() tpToSpawn(notifyFn) end })

    local PvP = RF_WINDOW:CreateTab("PvP")
    PvP:CreateSection("Bomb transfer")
    local targetName = ""
    PvP:CreateInput({
        Name = "Target player (part of nickname)",
        PlaceholderText = "e.g. rob / bob",
        RemoveTextAfterFocusLost = false,
        Callback = function(text) targetName = text or "" end
    })
    PvP:CreateSlider({
        Name = "Wait after pickup (sec)",
        Range = {0, 20},
        Increment = 1,
        CurrentValue = BOMB_DELAY,
        Callback = function(v) BOMB_DELAY = v end
    })
    PvP:CreateSlider({
        Name = "Safe offset above spawn (studs)",
        Range = {0, 500},
        Increment = 5,
        CurrentValue = SAFE_HEIGHT,
        Callback = function(v) SAFE_HEIGHT = v end
    })
    PvP:CreateSlider({
        Name = "Magnet time (sec)",
        Range = {0, 2},
        Increment = 0.1,
        CurrentValue = MAGNET_TIME,
        Callback = function(v) MAGNET_TIME = v end
    })
    PvP:CreateSlider({
        Name = "F spam duration (sec)",
        Range = {0.2, 1.5},
        Increment = 0.1,
        CurrentValue = F_SPAM_TIME,
        Callback = function(v) F_SPAM_TIME = v end
    })
    PvP:CreateButton({
        Name = "Bomb player",
        Callback = function()
            if targetName == "" then
                notifyFn("Enter target name first")
                return
            end
            bombPlayerFlow(targetName, notifyFn)
        end
    })

    local Utils = RF_WINDOW:CreateTab("Utils")
    Utils:CreateSection("Danger zone")
    Utils:CreateButton({ Name="Destroy GUI", Callback=function() destroyAll() end })
else
    makeFallbackUI()
end

-- =================================
-- DEV -- > R-77 ; DISCORD - tankuct.
-- =================================

Features & Information

Functions: explode all mines, auto win, teleport to spawn, bomb transfer to players (with delay, safe spot, magnet + auto F), and full GUI destroy. Maybe soon i will update script for this game (this game is so trash and i have potential to create mega script to destroy it) but i don't have desire.
#free#keyless#ui#troll#roblox

Community Comments (2)

Jackson123Jackson123Sep 14, 2025

Hi I'm first

Requester1Requester1Jan 11, 2026

Hi I'm second

More Scripts for Get Down!