ZEN x ALEX GODLY SPAMMER  (UPDATED)
Key RequiredUniversal

ZEN x ALEX GODLY SPAMMER (UPDATED)

Universal ScriptZen123tyZen123ty 585 views 3.1K executesUpdated Sep 2, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•394 lines (14917 chars)
-- [[ Rscripts Risk Notice ]]
-- This script is not verified by rscripts.net. Deal with caution.
--
-- Stay safe:
--   • Never log in on unofficial Roblox sites or lookalike domains.
--   • Real Roblox links use roblox.com (check the .com ending).
--   • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End Rscripts Risk Notice ]]
-- Zen X Alex Spammer V4 (Fixed & Deobfuscated)
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local TextChatService = game:GetService("TextChatService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Lighting = game:GetService("Lighting")
local CoreGui = game:GetService("CoreGui")

local LocalPlayer = Players.LocalPlayer

-- Better GUI Parenting Check
local targetGui
if gethui then
    targetGui = gethui()
else
    local success, coreGuiAccess = pcall(function() return CoreGui:FindFirstChild("RobloxGui") end)
    if success and coreGuiAccess then
        targetGui = CoreGui
    else
        targetGui = LocalPlayer:FindFirstChildOfClass("PlayerGui")
    end
end

-- Brookhaven RP Remotes (Safe Check)
local RE = ReplicatedStorage:FindFirstChild("RE")
local RPNameEvent = RE and RE:FindFirstChild("1RPNam1eTex1t") or nil
local RPColorEvent = RE and RE:FindFirstChild("1RPNam1eColo1r") or nil

-- Theme Colors
local bgDark = Color3.fromRGB(12, 10, 20)
local bgLight = Color3.fromRGB(26, 16, 38)
local accentPink = Color3.fromRGB(255, 0, 180)
local accentPurple = Color3.fromRGB(140, 0, 255)
local textWhite = Color3.fromRGB(250, 240, 255)
local textGray = Color3.fromRGB(160, 150, 180)

-- Screen Effects
local Blur = Instance.new("BlurEffect", Lighting)
Blur.Size = 0

local ScreenGui = Instance.new("ScreenGui", targetGui)
ScreenGui.Name = "ZenXAlex_Spammer"
ScreenGui.IgnoreGuiInset = true
ScreenGui.ResetOnSpawn = false

-- Rotating Gradient Function
local function ApplySpinningGradient(parent)
    if not parent then return end
    local UIGradient = Instance.new("UIGradient", parent)
    UIGradient.Color = ColorSequence.new({
        ColorSequenceKeypoint.new(0, accentPurple),
        ColorSequenceKeypoint.new(1, accentPink)
    })
    
    task.spawn(function()
        local rotation = 0
        while parent and parent.Parent do
            rotation = (rotation + 2) % 360
            UIGradient.Rotation = rotation
            task.wait(0.02)
        end
    end)
end

-- ==========================================
-- UI Elements Setup
-- ==========================================

-- 1. Main Spammer Window
local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Visible = false
MainFrame.Size = UDim2.new(0, 520, 0, 310)
MainFrame.Position = UDim2.new(0.5, -260, 1, 50)
MainFrame.BackgroundColor3 = bgDark
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 16)

local MainStroke = Instance.new("UIStroke", MainFrame)
MainStroke.Thickness = 2
ApplySpinningGradient(MainStroke)

local TitleLabel = Instance.new("TextLabel", MainFrame)
TitleLabel.Size = UDim2.new(1, -40, 0, 40)
TitleLabel.Position = UDim2.new(0, 20, 0, 12)
TitleLabel.Text = "Welcome to Zen X Alex V4"
TitleLabel.Font = Enum.Font.GothamBlack
TitleLabel.TextColor3 = textWhite
TitleLabel.TextSize = 17
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.BackgroundTransparency = 1

local TargetGrid = Instance.new("Frame", MainFrame)
TargetGrid.Size = UDim2.new(0, 310, 0, 140)
TargetGrid.Position = UDim2.new(0, 20, 0, 65)
TargetGrid.BackgroundTransparency = 1

local GridLayout = Instance.new("UIGridLayout", TargetGrid)
GridLayout.CellSize = UDim2.new(0, 145, 0, 55)
GridLayout.CellPadding = UDim2.new(0, 15, 0, 15)

local targetBoxes = {}
for i = 1, 4 do
    local container = Instance.new("Frame", TargetGrid)
    container.BackgroundColor3 = bgLight
    Instance.new("UICorner", container).CornerRadius = UDim.new(0, 8)
    
    local stroke = Instance.new("UIStroke", container)
    stroke.Thickness = 1
    stroke.Color = Color3.fromRGB(55, 38, 75)
    
    local box = Instance.new("TextBox", container)
    box.Size = UDim2.new(1, -20, 1, 0)
    box.Position = UDim2.new(0, 10, 0, 0)
    box.PlaceholderText = "TARGET " .. i
    box.PlaceholderColor3 = Color3.fromRGB(115, 100, 135)
    box.BackgroundColor3 = bgLight
    box.BackgroundTransparency = 1
    box.TextColor3 = textWhite
    box.Font = Enum.Font.GothamBold
    box.TextSize = 11
    box.BorderSizePixel = 0
    targetBoxes[i] = box
end

local DelayContainer = Instance.new("Frame", MainFrame)
DelayContainer.Size = UDim2.new(0, 155, 0, 140)
DelayContainer.Position = UDim2.new(0, 345, 0, 65)
DelayContainer.BackgroundColor3 = Color3.fromRGB(18, 14, 28)
Instance.new("UICorner", DelayContainer).CornerRadius = UDim.new(0, 10)

local DelayStroke = Instance.new("UIStroke", DelayContainer)
DelayStroke.Thickness = 1
DelayStroke.Color = Color3.fromRGB(65, 40, 95)

local DelayLabel = Instance.new("TextLabel", DelayContainer)
DelayLabel.Size = UDim2.new(1, 0, 0, 25)
DelayLabel.Position = UDim2.new(0, 0, 0, 12)
DelayLabel.Text = " DELAY"
DelayLabel.Font = Enum.Font.GothamBlack
DelayLabel.TextColor3 = textGray
DelayLabel.TextSize = 10
DelayLabel.BackgroundTransparency = 1

local DelayBox = Instance.new("TextBox", DelayContainer)
DelayBox.Size = UDim2.new(0.8, 0, 0, 40)
DelayBox.Position = UDim2.new(0.1, 0, 0, 42)
DelayBox.Text = "0.8"
DelayBox.PlaceholderText = "0.8"
DelayBox.BackgroundColor3 = bgLight
DelayBox.TextColor3 = accentPink
DelayBox.Font = Enum.Font.Code
DelayBox.TextSize = 16
DelayBox.BorderSizePixel = 0
Instance.new("UICorner", DelayBox).CornerRadius = UDim.new(0, 6)

local DelayBoxStroke = Instance.new("UIStroke", DelayBox)
DelayBoxStroke.Thickness = 1
DelayBoxStroke.Color = Color3.fromRGB(90, 45, 120)

local StartButton = Instance.new("TextButton", MainFrame)
StartButton.Size = UDim2.new(1, -40, 0, 55)
StartButton.Position = UDim2.new(0, 20, 0, 230)
StartButton.Text = "START SPAMMER"
StartButton.BackgroundColor3 = bgLight
StartButton.TextColor3 = accentPink
StartButton.Font = Enum.Font.GothamBlack
StartButton.TextSize = 14
Instance.new("UICorner", StartButton).CornerRadius = UDim.new(0, 10)

local StartStroke = Instance.new("UIStroke", StartButton)
StartStroke.Thickness = 1.5
ApplySpinningGradient(StartStroke)

-- 2. Settings Window
local SettingsFrame = Instance.new("Frame", ScreenGui)
SettingsFrame.Visible = false
SettingsFrame.Size = UDim2.new(0, 170, 0, 310)
SettingsFrame.Position = UDim2.new(0.5, -445, 1, 50)
SettingsFrame.BackgroundColor3 = bgDark
Instance.new("UICorner", SettingsFrame).CornerRadius = UDim.new(0, 16)

local SettingsStroke = Instance.new("UIStroke", SettingsFrame)
SettingsStroke.Thickness = 2
ApplySpinningGradient(SettingsStroke)

local ListLayout = Instance.new("UIListLayout", SettingsFrame)
ListLayout.Padding = UDim.new(0, 6)
ListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
ListLayout.VerticalAlignment = Enum.VerticalAlignment.Center

-- State Variables
local useEmojis = false
local useRandomText = false
local isSpamming = false
local currentPrefix = "///===///"
local prefixList = {"///===///", "@", "+++---+++"}
local randomWords = {"BOOM", "BIG BOMB", "LIGHT", "AIL", "KING KONG", "SUPER", "OHHO", "EARTHQUAKE", "MAGIC", "ENDER POWER", "SKY", "BASE", "ACID", "POPULAR", "ROCKET", "CROCODILE"}
local emojiList = {"😫", "😑", "😒", "🥀", "🔥", "💀", "🌪", "✨"}

for _, prefixStr in pairs(prefixList) do
    local PrefixBtn = Instance.new("TextButton", SettingsFrame)
    PrefixBtn.Size = UDim2.new(0.85, 0, 0, 32)
    PrefixBtn.Text = prefixStr
    PrefixBtn.BackgroundColor3 = bgLight
    PrefixBtn.TextColor3 = accentPink
    PrefixBtn.Font = Enum.Font.Code
    PrefixBtn.TextSize = 13
    Instance.new("UICorner", PrefixBtn).CornerRadius = UDim.new(0, 6)
    
    PrefixBtn.MouseButton1Click:Connect(function()
        currentPrefix = prefixStr
    end)
end

local CustomPrefixBox = Instance.new("TextBox", SettingsFrame)
CustomPrefixBox.Size = UDim2.new(0.85, 0, 0, 32)
CustomPrefixBox.PlaceholderText = "CUSTOM PRE..."
CustomPrefixBox.PlaceholderColor3 = Color3.fromRGB(110, 100, 130)
CustomPrefixBox.BackgroundColor3 = bgLight
CustomPrefixBox.TextColor3 = textWhite
CustomPrefixBox.Font = Enum.Font.Code
CustomPrefixBox.TextSize = 12
Instance.new("UICorner", CustomPrefixBox).CornerRadius = UDim.new(0, 6)

CustomPrefixBox.FocusLost:Connect(function()
    if CustomPrefixBox.Text ~= "" then
        currentPrefix = CustomPrefixBox.Text
    end
end)

local EmojiBtn = Instance.new("TextButton", SettingsFrame)
EmojiBtn.Size = UDim2.new(0.85, 0, 0, 32)
EmojiBtn.Text = "emojis- off"
EmojiBtn.BackgroundColor3 = Color3.fromRGB(35, 15, 25)
EmojiBtn.TextColor3 = Color3.fromRGB(240, 200, 220)
EmojiBtn.Font = Enum.Font.GothamBold
EmojiBtn.TextSize = 11
Instance.new("UICorner", EmojiBtn).CornerRadius = UDim.new(0, 6)

local RandomTextBtn = Instance.new("TextButton", SettingsFrame)
RandomTextBtn.Size = UDim2.new(0.85, 0, 0, 32)
RandomTextBtn.Text = "rand- off"
RandomTextBtn.BackgroundColor3 = Color3.fromRGB(35, 15, 25)
RandomTextBtn.TextColor3 = Color3.fromRGB(240, 200, 220)
RandomTextBtn.Font = Enum.Font.GothamBold
RandomTextBtn.TextSize = 11
Instance.new("UICorner", RandomTextBtn).CornerRadius = UDim.new(0, 6)

EmojiBtn.MouseButton1Click:Connect(function()
    useEmojis = not useEmojis
    EmojiBtn.Text = useEmojis and "emojis- ON" or "emojis- off"
    EmojiBtn.BackgroundColor3 = useEmojis and Color3.fromRGB(15, 35, 25) or Color3.fromRGB(35, 15, 25)
    EmojiBtn.TextColor3 = useEmojis and accentPink or Color3.fromRGB(240, 200, 220)
end)

RandomTextBtn.MouseButton1Click:Connect(function()
    useRandomText = not useRandomText
    RandomTextBtn.Text = useRandomText and "rand- ON" or "rand- off"
    RandomTextBtn.BackgroundColor3 = useRandomText and Color3.fromRGB(15, 35, 25) or Color3.fromRGB(35, 15, 25)
    RandomTextBtn.TextColor3 = useRandomText and accentPink or Color3.fromRGB(240, 200, 220)
end)

-- Toggle Menu Button
local ToggleButton = Instance.new("ImageButton", ScreenGui)
ToggleButton.Size = UDim2.new(0, 30, 0, 30)
ToggleButton.Position = UDim2.new(0, 25, 1, -75)
ToggleButton.BackgroundColor3 = bgDark
ToggleButton.BorderSizePixel = 0
ToggleButton.ZIndex = 5
Instance.new("UICorner", ToggleButton).CornerRadius = UDim.new(1, 0)
local ToggleStroke = Instance.new("UIStroke", ToggleButton)
ToggleStroke.Thickness = 1
ApplySpinningGradient(ToggleStroke)

local isMenuOpen = false
ToggleButton.MouseButton1Click:Connect(function()
    isMenuOpen = not isMenuOpen
    
    if isMenuOpen then
        MainFrame.Visible = true
        SettingsFrame.Visible = true
    end

    local posMain = isMenuOpen and UDim2.new(0.5, -165, 0.5, -155) or UDim2.new(0.5, -260, 1, 50)
    local posSettings = isMenuOpen and UDim2.new(0.5, -345, 0.5, -155) or UDim2.new(0.5, -445, 1, 50)

    TweenService:Create(MainFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Position = posMain}):Play()
    TweenService:Create(SettingsFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Position = posSettings}):Play()
    TweenService:Create(Blur, TweenInfo.new(0.5), {Size = isMenuOpen and 24 or 0}):Play()
end)

-- ==========================================
-- Spammer Logic Functions
-- ==========================================

local function SendMessage(msg)
    local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral")
    if channel then
        pcall(function() channel:SendAsync(msg) end)
    else
        -- Fallback for legacy chat systems just in case
        local defaultChat = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents")
        if defaultChat then
            local sayMsg = defaultChat:FindFirstChild("SayMessageRequest")
            if sayMsg then
                sayMsg:FireServer(msg, "All")
            end
        end
    end
end

StartButton.MouseButton1Click:Connect(function()
    isSpamming = not isSpamming
    StartButton.Text = isSpamming and "STOP SPAMMER" or "START SPAMMER"
    StartButton.BackgroundColor3 = isSpamming and Color3.fromRGB(255, 40, 40) or bgLight

    if isSpamming then
        task.spawn(function()
            local index = 1
            while isSpamming do
                local delayTime = tonumber(DelayBox.Text) or 0.8
                
                for _, box in ipairs(targetBoxes) do
                    if not isSpamming then break end
                    
                    if box.Text ~= "" then
                        local prefixToUse = currentPrefix
                        if useRandomText then
                            prefixToUse = prefixList[index]
                            index = index >= #prefixList and 1 or index + 1
                        end
                        
                        -- Prevent crash if prefix is completely empty
                        if #prefixToUse == 0 then prefixToUse = "@" end 
                        
                        local repeatLimit = prefixToUse ~= "@" and 80 or 110
                        local prefixString = string.rep(prefixToUse, math.ceil(repeatLimit / #prefixToUse)):sub(1, repeatLimit)
                        
                        local spamNoise = ""
                        for _ = 1, 9 do
                            spamNoise ..= randomWords[math.random(#randomWords)] .. " "
                        end
                        
                        local targetName = box.Text:upper()
                        if useEmojis then
                            targetName ..= " " .. emojiList[math.random(#emojiList)]
                        end
                        
                        SendMessage("[" .. prefixString .. "] [" .. targetName .. "] TMKX MEH " .. spamNoise)
                        task.wait(delayTime)
                    end
                end
                task.wait(0.1)
            end
        end)
    end
end)

-- ==========================================
-- Ambient Loop (Rainbow UI + RP Events)
-- ==========================================
task.spawn(function()
    -- Automatically set Brookhaven Roleplay Name if events exist
    if RPNameEvent then
        pcall(function()
            RPNameEvent:FireServer("RolePlayName", "Zen X Alex SPAMMER V4")
        end)
    end
    
    while true do
        local hueColor = Color3.fromHSV(tick() % 5 / 5, 1, 1)
        
        -- Apply rainbow loop to borders
        if MainStroke then MainStroke.Color = hueColor end
        if SettingsStroke then SettingsStroke.Color = hueColor end
        if ToggleStroke then ToggleStroke.Color = hueColor end
        
        if RPColorEvent then
            pcall(function()
                RPColorEvent:FireServer("PickingRPNameColor", hueColor)
                RPColorEvent:FireServer("PickingRPBioColor", hueColor)
            end)
        end
        
        task.wait(1)
    end
end)

Features & Information

Deadly 9

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts