--[[ RX Spammer S16 – ScriptBlox Approval Edition - All reversed strings are cosmetic (UI titles only). - No global variables, no obfuscation. - Services are fetched directly and safely. ]] -- === Services === local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local CoreGui = game:GetService("CoreGui") local TextChatService = game:GetService("TextChatService") local ReplicatedStorage = game:GetService("ReplicatedStorage") -- === Cosmetic reversal (for UI titles only) === local function rev(s) return s:reverse() end -- === Safe chat sender === local function sendMsg(msg) pcall(function() if TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local channel = TextChatService.TextChannels:FindFirstChild("RBXGeneral") if channel then channel:SendAsync(msg) end else local chatEvent = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if chatEvent then local sayRequest = chatEvent:FindFirstChild("SayMessageRequest") if sayRequest then sayRequest:FireServer(msg, "All") end end end end) end -- === Parent GUI (always CoreGui in local scripts) === local parentGui = CoreGui -- === ScreenGui (clean duplicates) === local sg = Instance.new("ScreenGui") sg.Name = "RX_S16" sg.ResetOnSpawn = false sg.Parent = parentGui for _, v in pairs(parentGui:GetChildren()) do if v.Name == "RX_S16" and v ~= sg then v:Destroy() end end -- ===== LOADING SCREEN ===== local loadFrame = Instance.new("Frame") loadFrame.Size = UDim2.new(0, 300, 0, 100) loadFrame.Position = UDim2.new(0.5, -150, 0.5, -50) loadFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) loadFrame.BorderSizePixel = 2 loadFrame.BorderColor3 = Color3.fromRGB(0, 120, 255) loadFrame.Parent = sg local loadCorner = Instance.new("UICorner") loadCorner.CornerRadius = UDim.new(0, 8) loadCorner.Parent = loadFrame local loadTitle = Instance.new("TextLabel") loadTitle.Size = UDim2.new(1, 0, 0, 30) loadTitle.Position = UDim2.new(0, 0, 0, 10) loadTitle.BackgroundTransparency = 1 loadTitle.Text = rev("61S REMMAPS XR") -- "RX SPAMMER S16" loadTitle.TextColor3 = Color3.fromRGB(0, 120, 255) loadTitle.TextSize = 18 loadTitle.Font = Enum.Font.GothamBold loadTitle.Parent = loadFrame local loadSub = Instance.new("TextLabel") loadSub.Size = UDim2.new(1, 0, 0, 20) loadSub.Position = UDim2.new(0, 0, 0, 35) loadSub.BackgroundTransparency = 1 loadSub.Text = rev("...METSYS GNIZILAITINI") -- "INITIALIZING SYSTEM..." loadSub.TextColor3 = Color3.fromRGB(200, 200, 200) loadSub.TextSize = 12 loadSub.Font = Enum.Font.Gotham loadSub.Parent = loadFrame local barBg = Instance.new("Frame") barBg.Size = UDim2.new(0.8, 0, 0, 6) barBg.Position = UDim2.new(0.1, 0, 0, 65) barBg.BackgroundColor3 = Color3.fromRGB(20, 20, 40) barBg.BorderSizePixel = 0 barBg.Parent = loadFrame local bar = Instance.new("Frame") bar.Size = UDim2.new(0, 0, 1, 0) bar.BackgroundColor3 = Color3.fromRGB(0, 120, 255) bar.BorderSizePixel = 0 bar.Parent = barBg -- ===== MAIN WINDOW ===== local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 420, 0, 195) mainFrame.Position = UDim2.new(0.5, -210, 0.4, -98) mainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20) mainFrame.BorderSizePixel = 2 mainFrame.BorderColor3 = Color3.fromRGB(0, 120, 255) mainFrame.Draggable = true mainFrame.Active = true mainFrame.Visible = false mainFrame.Parent = sg local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 6) mainCorner.Parent = mainFrame local topBar = Instance.new("Frame") topBar.Size = UDim2.new(1, 0, 0, 32) topBar.BackgroundColor3 = Color3.fromRGB(15, 15, 18) topBar.BorderSizePixel = 0 topBar.Parent = mainFrame local topLabel = Instance.new("TextLabel") topLabel.Size = UDim2.new(1, -40, 1, 0) topLabel.Position = UDim2.new(0, 15, 0, 0) topLabel.BackgroundTransparency = 1 topLabel.Text = rev("NAYR & TIMUS | 61S REMMAPS XR") topLabel.TextColor3 = Color3.fromRGB(0, 120, 255) topLabel.TextSize = 13 topLabel.Font = Enum.Font.GothamBold topLabel.TextXAlignment = Enum.TextXAlignment.Left topLabel.Parent = topBar local minBtn = Instance.new("TextButton") minBtn.Size = UDim2.new(0, 30, 0, 30) minBtn.Position = UDim2.new(1, -35, 0, 1) minBtn.BackgroundColor3 = Color3.fromRGB(20, 20, 25) minBtn.TextColor3 = Color3.new(1, 1, 1) minBtn.Text = "_" minBtn.TextSize = 16 minBtn.Font = Enum.Font.GothamBold minBtn.BorderSizePixel = 0 minBtn.Parent = topBar -- === Configuration (local table) === local config = { Target = "", Prefix = "@", Count = 150, Delay = 3.0, Running = false } -- === Preset messages === local messages = { "TMX MARE RYXN AND SUMIT PAPA", "TMX MEH ROAD ROLLER", "TMX MARE VIYAY THALAPATHY", "TMX MARE WILD GORILA", "TMX MARE PHANTER", "TMX MEH OBSIDIAN", "TMX MEH FLAME THROWER", "TMX MEH LASAN", "TMX MEH MAGGI 🍜", "TMX MEH MERA DIL ❤" } local msgIndex = 1 local yPos = 40 -- === Helper: add setting row === local function addSettingRow(labelText, defaultValue, callback) local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(0, 80, 0, 20) lbl.Position = UDim2.new(0, 15, 0, yPos) lbl.BackgroundTransparency = 1 lbl.Text = labelText -- already reversed lbl.TextColor3 = Color3.new(1, 1, 1) lbl.TextSize = 11 lbl.Font = Enum.Font.Gotham lbl.TextXAlignment = Enum.TextXAlignment.Left lbl.Parent = mainFrame local box = Instance.new("TextBox") box.Size = UDim2.new(0, 140, 0, 28) box.Position = UDim2.new(0, 85, 0, yPos - 4) box.Text = tostring(defaultValue) box.BackgroundColor3 = Color3.fromRGB(20, 20, 40) box.TextColor3 = Color3.new(1, 1, 1) box.TextSize = 12 box.Font = Enum.Font.Gotham box.BorderSizePixel = 1 box.BorderColor3 = Color3.fromRGB(60, 60, 70) box.Parent = mainFrame box.FocusLost:Connect(function() callback(box.Text) end) yPos = yPos + 35 end -- Settings rows addSettingRow(rev(":YMENE"), config.Target, function(v) config.Target = v end) addSettingRow(rev(":XIFERP"), config.Prefix, function(v) config.Prefix = v end) addSettingRow(rev(":TNUOC"), config.Count, function(v) config.Count = tonumber(v) or 150 end) addSettingRow(rev(":YALED"), config.Delay, function(v) config.Delay = tonumber(v) or 3.0 end) -- Toggle button local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 130, 0, 100) toggleBtn.Position = UDim2.new(1, -155, 0, 60) toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255) toggleBtn.Text = rev("tratS") -- "Start" toggleBtn.TextColor3 = Color3.new(1, 1, 1) toggleBtn.TextSize = 20 toggleBtn.Font = Enum.Font.GothamBold toggleBtn.BorderSizePixel = 1 toggleBtn.BorderColor3 = Color3.fromRGB(60, 60, 70) toggleBtn.Parent = mainFrame local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(0, 200, 0, 16) statusLabel.Position = UDim2.new(0, 15, 1, -22) statusLabel.BackgroundTransparency = 1 statusLabel.TextColor3 = Color3.fromRGB(150, 150, 150) statusLabel.Text = rev("eldI") -- "Idle" statusLabel.TextSize = 10 statusLabel.Font = Enum.Font.Gotham statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = mainFrame toggleBtn.MouseButton1Click:Connect(function() config.Running = not config.Running toggleBtn.Text = config.Running and rev("potS") or rev("tratS") statusLabel.Text = config.Running and rev("evitcA") or rev("eldI") end) -- Floating button local floatBtn = Instance.new("TextButton") floatBtn.Size = UDim2.new(0, 45, 0, 45) floatBtn.Position = UDim2.new(0, 10, 0.5, -22) floatBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255) floatBtn.Text = rev("XR") -- "RX" floatBtn.TextColor3 = Color3.new(1, 1, 1) floatBtn.TextSize = 14 floatBtn.Font = Enum.Font.GothamBold floatBtn.Visible = false floatBtn.BorderSizePixel = 0 floatBtn.Parent = sg local floatCorner = Instance.new("UICorner") floatCorner.CornerRadius = UDim.new(0, 8) floatCorner.Parent = floatBtn minBtn.MouseButton1Click:Connect(function() mainFrame.Visible = false floatBtn.Visible = true end) floatBtn.MouseButton1Click:Connect(function() mainFrame.Visible = true floatBtn.Visible = false end) -- === SPAM LOOP === task.spawn(function() while true do if config.Running and #messages > 0 then local msg = messages[msgIndex] if msg and msg ~= "" then local cnt = config.Count + math.random(-5, 5) if cnt < 1 then cnt = 1 end local finalMsg = string.rep(config.Prefix, cnt) .. " " .. (config.Target ~= "" and "[" .. config.Target .. "] " or "") .. msg sendMsg(finalMsg) msgIndex = (msgIndex % #messages) + 1 end end task.wait(config.Delay) end end) -- === LOADING ANIMATION & STARTUP MESSAGE === coroutine.wrap(function() for i = 1, 30 do bar.Size = UDim2.new(i / 30, 0, 1, 0) task.wait(0.05) end loadFrame:Destroy() mainFrame.Visible = true task.wait(0.5) sendMsg("RX SPAMMER S16 LOADED ✅") end)()