-- 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)