Universal Script – Spammer By Zm_Error - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – Spammer By Zm_Error

Universal ScriptZm_ErrorZm_Error 423 views 244 executesUpdated Oct 23, 2026
Unrated
00
Lua Script•286 lines (11025 chars)
--------------------------------------------------------------------------------
-- 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)

How to Execute Universal Script – Spammer By Zm_Error

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join Universal Script.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

Zm_Error
Zm_Error
Script Creator
View Author Profile

Features & Information

Execute Universal Script – Spammer By Zm_Error. Key system required, created by Zm_Error, updated Oct 23, 2026. Tested and working on supported executors.
#spammer

Script Changelog (2)

@QueueHeroOct 25, 2026

Edited during review before approval

@Zm_ErrorOct 23, 2026

Best Script

Community Comments (1)

siochiiisiochiiiOct 25, 2026

wow works

Frequently Asked Questions

How do I execute Universal Script – Spammer By Zm_Error in Roblox?

To run Universal Script – Spammer By Zm_Error, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is Universal Script – Spammer By Zm_Error keyless or does it require an access key?

Universal Script – Spammer By Zm_Error requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – Spammer By Zm_Error currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.