OBI SPAMMER V1
Key Required

OBI SPAMMER V1

Brookhaven 🏡RPsikhan35408sikhan35408 1.6K views 5.1K executesUpdated Sep 13, 2026
Unrated
00
Lua Script•422 lines (15466 chars)
-- FINAL SCRIPT - WITH ๏вī STYLE
local Players = game:GetService("Players")
local TextChatService = game:GetService("TextChatService")
local TweenService = game:GetService("TweenService")
local CoreGui = game:GetService("CoreGui")

local player = Players.LocalPlayer

local CORRECT_KEY = "OBImeraBAAP"
local saying = false
local spamThread = nil
local targetName = "TARGET"
local delayTime = 1
local pattern = "_"

local function sendChatMessage(msg)
    pcall(function()
        TextChatService.TextChannels.RBXGeneral:SendAsync(msg)
    end)
end

local roMessages = {
    "TMX MEH FIRE 🔥", "FYTER BNEGA?🤣", "BCHE OBI ON TOP👑",
    "TMX MEH Rocket 🚀", "TMX MEH electricity ⚡", "TMX MEH SURF 😆",
    "Leave marde 🤣", "OBI ON TOP BOL 🔥", "TMX MEH BOOK 📚",
    "Pil gya itni jaldi 🤣", "Itna lallu fyter🤧", "Cvr bye OBI👑",
    "TMX meh petroleum", "Dffn?😔", "Bhag ja bache😹",
    "TMX meh dino 😈", "TMX MEH MAJDOOR", "TMX MEH SCRIPT",
    "TMX MEH TREE🌴", "TMX MEH CLIP", "Tmx Allu🥔",
    "TMX MEH GOAT", "TMX MEH BLAZE", "TMX MEH SALT",
    "TMX MEH ROD", "TMX MEH UNIVERSE", "TMX MEH SOFA",
    "TMX MEH KEYBOARD", "TMX MEH SNIPER", "OBI ON TOP👑",
    "TMX MEH MONITOR", "TMX MEH TABLE", "TMX MEH GALAXLY",
    "TMX MEH MUSHROOM", "TMX MEH STONE", "TMX MEH BOT",
    "TMX MEH TAB", "TMX MEH CYLINDER", "TMX MEH KING",
    "TMX MEH VOID", "TMX MEH REAPER", "TMX MEH GOD",
    "TMX MEH MASTER", "TMX MEH NOVA", "TMX MEH BEAST",
    "TMX MEH LEGEND", "TMX MEH GHOST", "TMX MEH NINJA",
    "TMX MEH STAR", "TMX MEH MOON", "TMX MEH NEON",
    "TMX MEH OMEGA", "TMX MEH STICK", "TMX MEH PAPER",
    "TMX MEH STYLE", "TMX MEH ALPHA", "TMX MEH FISH",
    "TMX MEH AXE", "TMX MEH SWORD", "TMX MEH SHIELD",
    "TMX MEH ARMOR", "TMX MEH POTION", "TMX MEH CRYSTAL",
    "TMX MEH DRAGON", "TMX MEH PHOENIX", "TMX MEH WOLF",
    "TMX MEH TIGER", "TMX MEH LION", "TMX MEH EAGLE",
    "TMX MEH SHARK", "OBI KING 👑", "OBI LEGEND",
    "OBI GOD", "OBI MASTER", "OBI BEAST", "OBI GHOST",
    "TMX MEH SURF 😆", "TMX MEH ELECTRIC ⚡"
}

local function generateLine()
    if pattern == "" then pattern = "_" end
    local result = ""
    while #result < 150 do
        result = result .. pattern
    end
    return string.sub(result, 1, 150)
end

local function send25Lines(symbol)
    for i = 1, 25 do
        local line = ""
        for j = 1, 150 do
            line = line .. symbol
        end
        sendChatMessage(line)
        task.wait(0.05)
    end
end

local function startROSpam()
    if saying then return end
    saying = true
    sendChatMessage("OBI SPAMMER STARTED👑")
    task.wait(0.1)
    send25Lines("/_\\")
    task.wait(0.1)
    spamThread = task.spawn(function()
        while saying do
            local msgText = roMessages[math.random(1, #roMessages)]
            local msg = generateLine().."\n"..targetName.."\n"..msgText
            sendChatMessage(msg)
            task.wait(math.max(delayTime, 0.2))
        end
    end)
end

local function stopAll()
    saying = false
    if spamThread then
        task.cancel(spamThread)
        spamThread = nil
    end
    sendChatMessage("OBI SPAMMER STOPPED")
    task.wait(0.1)
    send25Lines("(=_=)")
end

-- ===== GUI =====
local gui = Instance.new("ScreenGui")
gui.Name = "Devilobi"
gui.ResetOnSpawn = false
gui.IgnoreGuiInset = true

local success = pcall(function() gui.Parent = CoreGui end)
if not success then 
    gui.Parent = player:WaitForChild("PlayerGui") 
end

-- ===== MAIN FRAME =====
local mainFrame = Instance.new("Frame", gui)
mainFrame.Size = UDim2.new(0, 0, 0, 0)
mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0)
mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
mainFrame.BackgroundColor3 = Color3.fromRGB(15, 12, 12)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.ClipsDescendants = true
mainFrame.Active = true
mainFrame.Draggable = true

local mainCorner = Instance.new("UICorner", mainFrame)
mainCorner.CornerRadius = UDim.new(0, 12)

local mainStroke = Instance.new("UIStroke", mainFrame)
mainStroke.Color = Color3.fromRGB(150, 0, 0)
mainStroke.Thickness = 2
mainStroke.Transparency = 0.2

local titleText = Instance.new("TextLabel", mainFrame)
titleText.Size = UDim2.new(1, 0, 0, 40)
titleText.BackgroundTransparency = 1
titleText.Text = "๏вī"
titleText.Font = Enum.Font.GothamBlack
titleText.TextSize = 24
titleText.TextColor3 = Color3.fromRGB(200, 20, 20)

local layout = Instance.new("UIListLayout", mainFrame)
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Padding = UDim.new(0, 10)
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center

local function createInput(placeholder, text, order)
    local container = Instance.new("Frame", mainFrame)
    container.Size = UDim2.new(0.9, 0, 0, 35)
    container.BackgroundColor3 = Color3.fromRGB(25, 20, 20)
    container.LayoutOrder = order
    local corner = Instance.new("UICorner", container)
    corner.CornerRadius = UDim.new(0, 6)
    local stroke = Instance.new("UIStroke", container)
    stroke.Color = Color3.fromRGB(80, 10, 10)
    stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
    local input = Instance.new("TextBox", container)
    input.Size = UDim2.new(1, -20, 1, 0)
    input.Position = UDim2.new(0, 10, 0, 0)
    input.BackgroundTransparency = 1
    input.Text = text
    input.PlaceholderText = placeholder
    input.Font = Enum.Font.GothamSemibold
    input.TextSize = 14
    input.TextColor3 = Color3.fromRGB(220, 220, 220)
    input.PlaceholderColor3 = Color3.fromRGB(100, 100, 100)
    input.TextXAlignment = Enum.TextXAlignment.Left
    container.MouseEnter:Connect(function()
        TweenService:Create(stroke, TweenInfo.new(0.3), {Color = Color3.fromRGB(180, 0, 0)}):Play()
    end)
    container.MouseLeave:Connect(function()
        TweenService:Create(stroke, TweenInfo.new(0.3), {Color = Color3.fromRGB(80, 10, 10)}):Play()
    end)
    return input
end

local function createButton(text, color, order)
    local btn = Instance.new("TextButton", mainFrame)
    btn.Size = UDim2.new(0.9, 0, 0, 40)
    btn.BackgroundColor3 = color
    btn.Text = text
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 15
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.LayoutOrder = order
    btn.AutoButtonColor = false
    local corner = Instance.new("UICorner", btn)
    corner.CornerRadius = UDim.new(0, 6)
    local darkenColor = Color3.new(color.R * 0.7, color.G * 0.7, color.B * 0.7)
    local lightenColor = Color3.new(math.min(color.R * 1.2, 1), math.min(color.G * 1.2, 1), math.min(color.B * 1.2, 1))
    btn.MouseEnter:Connect(function()
        TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = lightenColor}):Play()
    end)
    btn.MouseLeave:Connect(function()
        TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = color}):Play()
    end)
    btn.MouseButton1Down:Connect(function()
        TweenService:Create(btn, TweenInfo.new(0.1), {BackgroundColor3 = darkenColor}):Play()
    end)
    btn.MouseButton1Up:Connect(function()
        TweenService:Create(btn, TweenInfo.new(0.1), {BackgroundColor3 = lightenColor}):Play()
    end)
    return btn
end

local titleSpacer = Instance.new("Frame", mainFrame)
titleSpacer.Size = UDim2.new(1, 0, 0, 30)
titleSpacer.BackgroundTransparency = 1
titleSpacer.LayoutOrder = 0

local targetInput = createInput("Target Name", targetName, 1)
local delayInput = createInput("Delay (seconds)", tostring(delayTime), 2)
local patternInput = createInput("Pattern", pattern, 3)
local startBtn = createButton("START SPAM", Color3.fromRGB(120, 10, 10), 4)
local stopBtn = createButton("STOP", Color3.fromRGB(40, 40, 40), 5)

-- ===== TOGGLE BUTTON (๏вī) =====
local toggleBtn = Instance.new("TextButton", gui)
toggleBtn.Size = UDim2.new(0, 55, 0, 50)
toggleBtn.Position = UDim2.new(0, 20, 0.5, -25)
toggleBtn.BackgroundColor3 = Color3.fromRGB(15, 12, 12)
toggleBtn.Text = "๏вī"
toggleBtn.TextSize = 18
toggleBtn.Font = Enum.Font.GothamBlack
toggleBtn.TextColor3 = Color3.fromRGB(200, 20, 20)
toggleBtn.BorderSizePixel = 0
toggleBtn.Visible = false
toggleBtn.Draggable = true

local toggleCorner = Instance.new("UICorner", toggleBtn)
toggleCorner.CornerRadius = UDim.new(0, 8)
local toggleStroke = Instance.new("UIStroke", toggleBtn)
toggleStroke.Color = Color3.fromRGB(150, 0, 0)
toggleStroke.Thickness = 2

-- ===== INPUT HANDLING =====
targetInput:GetPropertyChangedSignal("Text"):Connect(function()
    if targetInput.Text ~= "" then targetName = targetInput.Text end
end)

delayInput:GetPropertyChangedSignal("Text"):Connect(function()
    local num = tonumber(delayInput.Text)
    if num and num > 0 then 
        delayTime = num 
    else 
        delayInput.Text = tostring(delayTime) 
    end
end)

patternInput:GetPropertyChangedSignal("Text"):Connect(function()
    if patternInput.Text ~= "" then 
        pattern = patternInput.Text 
    end
end)

startBtn.MouseButton1Click:Connect(startROSpam)
stopBtn.MouseButton1Click:Connect(stopAll)

local menuOpen = true
toggleBtn.MouseButton1Click:Connect(function()
    menuOpen = not menuOpen
    if menuOpen then
        mainFrame.Visible = true
        TweenService:Create(mainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.new(0, 280, 0, 290)}):Play()
    else
        local closeTween = TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {Size = UDim2.new(0, 0, 0, 0)})
        closeTween:Play()
        closeTween.Completed:Wait()
        mainFrame.Visible = false
    end
end)

-- ===== KEY SYSTEM =====
local keyFrame = Instance.new("Frame", gui)
keyFrame.Size = UDim2.new(1, 0, 1, 0)
keyFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
keyFrame.BorderSizePixel = 0
keyFrame.ZIndex = 200

local keyBox = Instance.new("Frame", keyFrame)
keyBox.Size = UDim2.new(0, 400, 0, 180)
keyBox.Position = UDim2.new(0.5, 0, 0.5, 0)
keyBox.AnchorPoint = Vector2.new(0.5, 0.5)
keyBox.BackgroundColor3 = Color3.fromRGB(15, 12, 12)
keyBox.BorderSizePixel = 0
keyBox.ZIndex = 201

local keyBoxCorner = Instance.new("UICorner", keyBox)
keyBoxCorner.CornerRadius = UDim.new(0, 12)

local keyBoxStroke = Instance.new("UIStroke", keyBox)
keyBoxStroke.Color = Color3.fromRGB(150, 0, 0)
keyBoxStroke.Thickness = 2

local keyLabel = Instance.new("TextLabel", keyBox)
keyLabel.Size = UDim2.new(1, 0, 0, 40)
keyLabel.Position = UDim2.new(0, 0, 0, 15)
keyLabel.BackgroundTransparency = 1
keyLabel.Text = "KEY-> OBImeraBAAP"
keyLabel.Font = Enum.Font.GothamBlack
keyLabel.TextSize = 20
keyLabel.TextColor3 = Color3.fromRGB(220, 30, 30)
keyLabel.ZIndex = 202

local keyInput = Instance.new("TextBox", keyBox)
keyInput.Size = UDim2.new(0.85, 0, 0, 40)
keyInput.Position = UDim2.new(0.5, 0, 0, 70)
keyInput.AnchorPoint = Vector2.new(0.5, 0)
keyInput.BackgroundColor3 = Color3.fromRGB(25, 20, 20)
keyInput.BorderSizePixel = 0
keyInput.Text = ""
keyInput.PlaceholderText = "Enter Key Here..."
keyInput.Font = Enum.Font.GothamSemibold
keyInput.TextSize = 16
keyInput.TextColor3 = Color3.fromRGB(220, 220, 220)
keyInput.PlaceholderColor3 = Color3.fromRGB(100, 100, 100)
keyInput.ZIndex = 202
keyInput.ClearTextOnFocus = false

local keyInputCorner = Instance.new("UICorner", keyInput)
keyInputCorner.CornerRadius = UDim.new(0, 6)

local keyInputStroke = Instance.new("UIStroke", keyInput)
keyInputStroke.Color = Color3.fromRGB(80, 10, 10)
keyInputStroke.Thickness = 1

local statusLabel = Instance.new("TextLabel", keyBox)
statusLabel.Size = UDim2.new(1, 0, 0, 30)
statusLabel.Position = UDim2.new(0, 0, 0, 125)
statusLabel.BackgroundTransparency = 1
statusLabel.Text = ""
statusLabel.Font = Enum.Font.GothamBold
statusLabel.TextSize = 18
statusLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
statusLabel.ZIndex = 202

local keyUnlocked = false

keyInput.FocusLost:Connect(function(enterPressed)
    if keyUnlocked then return end
    
    local enteredKey = keyInput.Text
    
    if enteredKey == CORRECT_KEY then
        statusLabel.Text = "VALID"
        statusLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
        keyUnlocked = true
        
        task.wait(1)
        
        local fadeOut = TweenService:Create(keyFrame, TweenInfo.new(0.8), {BackgroundTransparency = 1})
        local boxFade = TweenService:Create(keyBox, TweenInfo.new(0.8), {BackgroundTransparency = 1})
        local strokeFade = TweenService:Create(keyBoxStroke, TweenInfo.new(0.8), {Transparency = 1})
        local labelFade = TweenService:Create(keyLabel, TweenInfo.new(0.8), {TextTransparency = 1})
        local inputFade = TweenService:Create(keyInput, TweenInfo.new(0.8), {BackgroundTransparency = 1, TextTransparency = 1})
        local inputStrokeFade = TweenService:Create(keyInputStroke, TweenInfo.new(0.8), {Transparency = 1})
        local statusFade = TweenService:Create(statusLabel, TweenInfo.new(0.8), {TextTransparency = 1})
        
        fadeOut:Play()
        boxFade:Play()
        strokeFade:Play()
        labelFade:Play()
        inputFade:Play()
        inputStrokeFade:Play()
        statusFade:Play()
        
        fadeOut.Completed:Wait()
        keyFrame:Destroy()
        
        sendChatMessage("[OBI SPAMMER LOADED 👑]")
        
        local introFrame = Instance.new("Frame", gui)
        introFrame.Size = UDim2.new(1, 0, 1, 0)
        introFrame.BackgroundColor3 = Color3.fromRGB(5, 0, 0)
        introFrame.BorderSizePixel = 0
        introFrame.ZIndex = 100
        
        local introText = Instance.new("TextLabel", introFrame)
        introText.Size = UDim2.new(1, 0, 1, 0)
        introText.BackgroundTransparency = 1
        introText.Text = "๏вī   I S   H E R E  🗿👑"
        introText.Font = Enum.Font.Creepster
        introText.TextSize = 45
        introText.TextColor3 = Color3.fromRGB(180, 0, 0)
        introText.TextTransparency = 1
        introText.ZIndex = 101
        
        sendChatMessage("[OBI INTRO STARTS]")
        
        local tweenIn = TweenService:Create(introText, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {TextTransparency = 0})
        tweenIn:Play()
        tweenIn.Completed:Wait()
        
        task.wait(1.5)
        
        TweenService:Create(introText, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {TextTransparency = 1}):Play()
        local bgOut = TweenService:Create(introFrame, TweenInfo.new(1.5, Enum.EasingStyle.Sine, Enum.EasingDirection.In), {BackgroundTransparency = 1})
        bgOut:Play()
        bgOut.Completed:Wait()
        
        sendChatMessage("[OBI INTRO END]")
        
        introFrame:Destroy()
        
        toggleBtn.Visible = true
        mainFrame.Visible = true
        TweenService:Create(mainFrame, TweenInfo.new(0.6, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {Size = UDim2.new(0, 280, 0, 290)}):Play()
        
    else
        statusLabel.Text = "INVALID"
        statusLabel.TextColor3 = Color3.fromRGB(255, 0, 0)
        
        local originalPos = keyBox.Position
        for i = 1, 3 do
            TweenService:Create(keyBox, TweenInfo.new(0.05), {Position = originalPos + UDim2.new(0, 10, 0, 0)}):Play()
            task.wait(0.05)
            TweenService:Create(keyBox, TweenInfo.new(0.05), {Position = originalPos - UDim2.new(0, 10, 0, 0)}):Play()
            task.wait(0.05)
        end
        TweenService:Create(keyBox, TweenInfo.new(0.05), {Position = originalPos}):Play()
        
        task.wait(1)
        statusLabel.Text = ""
        keyInput.Text = ""
    end
end)

Features & Information

This is script made by obi
#Tt

Community Comments (1)

sikhan35408sikhan35408Oct 3, 2026

@piedade hlw

More Scripts for Brookhaven 🏡RP