-------------------------------------------------------------------------------- -- SERVICES -------------------------------------------------------------------------------- local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TextChatService = game:GetService("TextChatService") local ContentProvider = game:GetService("ContentProvider") local SoundService = game:GetService("SoundService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer -------------------------------------------------------------------------------- -- CONFIGURATION -------------------------------------------------------------------------------- -- Fancy loaded message that sends to public chat upon script execution local EXECUTION_MESSAGE = "πŸ‘‘ ============================================ πŸ‘‘\n⚑ [ ERROR PAPA SPAMMER LOADED ] ⚑\nπŸš€ MADE BY Zm_Error | PAPA BOL! πŸ₯±\nπŸ‘‘ ============================================ πŸ‘‘" local BACKGROUND_IMAGE_ID = "rbxassetid://6071575925" local LOAD_SOUND_ID = "rbxassetid://1592708450" local CustomRoasts = { "TMX ME VOID PARRALEL UNIVERSE KA 4TH DIMENSION HERMUXπŸ’₯", "TMX TOH MEH NOVA EXCLUSIVE DYNAMIC EVENT FUN FACT SPELL NOVA EXCLUSIVE πŸ₯±", "TMX MEH HYPER OS UNIVERSAL SPACE ULTRA HYPER FUN FACT HYPER SPACE UNIVERSAL πŸš€πŸš€", "TMX MEH ULTRA SONIC HYPER HYPER BLAST BY SPACE SCIENTISTS FUN FACT H8RS C ME GULAAM⚑" } -------------------------------------------------------------------------------- -- HELPERS -------------------------------------------------------------------------------- local function sendChatMessage(message) pcall(function() if TextChatService and TextChatService.TextChannels:FindFirstChild("RBXGeneral") then TextChatService.TextChannels.RBXGeneral:SendAsync(message) elseif ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") then ReplicatedStorage.DefaultChatSystemChatEvents.SayMessageRequest:FireServer(message, "All") end end) end local function makeElementDraggable(guiElement) local dragging, dragInput, dragStart, startPos guiElement.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = guiElement.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) guiElement.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart guiElement.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end -------------------------------------------------------------------------------- -- UI FACTORIES -------------------------------------------------------------------------------- local function createWhiteShadedButton(name, text, pos, size, parent) local button = Instance.new("TextButton") button.Name = name button.Size = size button.Position = pos button.BackgroundColor3 = Color3.fromRGB(245, 245, 250) button.Text = text button.TextColor3 = Color3.fromRGB(20, 20, 25) button.TextSize = 13 button.Font = Enum.Font.SourceSansBold button.Parent = parent Instance.new("UICorner", button).CornerRadius = UDim.new(0, 6) local gradient = Instance.new("UIGradient", button) gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 205, 215)) }) gradient.Rotation = 90 local stroke = Instance.new("UIStroke", button) stroke.Thickness = 1 stroke.Color = Color3.fromRGB(255, 255, 255) stroke.Transparency = 0.3 return button end local function createStyledTextBox(name, placeholder, pos, size, parent) local box = Instance.new("TextBox") box.Name = name box.Size = size box.Position = pos box.BackgroundColor3 = Color3.fromRGB(20, 20, 30) box.BackgroundTransparency = 0.3 box.PlaceholderText = placeholder box.PlaceholderColor3 = Color3.fromRGB(180, 180, 190) box.Text = "" box.TextColor3 = Color3.fromRGB(255, 255, 255) box.TextSize = 13 box.Font = Enum.Font.SourceSans box.Parent = parent Instance.new("UICorner", box).CornerRadius = UDim.new(0, 6) local stroke = Instance.new("UIStroke", box) stroke.Thickness = 1 stroke.Color = Color3.fromRGB(255, 255, 255) stroke.Transparency = 0.6 return box end -------------------------------------------------------------------------------- -- GUI INITIALIZATION -------------------------------------------------------------------------------- local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ErrorHub" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") -- 1. FLOATING TOGGLE ICON local ToggleGuiBtn = Instance.new("ImageButton") ToggleGuiBtn.Name = "ExternalToggleBtn" ToggleGuiBtn.Size = UDim2.new(0, 50, 0, 50) ToggleGuiBtn.Position = UDim2.new(0.05, 0, 0.4, 0) ToggleGuiBtn.Image = BACKGROUND_IMAGE_ID ToggleGuiBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ToggleGuiBtn.BorderSizePixel = 0 ToggleGuiBtn.Active = true ToggleGuiBtn.Parent = ScreenGui Instance.new("UICorner", ToggleGuiBtn).CornerRadius = UDim.new(1, 0) local ToggleStroke = Instance.new("UIStroke", ToggleGuiBtn) ToggleStroke.Thickness = 2 ToggleStroke.Color = Color3.fromRGB(255, 255, 255) ToggleStroke.Transparency = 0.2 makeElementDraggable(ToggleGuiBtn) -- 2. MAIN SYSTEM FRAME local MainFrame = Instance.new("ImageLabel") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 280, 0, 200) MainFrame.Position = UDim2.new(0.5, -140, 0.5, -100) MainFrame.Image = BACKGROUND_IMAGE_ID MainFrame.ScaleType = Enum.ScaleType.Crop MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 20) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.ClipsDescendants = true MainFrame.Parent = ScreenGui Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12) local Overlay = Instance.new("Frame", MainFrame) Overlay.Size = UDim2.new(1, 0, 1, 0) Overlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0) Overlay.BackgroundTransparency = 0.45 makeElementDraggable(MainFrame) -- 3. COMPONENTS local TitleLabel = Instance.new("TextLabel", MainFrame) TitleLabel.Name = "TitleLabel" TitleLabel.Size = UDim2.new(1, 0, 0, 35) TitleLabel.BackgroundTransparency = 0.4 TitleLabel.BackgroundColor3 = Color3.fromRGB(10, 10, 15) TitleLabel.Text = "πŸ‘‘ Error Hub | PAPA BOL! πŸ₯±" TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.TextSize = 15 TitleLabel.Font = Enum.Font.SourceSansBold local TargetTextBox = createStyledTextBox("TargetTextBox", "Enter Target Name...", UDim2.new(0.05, 0, 0, 45), UDim2.new(0.9, 0, 0, 32), MainFrame) local DelayTextBox = createStyledTextBox("DelayTextBox", "Delay Speed (Seconds)", UDim2.new(0.05, 0, 0, 85), UDim2.new(0.9, 0, 0, 32), MainFrame) DelayTextBox.Text = "1" local TargetDisplayLabel = Instance.new("TextLabel", MainFrame) TargetDisplayLabel.Name = "TargetDisplayLabel" TargetDisplayLabel.Size = UDim2.new(0.9, 0, 0, 20) TargetDisplayLabel.Position = UDim2.new(0.05, 0, 0, 122) TargetDisplayLabel.BackgroundTransparency = 1 TargetDisplayLabel.Text = "Target: [ None ]" TargetDisplayLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TargetDisplayLabel.TextSize = 13 TargetDisplayLabel.Font = Enum.Font.SourceSansBold local ToggleButton = createWhiteShadedButton("ToggleButton", "START SPAM", UDim2.new(0.05, 0, 0, 148), UDim2.new(0.9, 0, 0, 38), MainFrame) -- 4. LOADING OVERLAY SYSTEM local LoadingFrame = Instance.new("Frame", MainFrame) LoadingFrame.Name = "LoadingFrame" LoadingFrame.Size = UDim2.new(1, 0, 1, 0) LoadingFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 15) LoadingFrame.BackgroundTransparency = 0.25 LoadingFrame.ZIndex = 10 Instance.new("UICorner", LoadingFrame).CornerRadius = UDim.new(0, 12) local LoadingText = Instance.new("TextLabel", LoadingFrame) LoadingText.Size = UDim2.new(1, 0, 0, 40) LoadingText.Position = UDim2.new(0, 0, 0.4, 0) LoadingText.BackgroundTransparency = 1 LoadingText.Text = "Loading Error Hub..." LoadingText.TextColor3 = Color3.fromRGB(255, 255, 255) LoadingText.TextSize = 18 LoadingText.Font = Enum.Font.SourceSansBold LoadingText.ZIndex = 11 -------------------------------------------------------------------------------- -- CORE CONTROLS & LOOP LOGIC -------------------------------------------------------------------------------- -- Asset Preloading & Intro Effects task.spawn(function() local sound = Instance.new("Sound") sound.SoundId = LOAD_SOUND_ID sound.Volume = 1 sound.Parent = SoundService ContentProvider:PreloadAsync({MainFrame, sound}) task.wait(1.2) sound:Play() if EXECUTION_MESSAGE ~= "" then sendChatMessage(EXECUTION_MESSAGE) end TweenService:Create(LoadingFrame, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play() local textTween = TweenService:Create(LoadingText, TweenInfo.new(0.5), {TextTransparency = 1}) textTween:Play() textTween.Completed:Connect(function() LoadingFrame:Destroy() end) end) -- UI Toggle Action ToggleGuiBtn.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible end) -- Live Text Target Binding local currentTarget = "" TargetTextBox:GetPropertyChangedSignal("Text"):Connect(function() currentTarget = TargetTextBox.Text TargetDisplayLabel.Text = (currentTarget == "") and "Target: [ None ]" or "Target: [ " .. currentTarget .. " ]" end) -- Queue Processing Loop local isSpamming = false ToggleButton.MouseButton1Click:Connect(function() isSpamming = not isSpamming if isSpamming then ToggleButton.Text = "STOP SPAM" task.spawn(function() local roastIndex = 1 while isSpamming and ScreenGui.Parent do local delayTime = tonumber(DelayTextBox.Text) or 1 local targetName = (currentTarget ~= "") and currentTarget or "Player" local roast = CustomRoasts[roastIndex] local formattedMessage = "///=====///=====///=====///=====///=====///=====///=====/// [" .. targetName .. "] [" .. roast .. "]" sendChatMessage(formattedMessage) roastIndex = (roastIndex % #CustomRoasts) + 1 task.wait(delayTime) end end) else ToggleButton.Text = "START SPAM" end end)