DUEL PASS THE BOMB KEYLESS
Key Required

DUEL PASS THE BOMB KEYLESS

💣 [DUELS!] Bomb PassODPCADEIRAODPCADEIRA 501 views 5.2K executesUpdated Aug 5, 2026
Unrated
00
Lua Script•575 lines (18265 chars)
-- ============================================
-- SCRIPT: ODP_CADEIRAV1
-- JOGO: DUELOS! PASSE A BOMBA
-- AUTOR: ODPCADEIRA
-- INTERFACE: RAYFIELD
-- ============================================

-- ========== CARREGAR RAYFIELD ==========
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

-- ========== MENSAGEM INICIAL ==========
local function MostrarMensagem()
    local gui = Instance.new("ScreenGui")
    gui.Name = "FeitoPor"
    gui.Parent = game.Players.LocalPlayer.PlayerGui
    gui.ResetOnSpawn = false
    
    local frame = Instance.new("Frame")
    frame.Parent = gui
    frame.Size = UDim2.new(0, 350, 0, 80)
    frame.Position = UDim2.new(0.5, -175, 0.5, -40)
    frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    frame.BackgroundTransparency = 0.6
    frame.BorderSizePixel = 0
    
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 16)
    corner.Parent = frame
    
    local label = Instance.new("TextLabel")
    label.Parent = frame
    label.Size = UDim2.new(1, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.Text = "✨ FEITO POR ODPCADEIRA ✨"
    label.TextColor3 = Color3.fromRGB(255, 215, 0)
    label.TextScaled = true
    label.Font = Enum.Font.GothamBold
    label.TextStrokeColor3 = Color3.fromRGB(180, 150, 0)
    label.TextStrokeTransparency = 0.3
    
    wait(3)
    gui:Destroy()
end

MostrarMensagem()
wait(0.5)

-- ========== VARIÁVEIS GLOBAIS ==========
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local lp = Players.LocalPlayer

print("=== ODP_CADEIRAV1 - RAYFIELD ===")

-- ========== CONFIG ==========
local config = {
    Hitbox = false,
    Mensagens = false,
    Teleporte = false,
    HitboxSize = 6,
}

-- ========== VARIÁVEIS ==========
local mensagens = {}
local ultEstado = {}
local posOriginal = nil
local teleportando = false
local tamanhosOrig = {}
local notifGui = nil
local notifLabel = nil
local bombaAtiva = false

-- ========== FUNÇÃO: BOMBA ==========
function TemBomba(jogador)
    local c = jogador.Character
    if not c then return false end
    
    for _, child in ipairs(c:GetChildren()) do
        if child.Name == "Bomber" or child.Name == "Bomb Box" then
            return true
        end
        local nome = string.lower(child.Name or "")
        if string.find(nome, "bomb") or string.find(nome, "explos") then
            return true
        end
    end
    
    for _, desc in ipairs(c:GetDescendants()) do
        if desc.Name == "Bomber" or desc.Name == "Bomb Box" then
            return true
        end
        local nome = string.lower(desc.Name or "")
        if string.find(nome, "bomb") or string.find(nome, "explos") then
            return true
        end
    end
    
    for _, item in ipairs(c:GetChildren()) do
        if item:IsA("Tool") then
            local nome = string.lower(item.Name)
            if string.find(nome, "bomb") or string.find(nome, "explos") then
                return true
            end
        end
    end
    
    return false
end

-- ========== FUNÇÃO: TIMER ==========
function PegarTimer()
    local gui = lp:FindFirstChild("PlayerGui")
    if not gui then return nil end
    for _, obj in ipairs(gui:GetDescendants()) do
        if obj:IsA("TextLabel") then
            local num = tonumber(string.match(obj.Text or "", "([%d.]+)"))
            if num and num > 0 and num <= 15 then
                return num
            end
        end
    end
    return nil
end

-- ========== NOTIFICAÇÃO ==========
function MostrarNotificacao()
    if notifGui then
        pcall(function() notifGui:Destroy() end)
        notifGui = nil
        notifLabel = nil
    end
    
    local gui = Instance.new("ScreenGui")
    gui.Name = "NotifBomba"
    gui.Parent = lp.PlayerGui
    gui.ResetOnSpawn = false
    
    local frame = Instance.new("Frame")
    frame.Parent = gui
    frame.Size = UDim2.new(0, 200, 0, 34)
    frame.Position = UDim2.new(0.02, 0, 0.05, 0)
    frame.BackgroundColor3 = Color3.new(1, 0, 0)
    frame.BackgroundTransparency = 0.05
    frame.BorderSizePixel = 0
    
    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 8)
    corner.Parent = frame
    
    local label = Instance.new("TextLabel")
    label.Parent = frame
    label.Size = UDim2.new(1, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.Text = "💣 VOCÊ ESTÁ COM A BOMBA!"
    label.TextColor3 = Color3.new(1, 1, 1)
    label.TextScaled = true
    label.Font = Enum.Font.GothamBold
    
    notifGui = gui
    notifLabel = label
end

function RemoverNotificacao()
    bombaAtiva = false
    if notifGui then
        pcall(function() notifGui:Destroy() end)
        notifGui = nil
        notifLabel = nil
    end
end

-- ========== FUNÇÃO: VIVO ==========
function Vivo(jogador)
    local c = jogador.Character
    if not c then return false end
    local hum = c:FindFirstChild("Humanoid")
    if not hum then return false end
    return hum.Health > 0
end

function NaPartida()
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= lp then
            local c = plr.Character
            if c and c:FindFirstChild("HumanoidRootPart") and Vivo(plr) then
                return true
            end
        end
    end
    return false
end

-- ========== INIMIGO MAIS PRÓXIMO ==========
function InimigoProximo()
    local char = lp.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
    
    local pos = char.HumanoidRootPart.Position
    local alvo = nil
    local distMin = 9999
    
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= lp and Vivo(plr) and NaPartida(plr) then
            local c = plr.Character
            if c and c:FindFirstChild("HumanoidRootPart") then
                local dist = (pos - c.HumanoidRootPart.Position).Magnitude
                if dist < distMin then
                    distMin = dist
                    alvo = c
                end
            end
        end
    end
    return alvo
end

-- ========== TELEPORTE ==========
function Teleportar()
    if teleportando or not config.Teleporte then return end
    
    local char = lp.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return end
    if not TemBomba(lp) then return end
    
    local timer = PegarTimer()
    if not timer or timer >= 3 then return end
    
    local inimigo = InimigoProximo()
    if not inimigo then return end
    
    teleportando = true
    posOriginal = char.HumanoidRootPart.Position
    char.HumanoidRootPart.CFrame = CFrame.new(inimigo.HumanoidRootPart.Position + Vector3.new(0, 0, 2))
    
    wait(0.1)
    
    local toque = Instance.new("Part")
    toque.Size = Vector3.new(5, 5, 5)
    toque.CFrame = inimigo.HumanoidRootPart.CFrame
    toque.Anchored = true
    toque.CanCollide = true
    toque.Transparency = 1
    toque.Parent = Workspace
    
    for _, parte in ipairs({inimigo:FindFirstChild("HumanoidRootPart"), inimigo:FindFirstChild("Torso"), inimigo:FindFirstChild("UpperTorso")}) do
        if parte then pcall(function() parte.Touched:Fire(toque) end) end
    end
    
    wait(0.05)
    toque:Destroy()
    
    if posOriginal then
        wait(0.1)
        char.HumanoidRootPart.CFrame = CFrame.new(posOriginal)
        posOriginal = nil
    end
    
    teleportando = false
end

-- ========== HITBOX ==========
function AtivarHitbox()
    if not config.Hitbox then
        for plr in pairs(tamanhosOrig) do
            local c = plr.Character
            if c then
                for nome, tam in pairs(tamanhosOrig[plr] or {}) do
                    local parte = c:FindFirstChild(nome)
                    if parte then pcall(function() parte.Size = tam end) end
                end
            end
        end
        tamanhosOrig = {}
        return
    end
    
    if not NaPartida() then return end
    local size = config.HitboxSize or 6
    
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= lp then
            local c = plr.Character
            if c and Vivo(plr) then
                if not tamanhosOrig[plr] then tamanhosOrig[plr] = {} end
                
                for _, nome in ipairs({"HumanoidRootPart","Torso","UpperTorso","LowerTorso","LeftArm","RightArm","LeftLeg","RightLeg"}) do
                    local parte = c:FindFirstChild(nome)
                    if parte and (parte:IsA("Part") or parte:IsA("MeshPart")) then
                        if not tamanhosOrig[plr][nome] then
                            tamanhosOrig[plr][nome] = parte.Size
                        end
                        pcall(function()
                            parte.Size = Vector3.new(size, size, size)
                            parte.CanCollide = false
                            parte.Transparency = 0.7
                            parte.Color = Color3.new(0.3, 0.3, 0.3)
                        end)
                    end
                end
            end
        end
    end
end

-- ========== MENSAGENS ==========
function AtivarMensagens()
    if not config.Mensagens then
        for _, obj in pairs(mensagens) do pcall(function() obj:Destroy() end) end
        mensagens = {}
        ultEstado = {}
        return
    end
    
    if not NaPartida() then return end
    local char = lp.Character
    if not char then return end
    
    local w, h = 45, 16
    
    for _, child in ipairs(char:GetChildren()) do
        if child:IsA("BillboardGui") and child.Name == "SelfMsg" then
            child:Destroy()
        end
    end
    
    if TemBomba(lp) then
        local cabeca = char:FindFirstChild("Head")
        if cabeca then
            local bg = Instance.new("BillboardGui")
            bg.Name = "SelfMsg"
            bg.Parent = char
            bg.Size = UDim2.new(0, w, 0, h)
            bg.StudsOffset = Vector3.new(0, 4.5, 0)
            bg.AlwaysOnTop = true
            bg.Adornee = cabeca
            
            local label = Instance.new("TextLabel")
            label.Parent = bg
            label.Size = UDim2.new(1, 0, 1, 0)
            label.BackgroundColor3 = Color3.new(1, 0, 0)
            label.BackgroundTransparency = 0.15
            label.Text = "💣 BOMBA!"
            label.TextColor3 = Color3.new(1, 1, 0)
            label.TextScaled = true
            label.Font = Enum.Font.GothamBold
            label.BorderSizePixel = 0
        end
    end
    
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= lp then
            local c = plr.Character
            if not c or not Vivo(plr) then
                if mensagens[plr] then
                    pcall(function() mensagens[plr]:Destroy() end)
                    mensagens[plr] = nil
                    ultEstado[plr] = nil
                end
            else
                local temBomba = TemBomba(plr)
                local cabeca = c:FindFirstChild("Head")
                
                if ultEstado[plr] ~= temBomba then
                    ultEstado[plr] = temBomba
                    if mensagens[plr] then
                        pcall(function() mensagens[plr]:Destroy() end)
                        mensagens[plr] = nil
                    end
                end
                
                if cabeca then
                    if mensagens[plr] then
                        local label = mensagens[plr]:FindFirstChild("TextLabel")
                        if label then
                            if temBomba then
                                label.Text = "💣 BOMBA!"
                                label.BackgroundColor3 = Color3.new(1, 0, 0)
                                label.TextColor3 = Color3.new(1, 1, 0)
                            else
                                label.Text = "SEM BOMBA"
                                label.BackgroundColor3 = Color3.new(0, 0.3, 0.8)
                                label.TextColor3 = Color3.new(1, 1, 1)
                            end
                        end
                    else
                        local bg = Instance.new("BillboardGui")
                        bg.Parent = c
                        bg.Size = UDim2.new(0, w, 0, h)
                        bg.StudsOffset = Vector3.new(0, 3.5, 0)
                        bg.AlwaysOnTop = true
                        bg.Adornee = cabeca
                        
                        local label = Instance.new("TextLabel")
                        label.Parent = bg
                        label.Size = UDim2.new(1, 0, 1, 0)
                        label.BackgroundTransparency = 0.15
                        label.TextScaled = true
                        label.Font = Enum.Font.GothamBold
                        label.BorderSizePixel = 0
                        
                        if temBomba then
                            label.Text = "💣 BOMBA!"
                            label.BackgroundColor3 = Color3.new(1, 0, 0)
                            label.TextColor3 = Color3.new(1, 1, 0)
                        else
                            label.Text = "SEM BOMBA"
                            label.BackgroundColor3 = Color3.new(0, 0.3, 0.8)
                            label.TextColor3 = Color3.new(1, 1, 1)
                        end
                        
                        mensagens[plr] = bg
                    end
                end
            end
        end
    end
end

-- ========== LOOP ==========
spawn(function()
    while wait(0.15) do
        pcall(function()
            if not lp.Character then return end
            
            local temBomba = TemBomba(lp)
            if temBomba and not bombaAtiva then
                bombaAtiva = true
                MostrarNotificacao()
                print("💣 VOCÊ ESTÁ COM A BOMBA!")
            elseif not temBomba and bombaAtiva then
                bombaAtiva = false
                RemoverNotificacao()
                print("🟢 BOMBA REMOVIDA!")
            end
            
            if config.Hitbox then AtivarHitbox() end
            if config.Mensagens then AtivarMensagens() end
            if config.Teleporte then Teleportar() end
        end)
    end
end)

lp.CharacterAdded:Connect(function()
    wait(0.5)
    for _, obj in pairs(mensagens) do pcall(function() obj:Destroy() end) end
    mensagens = {}
    ultEstado = {}
    posOriginal = nil
    teleportando = false
    RemoverNotificacao()
end)

-- ============================================
-- ========== INTERFACE RAYFIELD ==========
-- ============================================

local Window = Rayfield:CreateWindow({
    Name = "🪑 ODP_CADEIRAV1",
    LoadingTitle = "Carregando ODP_CADEIRAV1...",
    LoadingSubtitle = "by ODPCADEIRA",
    ConfigurationSaving = {
       Enabled = true,
       FolderName = "ODPCADEIRAV1", 
       FileName = "Settings"
    },
    Discord = {
       Enabled = false
    },
    KeySystem = false,
    RayfieldVersion = "1.0"
})

-- ========== ABA PRINCIPAL ==========
local MainTab = Window:CreateTab("⚙️ Principal", 4483362458)

-- ========== SEÇÃO: HITBOX ==========
MainTab:CreateSection("📐 HITBOX")

MainTab:CreateToggle({
    Name = "Ativar Hitbox",
    CurrentValue = false,
    Flag = "HitboxToggle",
    Callback = function(Value)
        config.Hitbox = Value
        print("✅ Hitbox: " .. (Value and "ON" or "OFF"))
    end,
})

MainTab:CreateSlider({
    Name = "Tamanho da Hitbox",
    Range = {3, 12},
    Increment = 1,
    Suffix = "Studs",
    CurrentValue = 6,
    Flag = "HitboxSize",
    Callback = function(Value)
        config.HitboxSize = Value
        print("📏 Hitbox Size: " .. Value)
    end,
})

-- ========== SEÇÃO: MENSAGENS ==========
MainTab:CreateSection("💬 MENSAGENS")

MainTab:CreateToggle({
    Name = "Ativar Mensagens",
    CurrentValue = false,
    Flag = "MsgToggle",
    Callback = function(Value)
        config.Mensagens = Value
        print("✅ Mensagens: " .. (Value and "ON" or "OFF"))
    end,
})

-- ========== SEÇÃO: TELEPORTE ==========
MainTab:CreateSection("🚀 TELEPORTE")

MainTab:CreateToggle({
    Name = "Ativar Teleporte",
    CurrentValue = false,
    Flag = "TeleporteToggle",
    Callback = function(Value)
        config.Teleporte = Value
        print("✅ Teleporte: " .. (Value and "ON" or "OFF"))
    end,
})

MainTab:CreateParagraph({
    Title = "ℹ️ Informações do Teleporte",
    Content = "• Teleporta quando timer < 3s\n• Passa a bomba automaticamente\n• Volta para posição original"
})

-- ========== ABA: STATUS ==========
local StatusTab = Window:CreateTab("📊 Status", 4483362458)

StatusTab:CreateParagraph({
    Title = "📊 STATUS ATUAL",
    Content = "Aguardando atualização..."
})

-- ========== ATUALIZAR STATUS ==========
spawn(function()
    while wait(1) do
        pcall(function()
            local timer = PegarTimer()
            local temBomba = TemBomba(lp)
            
            local statusText = "📌 JOGADOR: " .. lp.Name .. "\n"
            statusText = statusText .. "💣 Com bomba: " .. (temBomba and "✅ SIM" or "❌ NÃO") .. "\n"
            statusText = statusText .. "⏱️ Timer: " .. (timer and timer .. "s" or "NÃO DETECTADO") .. "\n"
            statusText = statusText .. "📐 Hitbox: " .. (config.Hitbox and "✅ ON" or "❌ OFF") .. "\n"
            statusText = statusText .. "💬 Mensagens: " .. (config.Mensagens and "✅ ON" or "❌ OFF") .. "\n"
            statusText = statusText .. "🚀 Teleporte: " .. (config.Teleporte and "✅ ON" or "❌ OFF")
            
            StatusTab:Clear()
            StatusTab:CreateParagraph({
                Title = "📊 STATUS ATUAL",
                Content = statusText
            })
        end)
    end
end)

-- ========== ABA: CRÉDITOS ==========
local CreditTab = Window:CreateTab("👑 Créditos", 4483362458)

CreditTab:CreateParagraph({
    Title = "✨ FEITO POR ODPCADEIRA ✨",
    Content = "Script para DUELOS! PASSE A BOMBA\n\n📌 Funcionalidades:\n• Hitbox Expandida (Tamanho ajustável)\n• Mensagens em cima dos jogadores\n• Teleporte Inteligente (timer < 3s)\n• Notificação de Bomba\n\n🔧 Versão: 1.0\n📅 Atualizado: 2024"
})

print("========================================")
print("✅ ODP_CADEIRAV1 PRONTO!")
print("📌 Funções: Hitbox | Mensagens | Teleporte")
print("========================================")

Features & Information

🇱🇷INGLÊS:HI, I'm learning how to develop scripts this month, this is my first working script, I hope you like it. To create this script I had to have some IA, so don't insult me, I'm learning. This script has good functions for this game, such as increasing the hitbox from 1 to 10, increasing the hitbox size, increasing all parts of the players except the head, a bomb indicator showing who has the bomb and who doesn't (blue: no bomb, red: bomb), a notification when you have the bomb to alert them, and finally a teleport to detect when someone passes you the bomb and teleport you to a random player, then return to your previous location. The teleport is in beta, so it teleports to whoever is closest. If you are playing in duo, the teleport may pull your team; I'm fixing that
#Keyless#Hitbox expander#Bomba

Community Comments (0)

No comments yet for this script.

More Scripts for 💣 [DUELS!] Bomb Pass