-- GOAT SPAMMER — Final Executable Script -- Executor ready if not game:IsLoaded() then game.Loaded:Wait() end task.wait(0.5) local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TextChatService = game:GetService("TextChatService") local VirtualUser = game:GetService("VirtualUser") local player = Players.LocalPlayer if not player then return end local playerGui = player:WaitForChild("PlayerGui", 10) if not playerGui then return end -- ============================================ -- BUILT-IN ANTI-AFK SYSTEM -- ============================================ local antiAfkConn = player.Idled:Connect(function() VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end) -- ============================================ -- AUTO-DETECT / SHUTDOWN -- ============================================ local SHUTDOWN_FLAG = "_GoatSpammerActive" local SHUTDOWN_BINDABLE = "GoatShutdownSignal" local existingBindable = playerGui:FindFirstChild(SHUTDOWN_BINDABLE) if existingBindable then pcall(function() existingBindable:Fire() end) task.wait(0.15) existingBindable:Destroy() end if playerGui:FindFirstChild("GoatSpammerUI") then playerGui.GoatSpammerUI:Destroy() end _G[SHUTDOWN_FLAG] = true local shutdownBindable = Instance.new("BindableEvent") shutdownBindable.Name = SHUTDOWN_BINDABLE shutdownBindable.Parent = playerGui -- ============================================ -- MAIN GUI -- ============================================ local screenGui = Instance.new("ScreenGui") screenGui.Name = "GoatSpammerUI" screenGui.ResetOnSpawn = false screenGui.IgnoreGuiInset = true screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = playerGui -- ============================================ -- SOUND EFFECTS -- ============================================ local openSound = Instance.new("Sound") openSound.Name = "OpenSound" openSound.SoundId = "rbxassetid://148752521" openSound.Volume = 1 openSound.Parent = screenGui local closeSound = Instance.new("Sound") closeSound.Name = "CloseSound" closeSound.SoundId = "rbxassetid://5022088140" closeSound.Volume = 1 closeSound.Parent = screenGui local isEnabled = false local isOpen = false local isShuttingDown = false local MIN_DELAY = 2 local MAX_DELAY = 15 local FRAME_W = 380 local FRAME_H = 260 local OUTLINE_COLOR = Color3.fromRGB(0, 0, 0) -- ============ MAIN FRAME ============ local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, FRAME_W, 0, FRAME_H) mainFrame.Position = UDim2.new(0.5, -FRAME_W/2, 0.5, -FRAME_H/2) mainFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) mainFrame.BackgroundTransparency = 0.35 mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.ClipsDescendants = false mainFrame.Visible = false mainFrame.Parent = screenGui local bgImage = Instance.new("ImageLabel") bgImage.Name = "BackgroundImage" bgImage.Size = UDim2.new(1, 0, 1, 0) bgImage.Position = UDim2.new(0, 0, 0, 0) bgImage.BackgroundTransparency = 1 bgImage.Image = "rbxassetid://127496834253333" bgImage.ScaleType = Enum.ScaleType.Crop bgImage.ZIndex = 0 bgImage.Parent = mainFrame local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 14) mainCorner.Parent = mainFrame local mainStroke = Instance.new("UIStroke") mainStroke.Color = OUTLINE_COLOR mainStroke.Thickness = 2 mainStroke.Transparency = 0 mainStroke.Parent = mainFrame local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 35) title.Position = UDim2.new(0, 0, 0, 5) title.BackgroundTransparency = 1 title.Text = "GoaT Spammer" title.TextColor3 = Color3.fromRGB(255, 255, 255) title.TextSize = 22 title.Font = Enum.Font.GothamBold title.ZIndex = 2 title.Parent = mainFrame local titleGlow = Instance.new("UIStroke") titleGlow.Color = OUTLINE_COLOR titleGlow.Thickness = 2 titleGlow.Transparency = 0.3 titleGlow.Parent = title local separator = Instance.new("Frame") separator.Size = UDim2.new(1, -20, 0, 1) separator.Position = UDim2.new(0, 10, 0, 40) separator.BackgroundColor3 = OUTLINE_COLOR separator.BackgroundTransparency = 0.2 separator.BorderSizePixel = 0 separator.ZIndex = 2 separator.Parent = mainFrame -- ============================================ -- TOP ROW (TextBox & Delay) -- ============================================ local textBoxBg = Instance.new("Frame") textBoxBg.Size = UDim2.new(0, 200, 0, 35) textBoxBg.Position = UDim2.new(0, 15, 0, 50) textBoxBg.BackgroundColor3 = Color3.fromRGB(20, 20, 25) textBoxBg.BackgroundTransparency = 0.45 textBoxBg.BorderSizePixel = 0 textBoxBg.ZIndex = 2 textBoxBg.Parent = mainFrame local textBoxBgCorner = Instance.new("UICorner") textBoxBgCorner.CornerRadius = UDim.new(0, 8) textBoxBgCorner.Parent = textBoxBg local textBoxBgStroke = Instance.new("UIStroke") textBoxBgStroke.Color = OUTLINE_COLOR textBoxBgStroke.Thickness = 1.5 textBoxBgStroke.Transparency = 0 textBoxBgStroke.Parent = textBoxBg local freeTextBox = Instance.new("TextBox") freeTextBox.Size = UDim2.new(1, -16, 1, 0) freeTextBox.Position = UDim2.new(0, 8, 0, 0) freeTextBox.BackgroundTransparency = 1 freeTextBox.Text = "" freeTextBox.PlaceholderText = "Enter text to spam" freeTextBox.TextColor3 = Color3.fromRGB(255, 255, 255) freeTextBox.PlaceholderColor3 = Color3.fromRGB(200, 200, 200) freeTextBox.TextSize = 14 freeTextBox.Font = Enum.Font.Gotham freeTextBox.TextXAlignment = Enum.TextXAlignment.Left freeTextBox.ClearTextOnFocus = false freeTextBox.ZIndex = 3 freeTextBox.Parent = textBoxBg local delayLabel = Instance.new("TextLabel") delayLabel.Size = UDim2.new(0, 60, 0, 15) delayLabel.Position = UDim2.new(0, 235, 0, 50) delayLabel.BackgroundTransparency = 1 delayLabel.Text = "Delay (sec)" delayLabel.TextColor3 = Color3.fromRGB(255, 255, 255) delayLabel.TextSize = 10 delayLabel.Font = Enum.Font.Gotham delayLabel.TextXAlignment = Enum.TextXAlignment.Left delayLabel.ZIndex = 2 delayLabel.Parent = mainFrame local delayLabelStroke = Instance.new("UIStroke") delayLabelStroke.Color = OUTLINE_COLOR delayLabelStroke.Thickness = 1 delayLabelStroke.Transparency = 0.2 delayLabelStroke.Parent = delayLabel local delayBoxBg = Instance.new("Frame") delayBoxBg.Size = UDim2.new(0, 50, 0, 25) delayBoxBg.Position = UDim2.new(0, 310, 0, 50) delayBoxBg.BackgroundColor3 = Color3.fromRGB(20, 20, 25) delayBoxBg.BackgroundTransparency = 0.45 delayBoxBg.BorderSizePixel = 0 delayBoxBg.ZIndex = 2 delayBoxBg.Parent = mainFrame local delayBoxBgCorner = Instance.new("UICorner") delayBoxBgCorner.CornerRadius = UDim.new(0, 6) delayBoxBgCorner.Parent = delayBoxBg local delayBoxBgStroke = Instance.new("UIStroke") delayBoxBgStroke.Color = OUTLINE_COLOR delayBoxBgStroke.Thickness = 1.5 delayBoxBgStroke.Transparency = 0 delayBoxBgStroke.Parent = delayBoxBg local delayBox = Instance.new("TextBox") delayBox.Size = UDim2.new(1, 0, 1, 0) delayBox.BackgroundTransparency = 1 delayBox.Text = "2" delayBox.TextColor3 = Color3.fromRGB(255, 255, 255) delayBox.TextSize = 12 delayBox.Font = Enum.Font.Gotham delayBox.ZIndex = 3 delayBox.Parent = delayBoxBg local sliderBg = Instance.new("Frame") sliderBg.Size = UDim2.new(0, 80, 0, 4) sliderBg.Position = UDim2.new(0, 235, 0, 80) sliderBg.BackgroundColor3 = Color3.fromRGB(40, 40, 45) sliderBg.BackgroundTransparency = 0.2 sliderBg.BorderSizePixel = 0 sliderBg.ZIndex = 2 sliderBg.Parent = mainFrame local sliderCorner = Instance.new("UICorner") sliderCorner.CornerRadius = UDim.new(1,0) sliderCorner.Parent = sliderBg local sliderStroke = Instance.new("UIStroke") sliderStroke.Color = OUTLINE_COLOR sliderStroke.Thickness = 1 sliderStroke.Transparency = 0 sliderStroke.Parent = sliderBg local sliderFill = Instance.new("Frame") sliderFill.Size = UDim2.new(0, 0, 1, 0) sliderFill.BackgroundColor3 = Color3.fromRGB(110, 200, 245) sliderFill.BackgroundTransparency = 0.45 sliderFill.BorderSizePixel = 0 sliderFill.Parent = sliderBg local sliderFillCorner = Instance.new("UICorner") sliderFillCorner.CornerRadius = UDim.new(1,0) sliderFillCorner.Parent = sliderFill local sliderKnob = Instance.new("Frame") sliderKnob.Size = UDim2.new(0, 12, 0, 12) sliderKnob.Position = UDim2.new(0, -6, 0.5, -6) sliderKnob.BackgroundColor3 = Color3.fromRGB(110, 200, 245) sliderKnob.BackgroundTransparency = 0.3 sliderKnob.BorderSizePixel = 0 sliderKnob.ZIndex = 3 sliderKnob.Parent = sliderBg local knobCorner = Instance.new("UICorner") knobCorner.CornerRadius = UDim.new(1,0) knobCorner.Parent = sliderKnob local knobStroke = Instance.new("UIStroke") knobStroke.Color = OUTLINE_COLOR knobStroke.Thickness = 1 knobStroke.Transparency = 0 knobStroke.Parent = sliderKnob local minTxt = Instance.new("TextLabel") minTxt.Size = UDim2.new(0,20,0,10) minTxt.Position = UDim2.new(0,235,0,85) minTxt.BackgroundTransparency = 1 minTxt.Text = "min" minTxt.TextSize = 8 minTxt.TextColor3 = Color3.fromRGB(220,220,220) minTxt.Font = Enum.Font.Gotham minTxt.ZIndex = 2 minTxt.Parent = mainFrame local minTxtStroke = Instance.new("UIStroke") minTxtStroke.Color = OUTLINE_COLOR minTxtStroke.Thickness = 1 minTxtStroke.Transparency = 0.2 minTxtStroke.Parent = minTxt local maxTxt = Instance.new("TextLabel") maxTxt.Size = UDim2.new(0,20,0,10) maxTxt.Position = UDim2.new(0,295,0,85) maxTxt.BackgroundTransparency = 1 maxTxt.Text = "max" maxTxt.TextSize = 8 maxTxt.TextColor3 = Color3.fromRGB(220,220,220) maxTxt.Font = Enum.Font.Gotham maxTxt.ZIndex = 2 maxTxt.Parent = mainFrame local maxTxtStroke = Instance.new("UIStroke") maxTxtStroke.Color = OUTLINE_COLOR maxTxtStroke.Thickness = 1 maxTxtStroke.Transparency = 0.2 maxTxtStroke.Parent = maxTxt local function updateSliderFromText() local val = tonumber(delayBox.Text) or 2 if val < MIN_DELAY then val = MIN_DELAY end if val > MAX_DELAY then val = MAX_DELAY end local alpha = (val - MIN_DELAY) / (MAX_DELAY - MIN_DELAY) sliderFill.Size = UDim2.new(alpha, 0, 1, 0) sliderKnob.Position = UDim2.new(alpha, -6, 0.5, -6) end delayBox.FocusLost:Connect(function() local n = tonumber(delayBox.Text) if not n or n < MIN_DELAY then delayBox.Text = tostring(MIN_DELAY) elseif n > MAX_DELAY then delayBox.Text = tostring(MAX_DELAY) end updateSliderFromText() end) local draggingSlider = false local function updateSliderFromInput(input) local relX = math.clamp(input.Position.X - sliderBg.AbsolutePosition.X, 0, sliderBg.AbsoluteSize.X) local alpha = relX / sliderBg.AbsoluteSize.X local val = MIN_DELAY + (alpha * (MAX_DELAY - MIN_DELAY)) val = math.round(val) delayBox.Text = tostring(val) updateSliderFromText() end sliderBg.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = true mainFrame.Active = false updateSliderFromInput(input) end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateSliderFromInput(input) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if draggingSlider then draggingSlider = false mainFrame.Active = true end end end) -- ============================================ -- LEFT SECTION (Symbol Grid) -- ============================================ local gridContainer = Instance.new("Frame") gridContainer.Size = UDim2.new(0, 200, 0, 110) gridContainer.Position = UDim2.new(0, 15, 0, 100) gridContainer.BackgroundColor3 = Color3.fromRGB(20, 20, 25) gridContainer.BackgroundTransparency = 0.45 gridContainer.BorderSizePixel = 0 gridContainer.ZIndex = 2 gridContainer.Parent = mainFrame local gridCorner = Instance.new("UICorner") gridCorner.CornerRadius = UDim.new(0, 10) gridCorner.Parent = gridContainer local gridStroke = Instance.new("UIStroke") gridStroke.Color = OUTLINE_COLOR gridStroke.Thickness = 1.5 gridStroke.Transparency = 0 gridStroke.Parent = gridContainer local gridLayout = Instance.new("UIGridLayout") gridLayout.CellSize = UDim2.new(0, 55, 0, 25) gridLayout.CellPadding = UDim2.new(0, 6, 0, 8) gridLayout.SortOrder = Enum.SortOrder.LayoutOrder gridLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center gridLayout.VerticalAlignment = Enum.VerticalAlignment.Center gridLayout.Parent = gridContainer local symbols = {"@", "#", "_", "-_", "~", "` "} local selectedSymbol = "@" local symbolButtons = {} for i, sym in ipairs(symbols) do local btn = Instance.new("TextButton") btn.BackgroundColor3 = Color3.fromRGB(40, 40, 45) btn.BackgroundTransparency = 0.35 btn.BorderSizePixel = 0 btn.Text = sym btn.TextColor3 = Color3.fromRGB(210, 210, 210) btn.TextSize = 16 btn.Font = Enum.Font.GothamBold btn.LayoutOrder = i btn.AutoButtonColor = false btn.ZIndex = 3 local bCorner = Instance.new("UICorner") bCorner.CornerRadius = UDim.new(0, 6) bCorner.Parent = btn local bStroke = Instance.new("UIStroke") bStroke.Color = OUTLINE_COLOR bStroke.Thickness = 1.5 bStroke.Transparency = 0 bStroke.Parent = btn table.insert(symbolButtons, btn) btn.MouseButton1Click:Connect(function() selectedSymbol = sym for _, b in ipairs(symbolButtons) do if b.Text == selectedSymbol then b.BackgroundColor3 = Color3.fromRGB(110, 200, 245) b.BackgroundTransparency = 0.45 b.TextColor3 = Color3.fromRGB(255, 255, 255) else b.BackgroundColor3 = Color3.fromRGB(40, 40, 45) b.BackgroundTransparency = 0.35 b.TextColor3 = Color3.fromRGB(210, 210, 210) end end end) btn.Parent = gridContainer if i == 1 then btn.BackgroundColor3 = Color3.fromRGB(110, 200, 245) btn.BackgroundTransparency = 0.45 btn.TextColor3 = Color3.fromRGB(255, 255, 255) end end -- ============================================ -- RIGHT SECTION (Dropdowns) -- ============================================ local modeContainer = Instance.new("Frame") modeContainer.Size = UDim2.new(0, 135, 0, 110) modeContainer.Position = UDim2.new(0, 225, 0, 100) modeContainer.BackgroundColor3 = Color3.fromRGB(20, 20, 25) modeContainer.BackgroundTransparency = 0.45 modeContainer.BorderSizePixel = 0 modeContainer.ZIndex = 2 modeContainer.Parent = mainFrame local modeCorner = Instance.new("UICorner") modeCorner.CornerRadius = UDim.new(0, 10) modeCorner.Parent = modeContainer local modeStroke = Instance.new("UIStroke") modeStroke.Color = OUTLINE_COLOR modeStroke.Thickness = 1.5 modeStroke.Transparency = 0 modeStroke.Parent = modeContainer local modeLabel = Instance.new("TextLabel") modeLabel.Size = UDim2.new(1, -12, 0, 15) modeLabel.Position = UDim2.new(0, 6, 0, 6) modeLabel.BackgroundTransparency = 1 modeLabel.Text = "Spam Mode" modeLabel.TextColor3 = Color3.fromRGB(255, 255, 255) modeLabel.TextSize = 10 modeLabel.Font = Enum.Font.Gotham modeLabel.TextXAlignment = Enum.TextXAlignment.Left modeLabel.ZIndex = 3 modeLabel.Parent = modeContainer local modeLabelStroke = Instance.new("UIStroke") modeLabelStroke.Color = OUTLINE_COLOR modeLabelStroke.Thickness = 1 modeLabelStroke.Transparency = 0.2 modeLabelStroke.Parent = modeLabel local modeDrop = Instance.new("TextButton") modeDrop.Size = UDim2.new(1, -12, 0, 22) modeDrop.Position = UDim2.new(0, 6, 0, 22) modeDrop.BackgroundColor3 = Color3.fromRGB(40, 40, 45) modeDrop.BackgroundTransparency = 0.35 modeDrop.BorderSizePixel = 0 modeDrop.Text = "Enemy" modeDrop.TextColor3 = Color3.fromRGB(255, 255, 255) modeDrop.TextSize = 11 modeDrop.Font = Enum.Font.Gotham modeDrop.AutoButtonColor = false modeDrop.ZIndex = 3 modeDrop.Parent = modeContainer local dropCorner = Instance.new("UICorner") dropCorner.CornerRadius = UDim.new(0, 6) dropCorner.Parent = modeDrop local dropStroke = Instance.new("UIStroke") dropStroke.Color = OUTLINE_COLOR dropStroke.Thickness = 1.5 dropStroke.Transparency = 0 dropStroke.Parent = modeDrop local dropArrow = Instance.new("ImageLabel") dropArrow.Size = UDim2.new(0, 8, 0, 5) dropArrow.Position = UDim2.new(1, -12, 0.5, -2) dropArrow.BackgroundTransparency = 1 dropArrow.Image = "rbxassetid://7734018569" dropArrow.ImageColor3 = Color3.fromRGB(220, 220, 220) dropArrow.ZIndex = 4 dropArrow.Parent = modeDrop local dropList = Instance.new("Frame") dropList.Size = UDim2.new(1, -12, 0, 40) dropList.Position = UDim2.new(0, 6, 0, 46) dropList.BackgroundColor3 = Color3.fromRGB(20, 20, 25) dropList.BackgroundTransparency = 0.1 dropList.BorderSizePixel = 0 dropList.Visible = false dropList.ZIndex = 5 dropList.Parent = modeContainer local listCorner = Instance.new("UICorner") listCorner.CornerRadius = UDim.new(0, 6) listCorner.Parent = dropList local listStroke = Instance.new("UIStroke") listStroke.Color = OUTLINE_COLOR listStroke.Thickness = 1.5 listStroke.Transparency = 0 listStroke.Parent = dropList local symLabel = Instance.new("TextLabel") symLabel.Size = UDim2.new(1, -12, 0, 15) symLabel.Position = UDim2.new(0, 6, 0, 52) symLabel.BackgroundTransparency = 1 symLabel.Text = "Symbol Mode" symLabel.TextColor3 = Color3.fromRGB(255, 255, 255) symLabel.TextSize = 10 symLabel.Font = Enum.Font.Gotham symLabel.TextXAlignment = Enum.TextXAlignment.Left symLabel.ZIndex = 3 symLabel.Parent = modeContainer local symLabelStroke = Instance.new("UIStroke") symLabelStroke.Color = OUTLINE_COLOR symLabelStroke.Thickness = 1 symLabelStroke.Transparency = 0.2 symLabelStroke.Parent = symLabel local symDrop = Instance.new("TextButton") symDrop.Size = UDim2.new(1, -12, 0, 22) symDrop.Position = UDim2.new(0, 6, 0, 68) symDrop.BackgroundColor3 = Color3.fromRGB(40, 40, 45) symDrop.BackgroundTransparency = 0.35 symDrop.BorderSizePixel = 0 symDrop.Text = "Normal" symDrop.TextColor3 = Color3.fromRGB(255, 255, 255) symDrop.TextSize = 11 symDrop.Font = Enum.Font.Gotham symDrop.AutoButtonColor = false symDrop.ZIndex = 3 symDrop.Parent = modeContainer local symDropCorner = Instance.new("UICorner") symDropCorner.CornerRadius = UDim.new(0, 6) symDropCorner.Parent = symDrop local symDropStroke = Instance.new("UIStroke") symDropStroke.Color = OUTLINE_COLOR symDropStroke.Thickness = 1.5 symDropStroke.Transparency = 0 symDropStroke.Parent = symDrop local symArrow = Instance.new("ImageLabel") symArrow.Size = UDim2.new(0, 8, 0, 5) symArrow.Position = UDim2.new(1, -12, 0.5, -2) symArrow.BackgroundTransparency = 1 symArrow.Image = "rbxassetid://7734018569" symArrow.ImageColor3 = Color3.fromRGB(220, 220, 220) symArrow.ZIndex = 4 symArrow.Parent = symDrop local symList = Instance.new("Frame") symList.Size = UDim2.new(1, -12, 0, 40) symList.Position = UDim2.new(0, 6, 0, 92) symList.BackgroundColor3 = Color3.fromRGB(20, 20, 25) symList.BackgroundTransparency = 0.1 symList.BorderSizePixel = 0 symList.Visible = false symList.ZIndex = 5 symList.Parent = modeContainer local symListCorner = Instance.new("UICorner") symListCorner.CornerRadius = UDim.new(0, 6) symListCorner.Parent = symList local symListStroke = Instance.new("UIStroke") symListStroke.Color = OUTLINE_COLOR symListStroke.Thickness = 1.5 symListStroke.Transparency = 0 symListStroke.Parent = symList local function createDropItem(parentList, text, yOffset, targetBtn) local item = Instance.new("TextButton") item.Size = UDim2.new(1, 0, 0, 18) item.Position = UDim2.new(0, 0, 0, yOffset) item.BackgroundColor3 = Color3.fromRGB(30, 30, 35) item.BackgroundTransparency = 0.1 item.BorderSizePixel = 0 item.Text = text item.TextColor3 = Color3.fromRGB(210, 210, 210) item.TextSize = 10 item.Font = Enum.Font.Gotham item.TextXAlignment = Enum.TextXAlignment.Left item.AutoButtonColor = false item.ZIndex = 6 item.Parent = parentList local itemCorner = Instance.new("UICorner") itemCorner.CornerRadius = UDim.new(0, 5) itemCorner.Parent = item local pad = Instance.new("UIPadding") pad.PaddingLeft = UDim.new(0, 6) pad.Parent = item item.MouseEnter:Connect(function() item.BackgroundColor3 = Color3.fromRGB(60, 60, 65) end) item.MouseLeave:Connect(function() item.BackgroundColor3 = Color3.fromRGB(30, 30, 35) end) item.MouseButton1Click:Connect(function() targetBtn.Text = text parentList.Visible = false end) return item end createDropItem(dropList, "Self", 0, modeDrop) createDropItem(dropList, "Enemy", 18, modeDrop) createDropItem(symList, "Normal", 0, symDrop) createDropItem(symList, "Random", 18, symDrop) modeDrop.MouseButton1Click:Connect(function() dropList.Visible = not dropList.Visible symList.Visible = false end) symDrop.MouseButton1Click:Connect(function() symList.Visible = not symList.Visible dropList.Visible = false end) -- ============================================ -- BOTTOM ROW -- ============================================ local enableLabel = Instance.new("TextLabel") enableLabel.Size = UDim2.new(0, 80, 0, 25) enableLabel.Position = UDim2.new(0, 15, 0, 220) enableLabel.BackgroundTransparency = 1 enableLabel.Text = "Enable" enableLabel.TextColor3 = Color3.fromRGB(255, 255, 255) enableLabel.TextSize = 14 enableLabel.Font = Enum.Font.Gotham enableLabel.TextXAlignment = Enum.TextXAlignment.Left enableLabel.ZIndex = 2 enableLabel.Parent = mainFrame local enableLabelStroke = Instance.new("UIStroke") enableLabelStroke.Color = OUTLINE_COLOR enableLabelStroke.Thickness = 1 enableLabelStroke.Transparency = 0.2 enableLabelStroke.Parent = enableLabel local toggleTrack = Instance.new("TextButton") toggleTrack.Name = "ToggleTrack" toggleTrack.Size = UDim2.new(0, 40, 0, 20) toggleTrack.Position = UDim2.new(1, -55, 0, 222) toggleTrack.BackgroundColor3 = Color3.fromRGB(60, 60, 65) toggleTrack.BackgroundTransparency = 0.2 toggleTrack.BorderSizePixel = 0 toggleTrack.Text = "" toggleTrack.AutoButtonColor = false toggleTrack.ZIndex = 2 toggleTrack.Parent = mainFrame local trackCorner = Instance.new("UICorner") trackCorner.CornerRadius = UDim.new(1,0) trackCorner.Parent = toggleTrack local trackStroke = Instance.new("UIStroke") trackStroke.Color = OUTLINE_COLOR trackStroke.Thickness = 1.5 trackStroke.Transparency = 0 trackStroke.Parent = toggleTrack local toggleKnob = Instance.new("Frame") toggleKnob.Name = "ToggleKnob" toggleKnob.Size = UDim2.new(0, 14, 0, 14) toggleKnob.Position = UDim2.new(0, 3, 0.5, -7) toggleKnob.BackgroundColor3 = Color3.fromRGB(255, 255, 255) toggleKnob.BackgroundTransparency = 0.1 toggleKnob.BorderSizePixel = 0 toggleKnob.ZIndex = 3 toggleKnob.Parent = toggleTrack local knobCorner = Instance.new("UICorner") knobCorner.CornerRadius = UDim.new(1,0) knobCorner.Parent = toggleKnob local toggleKnobStroke = Instance.new("UIStroke") toggleKnobStroke.Color = OUTLINE_COLOR toggleKnobStroke.Thickness = 1 toggleKnobStroke.Transparency = 0 toggleKnobStroke.Parent = toggleKnob local creditLabel = Instance.new("TextLabel") creditLabel.Size = UDim2.new(1, 0, 0, 25) creditLabel.Position = UDim2.new(0, 0, 1, -28) creditLabel.BackgroundTransparency = 1 creditLabel.Text = "made by •FARHAN•" creditLabel.TextColor3 = Color3.fromRGB(255, 255, 255) creditLabel.TextSize = 12 creditLabel.Font = Enum.Font.GothamBold creditLabel.ZIndex = 2 creditLabel.Parent = mainFrame local creditStroke = Instance.new("UIStroke") creditStroke.Color = OUTLINE_COLOR creditStroke.Thickness = 1 creditStroke.Transparency = 0.2 creditStroke.Parent = creditLabel -- ============================================ -- SPAM LOGIC -- ============================================ local spamThread = nil local ENEMY_TEMPLATES = { "TMX Tor Ma Kamli 🤡", "TMX Tor Abba Roger + GoaT 🤬", "TMX Tor Mar vuda kala ⚫", "TMX Tor jormer thik nai 🧠", "TMX Tor Mare Ultay xudi 🔄", "TMX Tor ma ki roginga 🤢", "TMX kamlami Koris na 🤫", "TMX Kamla xda 🌾", "TMX Mora murgi 🐔", "TMX Vagis na 🚶‍♂️", "TMX MurgiChod 🐔", "TMX GoaT's Tor abba 🐐", "ARÈ 0Y T0 KamLAaA 😔", "DÙd PGLUUUU 😈", "T0R MÁR R0SHMALAI 😋", "BlYA K0RLE B0U PALABE 🙈", "MNGER NATI 🌬️", "RNDIR P0LA 😛", "TR MARE * sUDI * 😴", "JTA CH0R 👞", "K0TTA 🐶", "AMAR lenta 🥰", "AMR P0LA 🥺", "%s T0R ABBU 🤬", "SH0R3R BACHA 😱", "K4MLÀGIRI B4D D3😼", "P0RTE B0SH SHAMN3 EXAM 😉", "G0RU CH0R 🐮", "BILAI SODA 😿", "LÈ0RA SUDA 🤭", "New GEn 🆕", "pgl 🤮", "bkl 🤡", "tmkx 🔥", "CH0TO dh0n 🤏🏻", "Parbi n@ 😛", "Kisti khab0 🥴", "DARK V0DA ⚫", "Rej3cted m4l 😭", "Buskir p0la 🗿", "ch0tu machine 🥺", "Lifeless 💔", "Meyedrr dudh pglu 🐮", "P0lapain sudi na 😒", "B0KA-SUDA 🐢", "M0da pasa 🙏🏻", "Din0c0da 🦖", "No skills 🥀", "New gen p0lapain 🧒🏻", "DHORSHON PAGLUUU 😋", "Rule 34 🤭", "bhau bhau koris na 🦴", "ladle MEOW GH0P 😿", "Ultay xdi 🔄", "Tr mar v0Da kala ⚫", "Tr mar v0Da china china lage 🇨🇳", "SCRIPT MADE BY FARHAN 👑" } local SELF_TEMPLATES = { "%s T0R ABBUH 😂", "%s T0R J0NM0H DATA 🤬", "%s T0R B0NGSHER BAP 😎", "%s T0R B0U ER REAL JAMAI 💍", "%s ER DHN T0R TA THEKE B0R0 🤏🏻", "%s SH0MP0RKE T0R DADDY LAGE 🧔🏻", "%s ER KASE BHIKKA CHA 🥣", "%s T0R REAL BAP 👑", "%s B0NGSH0 KHEYE FELBE 🐺" } local function getChatSystem() return (TextChatService.ChatVersion == Enum.ChatVersion.TextChatService) and "TextChatService" or "Legacy" end local function sendChatMessage(message) if getChatSystem() == "TextChatService" then local textChannels = TextChatService:FindFirstChild("TextChannels") if textChannels then local generalChannel = textChannels:FindFirstChild("RBXGeneral") if generalChannel then generalChannel:SendAsync(message) return true end for _, channel in ipairs(textChannels:GetChildren()) do if channel:IsA("TextChannel") then channel:SendAsync(message) return true end end end else local chatEvent = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if chatEvent then local sayMessageRequest = chatEvent:FindFirstChild("SayMessageRequest") if sayMessageRequest then sayMessageRequest:FireServer(message, "All") return true end end end return false end local function getNextInsult() local activeList = ENEMY_TEMPLATES if modeDrop.Text == "Self" then activeList = SELF_TEMPLATES end return activeList[math.random(1, #activeList)] end local function buildSpamMessage() local userText = freeTextBox.Text local template = getNextInsult() local insult = template if string.find(template, "%%s") then insult = template:format(player.DisplayName) end local currentSymbol = selectedSymbol if symDrop.Text == "Random" then currentSymbol = symbols[math.random(1, #symbols)] end local tail = " - (" .. userText .. ") - \"" .. insult .. "\"" local symbolBudget = 175 - #tail if symbolBudget < 0 then symbolBudget = 0 end local prefix = "" local charCount = 0 while charCount + #currentSymbol + 1 <= symbolBudget do for _ = 1, 15 do if charCount + #currentSymbol + 1 > symbolBudget then break end prefix = prefix .. currentSymbol charCount = charCount + #currentSymbol end if charCount + #currentSymbol + 1 <= symbolBudget then prefix = prefix .. " " charCount = charCount + 1 end end local msg = prefix .. tail if #msg > 200 then msg = msg:sub(1, 200) end return msg end local function startSpam() if spamThread or isShuttingDown then return end math.randomseed(os.time()) spamThread = task.spawn(function() while isEnabled and not isShuttingDown do local msg = buildSpamMessage() pcall(function() sendChatMessage(msg) end) local delayTime = tonumber(delayBox.Text) or MIN_DELAY if delayTime < MIN_DELAY then delayTime = MIN_DELAY end if delayTime > MAX_DELAY then delayTime = MAX_DELAY end local elapsed = 0 while elapsed < delayTime and isEnabled and not isShuttingDown do local step = math.min(0.05, delayTime - elapsed) if step <= 0 then break end task.wait(step) elapsed = elapsed + step end end spamThread = nil end) end local function stopSpam() if spamThread then task.cancel(spamThread) spamThread = nil end end toggleTrack.MouseButton1Click:Connect(function() if isShuttingDown then return end isEnabled = not isEnabled if isEnabled then TweenService:Create(toggleTrack, TweenInfo.new(0.25), {BackgroundColor3 = Color3.fromRGB(110, 200, 245), BackgroundTransparency = 0.45}):Play() TweenService:Create(toggleKnob, TweenInfo.new(0.25, Enum.EasingStyle.Back), {Position = UDim2.new(1, -17, 0.5, -7)}):Play() startSpam() else TweenService:Create(toggleTrack, TweenInfo.new(0.25), {BackgroundColor3 = Color3.fromRGB(60, 60, 65), BackgroundTransparency = 0.2}):Play() TweenService:Create(toggleKnob, TweenInfo.new(0.25, Enum.EasingStyle.Back), {Position = UDim2.new(0, 3, 0.5, -7)}):Play() stopSpam() end end) -- ============================================ -- FLOATING BUBBLE (WITH BLACK-TO-RAINBOW BREATHING OUTLINE) -- ============================================ local bubble = Instance.new("Frame") bubble.Name = "Bubble" bubble.Size = UDim2.new(0, 50, 0, 50) bubble.Position = UDim2.new(0, 30, 0.5, -25) bubble.BackgroundColor3 = Color3.fromRGB(20, 20, 25) bubble.BackgroundTransparency = 0 bubble.BorderSizePixel = 0 bubble.Active = true bubble.ZIndex = 10 bubble.ClipsDescendants = true bubble.Parent = screenGui local bubbleCorner = Instance.new("UICorner") bubbleCorner.CornerRadius = UDim.new(1, 0) bubbleCorner.Parent = bubble local bubbleDecal = Instance.new("ImageLabel") bubbleDecal.Name = "BubbleDecal" bubbleDecal.Size = UDim2.new(1, 0, 1, 0) bubbleDecal.Position = UDim2.new(0, 0, 0, 0) bubbleDecal.BackgroundTransparency = 1 bubbleDecal.Image = "rbxthumb://type=Asset&id=105717203321078&w=420&h=420" bubbleDecal.ScaleType = Enum.ScaleType.Crop bubbleDecal.ImageTransparency = 0 bubbleDecal.ZIndex = 11 bubbleDecal.Parent = bubble local decalCorner = Instance.new("UICorner") decalCorner.CornerRadius = UDim.new(1, 0) decalCorner.Parent = bubbleDecal local bubbleStroke = Instance.new("UIStroke") bubbleStroke.Color = OUTLINE_COLOR bubbleStroke.Thickness = 2 bubbleStroke.Transparency = 0 bubbleStroke.Parent = bubble local bubbleGlow = Instance.new("UIStroke") bubbleGlow.Name = "Glow" bubbleGlow.Color = Color3.fromRGB(0, 0, 0) bubbleGlow.Thickness = 3 bubbleGlow.Transparency = 0.2 bubbleGlow.Parent = bubble local bubbleRainbowConn = RunService.Heartbeat:Connect(function(dt) local t = tick() * 0.75 local mix = (math.sin(t * math.pi * 2) + 1) / 2 local hue = (tick() * 0.35) % 1 local rainbowColor = Color3.fromHSV(hue, 0.85, 1) local blackColor = Color3.fromRGB(0, 0, 0) bubbleGlow.Color = blackColor:Lerp(rainbowColor, mix) local pulse = (math.sin(tick() * 2.5) + 1) / 2 bubbleGlow.Transparency = 0.1 + (pulse * 0.5) end) local dragging = false local dragStart, startPos local dragInput local movedDuringDrag = false bubble.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true movedDuringDrag = false dragStart = input.Position startPos = bubble.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) bubble.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 dragging and (input == dragInput or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart if math.abs(delta.X) > 3 or math.abs(delta.Y) > 3 then movedDuringDrag = true end bubble.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) bubble.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if not movedDuringDrag then isOpen = not isOpen if isOpen then pcall(function() openSound:Play() end) mainFrame.Visible = true mainFrame.Size = UDim2.new(0, FRAME_W, 0, 0) TweenService:Create(mainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = UDim2.new(0, FRAME_W, 0, FRAME_H) }):Play() else pcall(function() closeSound:Play() end) local t = TweenService:Create(mainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.In), { Size = UDim2.new(0, FRAME_W, 0, 0) }) t:Play() t.Completed:Connect(function() mainFrame.Visible = false end) end end end end) bubble.Size = UDim2.new(0, 0, 0, 0) TweenService:Create(bubble, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.Out), { Size = UDim2.new(0, 50, 0, 50) }):Play() -- ============================================ -- SHUTDOWN -- ============================================ local function shutdown() if isShuttingDown then return end isShuttingDown = true isEnabled = false stopSpam() if bubbleRainbowConn then bubbleRainbowConn:Disconnect(); bubbleRainbowConn = nil end if antiAfkConn then antiAfkConn:Disconnect(); antiAfkConn = nil end if screenGui and screenGui.Parent then screenGui:Destroy() end end shutdownBindable.Event:Connect(shutdown) Players.PlayerRemoving:Connect(function(p) if p == player then shutdown() end end) screenGui.Destroying:Connect(shutdown) updateSliderFromText() -- ============================================ -- STARTUP MESSAGES -- ============================================ task.spawn(function() task.wait(1) if isShuttingDown then return end local banner1 = string.rep("_", 50) ~= "" and string.rep("_", 50) .. " -- GoaT SPAMMER LOADED -- " .. string.rep("_", 50) or "" pcall(function() sendChatMessage(banner1:sub(1,200)) end) task.wait(2) if isShuttingDown then return end local goatOnTopMsg = string.rep("_", 25) .. " GoaT ON TOP " .. string.rep("_", 25) pcall(function() sendChatMessage(goatOnTopMsg) end) end)