local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "LegendEvent" screenGui.Parent = playerGui screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local currentTheme = "light" local themeColors = { light = { mainBg = Color3.fromRGB(245, 245, 255), mainGradientStart = Color3.fromRGB(255, 255, 255), mainGradientEnd = Color3.fromRGB(230, 230, 245), textPrimary = Color3.fromRGB(40, 40, 60), textSecondary = Color3.fromRGB(80, 80, 100), buttonBg = Color3.fromRGB(255, 255, 255), buttonGradientStart = Color3.fromRGB(255, 255, 255), buttonGradientEnd = Color3.fromRGB(240, 240, 250), stroke = Color3.fromRGB(220, 220, 240), success = Color3.fromRGB(60, 180, 60), error = Color3.fromRGB(220, 60, 60), hoverLight = Color3.fromRGB(240, 240, 255), placeholder = Color3.fromRGB(150, 150, 150), scrollbar = Color3.fromRGB(180, 180, 200) }, dark = { mainBg = Color3.fromRGB(35, 35, 45), mainGradientStart = Color3.fromRGB(50, 50, 60), mainGradientEnd = Color3.fromRGB(25, 25, 35), textPrimary = Color3.fromRGB(240, 240, 255), textSecondary = Color3.fromRGB(180, 180, 200), buttonBg = Color3.fromRGB(50, 50, 60), buttonGradientStart = Color3.fromRGB(60, 60, 70), buttonGradientEnd = Color3.fromRGB(40, 40, 50), stroke = Color3.fromRGB(70, 70, 80), success = Color3.fromRGB(100, 200, 100), error = Color3.fromRGB(255, 100, 100), hoverLight = Color3.fromRGB(70, 70, 80), placeholder = Color3.fromRGB(120, 120, 140), scrollbar = Color3.fromRGB(80, 80, 100) } } local floatIcon = Instance.new("TextButton") floatIcon.Name = "FloatIcon" floatIcon.Size = UDim2.new(0, 60, 0, 60) floatIcon.Position = UDim2.new(0, 20, 0, 200) floatIcon.BackgroundColor3 = themeColors.light.buttonBg floatIcon.Text = "📱" floatIcon.TextColor3 = Color3.fromRGB(255, 255, 255) floatIcon.TextScaled = true floatIcon.Font = Enum.Font.GothamBold floatIcon.AutoButtonColor = false floatIcon.Parent = screenGui local iconCorner = Instance.new("UICorner") iconCorner.CornerRadius = UDim.new(1, 0) iconCorner.Parent = floatIcon local iconStroke = Instance.new("UIStroke") iconStroke.Color = themeColors.light.stroke iconStroke.Thickness = 2 iconStroke.Parent = floatIcon local iconGradient = Instance.new("UIGradient") local darkerLightBg = Color3.new( themeColors.light.buttonBg.R * 0.8, themeColors.light.buttonBg.G * 0.8, themeColors.light.buttonBg.B * 0.8 ) iconGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, themeColors.light.buttonBg), ColorSequenceKeypoint.new(1, darkerLightBg) } iconGradient.Rotation = 45 iconGradient.Parent = floatIcon local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 480, 0, 560) mainFrame.Position = UDim2.new(0.5, -240, 0.5, -280) mainFrame.BackgroundColor3 = themeColors.light.mainBg mainFrame.BorderSizePixel = 0 mainFrame.Visible = false mainFrame.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 15) mainCorner.Parent = mainFrame local mainStroke = Instance.new("UIStroke") mainStroke.Color = themeColors.light.stroke mainStroke.Thickness = 2 mainStroke.Parent = mainFrame local mainGradient = Instance.new("UIGradient") mainGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, themeColors.light.mainGradientStart), ColorSequenceKeypoint.new(1, themeColors.light.mainGradientEnd) } mainGradient.Rotation = 90 mainGradient.Parent = mainFrame local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, -20, 0, 50) titleBar.Position = UDim2.new(0, 10, 0, 10) titleBar.BackgroundTransparency = 1 titleBar.Parent = mainFrame local titleLabel = Instance.new("TextLabel") titleLabel.Name = "Title" titleLabel.Size = UDim2.new(1, -160, 1, 0) titleLabel.Position = UDim2.new(0, 0, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "🔥 Legend Event" titleLabel.TextColor3 = themeColors.light.textPrimary titleLabel.TextScaled = true titleLabel.Font = Enum.Font.GothamBold titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = titleBar local closeButton = Instance.new("TextButton") closeButton.Name = "CloseButton" closeButton.Size = UDim2.new(0, 40, 0, 40) closeButton.Position = UDim2.new(1, -40, 0.5, -20) closeButton.BackgroundColor3 = themeColors.light.error closeButton.Text = "✕" closeButton.TextColor3 = Color3.fromRGB(255, 255, 255) closeButton.TextScaled = true closeButton.Font = Enum.Font.GothamBold closeButton.AutoButtonColor = false closeButton.Parent = titleBar local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 8) closeCorner.Parent = closeButton local closeGradient = Instance.new("UIGradient") local initialBrighterError = Color3.new( math.min(1, themeColors.light.error.R * 1.2), math.min(1, themeColors.light.error.G * 1.2), math.min(1, themeColors.light.error.B * 1.2) ) closeGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, initialBrighterError), ColorSequenceKeypoint.new(1, themeColors.light.error) } closeGradient.Rotation = 45 closeGradient.Parent = closeButton local topControls = Instance.new("Frame") topControls.Name = "TopControls" topControls.Size = UDim2.new(1, -20, 0, 50) topControls.Position = UDim2.new(0, 10, 0, 70) topControls.BackgroundTransparency = 1 topControls.Parent = mainFrame local refreshButton = Instance.new("TextButton") refreshButton.Name = "RefreshButton" refreshButton.Size = UDim2.new(0, 60, 0, 45) refreshButton.Position = UDim2.new(0, 0, 0, 5) refreshButton.BackgroundColor3 = themeColors.light.success refreshButton.Text = "🔄" refreshButton.TextColor3 = Color3.fromRGB(255, 255, 255) refreshButton.TextScaled = true refreshButton.Font = Enum.Font.GothamBold refreshButton.AutoButtonColor = false refreshButton.Parent = topControls local refreshCorner = Instance.new("UICorner") refreshCorner.CornerRadius = UDim.new(0, 10) refreshCorner.Parent = refreshButton local refreshGradient = Instance.new("UIGradient") local initialBrighterSuccess = Color3.new( math.min(1, themeColors.light.success.R * 1.2), math.min(1, themeColors.light.success.G * 1.2), math.min(1, themeColors.light.success.B * 1.2) ) refreshGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, initialBrighterSuccess), ColorSequenceKeypoint.new(1, themeColors.light.success) } refreshGradient.Rotation = 45 refreshGradient.Parent = refreshButton local themeButton = Instance.new("TextButton") themeButton.Name = "ThemeButton" themeButton.Size = UDim2.new(0, 60, 0, 45) themeButton.Position = UDim2.new(0, 70, 0, 5) themeButton.BackgroundColor3 = Color3.fromRGB(150, 150, 200) themeButton.Text = "🌙" themeButton.TextColor3 = Color3.fromRGB(255, 255, 255) themeButton.TextScaled = true themeButton.Font = Enum.Font.GothamBold themeButton.AutoButtonColor = false themeButton.Parent = topControls local themeCorner = Instance.new("UICorner") themeCorner.CornerRadius = UDim.new(0, 10) themeCorner.Parent = themeButton local themeGradient = Instance.new("UIGradient") themeGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(170, 170, 220)), ColorSequenceKeypoint.new(1, Color3.fromRGB(130, 130, 180)) } themeGradient.Rotation = 45 themeGradient.Parent = themeButton local spamToggle = Instance.new("TextButton") spamToggle.Name = "SpamToggle" spamToggle.Size = UDim2.new(0, 90, 0, 45) spamToggle.Position = UDim2.new(0, 140, 0, 5) spamToggle.BackgroundColor3 = Color3.fromRGB(220, 180, 80) spamToggle.TextColor3 = Color3.fromRGB(255, 255, 255) spamToggle.TextScaled = true spamToggle.Font = Enum.Font.GothamBold spamToggle.Text = "Spam: OFF" spamToggle.AutoButtonColor = false spamToggle.Parent = topControls local spamCorner = Instance.new("UICorner") spamCorner.CornerRadius = UDim.new(0, 10) spamCorner.Parent = spamToggle local spamGradient = Instance.new("UIGradient") spamGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(240, 210, 100)), ColorSequenceKeypoint.new(1, Color3.fromRGB(200, 160, 60)) } spamGradient.Rotation = 45 spamGradient.Parent = spamToggle local keybindButton = Instance.new("TextButton") keybindButton.Name = "KeybindButton" keybindButton.Size = UDim2.new(0, 90, 0, 45) keybindButton.Position = UDim2.new(1, -90, 0, 5) keybindButton.BackgroundColor3 = Color3.fromRGB(120, 120, 180) keybindButton.TextColor3 = Color3.fromRGB(255, 255, 255) keybindButton.TextScaled = true keybindButton.Font = Enum.Font.GothamBold keybindButton.Text = "Key: K" keybindButton.AutoButtonColor = false keybindButton.Parent = topControls local keyCorner = Instance.new("UICorner") keyCorner.CornerRadius = UDim.new(0, 10) keyCorner.Parent = keybindButton local keyGradient = Instance.new("UIGradient") keyGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, Color3.fromRGB(150, 150, 210)), ColorSequenceKeypoint.new(1, Color3.fromRGB(100, 100, 150)) } keyGradient.Rotation = 45 keyGradient.Parent = keybindButton local searchFrame = Instance.new("Frame") searchFrame.Name = "SearchFrame" searchFrame.Size = UDim2.new(1, -20, 0, 45) searchFrame.Position = UDim2.new(0, 10, 0, 130) searchFrame.BackgroundColor3 = themeColors.light.buttonBg searchFrame.Parent = mainFrame local searchCorner = Instance.new("UICorner") searchCorner.CornerRadius = UDim.new(0, 10) searchCorner.Parent = searchFrame local searchLabel = Instance.new("TextLabel") searchLabel.Size = UDim2.new(0, 100, 1, 0) searchLabel.BackgroundTransparency = 1 searchLabel.Text = "🔍 Search:" searchLabel.TextColor3 = themeColors.light.textSecondary searchLabel.TextScaled = true searchLabel.Font = Enum.Font.Gotham searchLabel.TextXAlignment = Enum.TextXAlignment.Left searchLabel.Parent = searchFrame local searchBox = Instance.new("TextBox") searchBox.Name = "SearchBox" searchBox.Size = UDim2.new(1, -110, 1, 0) searchBox.Position = UDim2.new(0, 100, 0, 0) searchBox.BackgroundTransparency = 1 searchBox.Text = "" searchBox.PlaceholderText = "Enter RemoteEvent name..." searchBox.TextColor3 = themeColors.light.textPrimary searchBox.PlaceholderColor3 = themeColors.light.placeholder searchBox.TextScaled = true searchBox.Font = Enum.Font.Gotham searchBox.TextXAlignment = Enum.TextXAlignment.Left searchBox.ClearTextOnFocus = false searchBox.Parent = searchFrame local repeatFrame = Instance.new("Frame") repeatFrame.Name = "RepeatFrame" repeatFrame.Size = UDim2.new(0, 160, 0, 45) repeatFrame.Position = UDim2.new(0, 10, 0, 185) repeatFrame.BackgroundColor3 = themeColors.light.buttonBg repeatFrame.Parent = mainFrame local repeatCorner = Instance.new("UICorner") repeatCorner.CornerRadius = UDim.new(0, 10) repeatCorner.Parent = repeatFrame local repeatLabel = Instance.new("TextLabel") repeatLabel.Size = UDim2.new(0, 60, 1, 0) repeatLabel.BackgroundTransparency = 1 repeatLabel.Text = "🔁 x:" repeatLabel.TextColor3 = themeColors.light.textSecondary repeatLabel.TextScaled = true repeatLabel.Font = Enum.Font.Gotham repeatLabel.TextXAlignment = Enum.TextXAlignment.Left repeatLabel.Parent = repeatFrame local repeatBox = Instance.new("TextBox") repeatBox.Name = "RepeatBox" repeatBox.Size = UDim2.new(1, -60, 1, 0) repeatBox.Position = UDim2.new(0, 60, 0, 0) repeatBox.BackgroundTransparency = 1 repeatBox.Text = "1" repeatBox.PlaceholderText = "Times..." repeatBox.TextColor3 = themeColors.light.textPrimary repeatBox.PlaceholderColor3 = themeColors.light.placeholder repeatBox.TextScaled = true repeatBox.Font = Enum.Font.Gotham repeatBox.TextXAlignment = Enum.TextXAlignment.Left repeatBox.ClearTextOnFocus = false repeatBox.Parent = repeatFrame local delayFrame = Instance.new("Frame") delayFrame.Name = "DelayFrame" delayFrame.Size = UDim2.new(0, 160, 0, 45) delayFrame.Position = UDim2.new(0, 180, 0, 185) delayFrame.BackgroundColor3 = themeColors.light.buttonBg delayFrame.Parent = mainFrame local delayCorner = Instance.new("UICorner") delayCorner.CornerRadius = UDim.new(0, 10) delayCorner.Parent = delayFrame local delayLabel = Instance.new("TextLabel") delayLabel.Size = UDim2.new(0, 80, 1, 0) delayLabel.BackgroundTransparency = 1 delayLabel.Text = "⏱ delay:" delayLabel.TextColor3 = themeColors.light.textSecondary delayLabel.TextScaled = true delayLabel.Font = Enum.Font.Gotham delayLabel.TextXAlignment = Enum.TextXAlignment.Left delayLabel.Parent = delayFrame local delayBox = Instance.new("TextBox") delayBox.Name = "DelayBox" delayBox.Size = UDim2.new(1, -80, 1, 0) delayBox.Position = UDim2.new(0, 80, 0, 0) delayBox.BackgroundTransparency = 1 delayBox.Text = "0.01" delayBox.PlaceholderText = "sec" delayBox.TextColor3 = themeColors.light.textPrimary delayBox.PlaceholderColor3 = themeColors.light.placeholder delayBox.TextScaled = true delayBox.Font = Enum.Font.Gotham delayBox.TextXAlignment = Enum.TextXAlignment.Left delayBox.ClearTextOnFocus = false delayBox.Parent = delayFrame local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Name = "ScrollFrame" scrollFrame.Size = UDim2.new(1, -20, 1, -270) scrollFrame.Position = UDim2.new(0, 10, 0, 240) scrollFrame.BackgroundTransparency = 1 scrollFrame.BorderSizePixel = 0 scrollFrame.ScrollBarThickness = 8 scrollFrame.ScrollBarImageColor3 = themeColors.light.scrollbar scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollFrame.Parent = mainFrame local listLayout = Instance.new("UIListLayout") listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout.Padding = UDim.new(0, 8) listLayout.Parent = scrollFrame local statusLabel = Instance.new("TextLabel") statusLabel.Name = "StatusLabel" statusLabel.Size = UDim2.new(1, -20, 0, 30) statusLabel.Position = UDim2.new(0, 10, 1, -35) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Ready to use" statusLabel.TextColor3 = themeColors.light.success statusLabel.TextScaled = true statusLabel.Font = Enum.Font.Gotham statusLabel.Parent = mainFrame local dragging = false local dragStart local startPos local function updateInput(input) local delta = input.Position - dragStart local position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) mainFrame.Position = position end local function makeDraggable(frame) frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateInput(input) end end) end makeDraggable(titleBar) local function addHover(button, hoverColor, originalColor) button.MouseEnter:Connect(function() TweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = hoverColor}):Play() end) button.MouseLeave:Connect(function() TweenService:Create(button, TweenInfo.new(0.1), {BackgroundColor3 = originalColor}):Play() end) end addHover(refreshButton, Color3.fromRGB(120, 220, 120), themeColors.light.success) addHover(closeButton, Color3.fromRGB(255, 120, 120), themeColors.light.error) addHover(floatIcon, themeColors.light.hoverLight, themeColors.light.buttonBg) addHover(themeButton, Color3.fromRGB(170, 170, 220), Color3.fromRGB(150, 150, 200)) addHover(spamToggle, Color3.fromRGB(240, 210, 100), Color3.fromRGB(220, 180, 80)) addHover(keybindButton, Color3.fromRGB(150, 150, 210), Color3.fromRGB(120, 120, 180)) local function applyTheme() local colors = themeColors[currentTheme] mainFrame.BackgroundColor3 = colors.mainBg mainGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, colors.mainGradientStart), ColorSequenceKeypoint.new(1, colors.mainGradientEnd) } mainStroke.Color = colors.stroke titleLabel.TextColor3 = colors.textPrimary searchLabel.TextColor3 = colors.textSecondary searchBox.TextColor3 = colors.textPrimary searchBox.PlaceholderColor3 = colors.placeholder repeatLabel.TextColor3 = colors.textSecondary repeatBox.TextColor3 = colors.textPrimary repeatBox.PlaceholderColor3 = colors.placeholder delayLabel.TextColor3 = colors.textSecondary delayBox.TextColor3 = colors.textPrimary delayBox.PlaceholderColor3 = colors.placeholder scrollFrame.ScrollBarImageColor3 = colors.scrollbar statusLabel.TextColor3 = colors.success refreshButton.BackgroundColor3 = colors.success local brighterSuccess = Color3.new( math.min(1, colors.success.R * 1.2), math.min(1, colors.success.G * 1.2), math.min(1, colors.success.B * 1.2) ) refreshGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, brighterSuccess), ColorSequenceKeypoint.new(1, colors.success) } closeButton.BackgroundColor3 = colors.error local brighterError = Color3.new( math.min(1, colors.error.R * 1.2), math.min(1, colors.error.G * 1.2), math.min(1, colors.error.B * 1.2) ) closeGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, brighterError), ColorSequenceKeypoint.new(1, colors.error) } floatIcon.BackgroundColor3 = colors.buttonBg local darkerButton = Color3.new( colors.buttonBg.R * 0.8, colors.buttonBg.G * 0.8, colors.buttonBg.B * 0.8 ) iconGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, colors.buttonBg), ColorSequenceKeypoint.new(1, darkerButton) } iconStroke.Color = colors.stroke searchFrame.BackgroundColor3 = colors.buttonBg repeatFrame.BackgroundColor3 = colors.buttonBg delayFrame.BackgroundColor3 = colors.buttonBg addHover(floatIcon, colors.hoverLight, colors.buttonBg) end local isOpen = false local toggleKey = Enum.KeyCode.K local spamMode = false local spamConnection local function setGuiVisible(state) isOpen = state if isOpen then mainFrame.Visible = true TweenService:Create(mainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = UDim2.new(0.5, -240, 0.5, -280)}):Play() TweenService:Create(floatIcon, TweenInfo.new(0.2), {Size = UDim2.new(0, 50, 0, 50)}):Play() floatIcon.Text = "⚡" else TweenService:Create(mainFrame, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.In), {Position = UDim2.new(0.5, -240, -1, 0)}):Play() task.wait(0.25) mainFrame.Visible = false TweenService:Create(floatIcon, TweenInfo.new(0.2), {Size = UDim2.new(0, 60, 0, 60)}):Play() floatIcon.Text = "📱" end end floatIcon.MouseButton1Click:Connect(function() setGuiVisible(not isOpen) end) closeButton.MouseButton1Click:Connect(function() setGuiVisible(false) end) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == toggleKey then setGuiVisible(not isOpen) end end) keybindButton.MouseButton1Click:Connect(function() keybindButton.Text = "Press key" local conn conn = UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode ~= Enum.KeyCode.Unknown then toggleKey = input.KeyCode keybindButton.Text = "Key: " .. string.upper(string.sub(tostring(toggleKey.Name), 1, 1)) conn:Disconnect() end end) end) spamToggle.MouseButton1Click:Connect(function() spamMode = not spamMode if spamMode then spamToggle.Text = "Spam: ON" spamToggle.BackgroundColor3 = Color3.fromRGB(120, 200, 100) else spamToggle.Text = "Spam: OFF" spamToggle.BackgroundColor3 = Color3.fromRGB(220, 180, 80) end end) local function scanRemotes(searchTerm) local remotes = {} local lowerSearch = string.lower(searchTerm or "") local servicesToScan = { ReplicatedStorage, game:GetService("Workspace"), game:GetService("StarterGui"), game:GetService("Lighting"), playerGui, game:GetService("ServerStorage"), game:GetService("ReplicatedFirst") } for _, service in pairs(servicesToScan) do pcall(function() for _, obj in pairs(service:GetDescendants()) do if obj:IsA("RemoteEvent") then if lowerSearch == "" or string.find(string.lower(obj.Name), lowerSearch) then if not table.find(remotes, obj) then table.insert(remotes, obj) end end end end end) end pcall(function() for _, obj in pairs(game:GetDescendants()) do if obj:IsA("RemoteEvent") and not table.find(remotes, obj) then if lowerSearch == "" or string.find(string.lower(obj.Name), lowerSearch) then table.insert(remotes, obj) end end end end) table.sort(remotes, function(a, b) return a.Name < b.Name end) return remotes end local lastFireRemote local function safeNumber(str, default) local n = tonumber(str) if not n or n ~= n or n <= 0 then return default end return n end local function createButton(remoteEvent) local colors = themeColors[currentTheme] local button = Instance.new("TextButton") button.Name = remoteEvent.Name button.Size = UDim2.new(1, -10, 0, 50) button.BackgroundColor3 = colors.buttonBg button.Text = "🚀 " .. remoteEvent.Name .. " | " .. tostring(remoteEvent.Parent) button.TextColor3 = colors.textPrimary button.TextScaled = true button.Font = Enum.Font.Gotham button.AutoButtonColor = false button.Parent = scrollFrame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 8) btnCorner.Parent = button local btnStroke = Instance.new("UIStroke") btnStroke.Color = colors.stroke btnStroke.Thickness = 1 btnStroke.Parent = button local btnGradient = Instance.new("UIGradient") btnGradient.Color = ColorSequence.new{ ColorSequenceKeypoint.new(0, colors.buttonGradientStart), ColorSequenceKeypoint.new(1, colors.buttonGradientEnd) } btnGradient.Rotation = 45 btnGradient.Parent = button button.MouseButton1Click:Connect(function() lastFireRemote = remoteEvent local repeatCount = math.floor(safeNumber(repeatBox.Text, 1)) local delayTime = safeNumber(delayBox.Text, 0.01) delayTime = math.max(0, math.min(delayTime, 2)) repeatCount = math.max(1, math.min(repeatCount, 10000)) local colorsNow = themeColors[currentTheme] local successCount = 0 local errorOccurred = false local lastErr for i = 1, repeatCount do local ok, err = pcall(function() remoteEvent:FireServer() end) if ok then successCount = successCount + 1 else errorOccurred = true lastErr = err break end if i < repeatCount and delayTime > 0 then task.wait(delayTime) end if not spamMode and repeatCount > 200 and i % 200 == 0 then task.wait(0.05) end end if not errorOccurred then statusLabel.Text = "Fired " .. successCount .. "x: " .. remoteEvent.Name statusLabel.TextColor3 = colorsNow.success local successTween = TweenService:Create(button, TweenInfo.new(0.25, Enum.EasingStyle.Quad), { BackgroundColor3 = Color3.new(colorsNow.success.R * 0.8, colorsNow.success.G * 0.8, colorsNow.success.B * 0.8), Size = UDim2.new(1, -5, 0, 55) }) successTween:Play() successTween.Completed:Connect(function() TweenService:Create(button, TweenInfo.new(0.2), { BackgroundColor3 = colorsNow.buttonBg, Size = UDim2.new(1, -10, 0, 50) }):Play() end) else statusLabel.Text = "Error: " .. tostring(lastErr) statusLabel.TextColor3 = colorsNow.error local errorTween = TweenService:Create(button, TweenInfo.new(0.25, Enum.EasingStyle.Quad), { BackgroundColor3 = Color3.new(colorsNow.error.R * 0.8, colorsNow.error.G * 0.8, colorsNow.error.B * 0.8), Size = UDim2.new(1, -5, 0, 55) }) errorTween:Play() errorTween.Completed:Connect(function() TweenService:Create(button, TweenInfo.new(0.2), { BackgroundColor3 = colorsNow.buttonBg, Size = UDim2.new(1, -10, 0, 50) }):Play() end) end end) addHover(button, colors.hoverLight, colors.buttonBg) return button end local contentSizeConnection local function connectCanvasSize() if contentSizeConnection then contentSizeConnection:Disconnect() contentSizeConnection = nil end contentSizeConnection = listLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() scrollFrame.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y + 10) end) scrollFrame.CanvasSize = UDim2.new(0, 0, 0, listLayout.AbsoluteContentSize.Y + 10) end local function updateList() for _, child in pairs(scrollFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local searchTerm = searchBox.Text or "" local remotes = scanRemotes(searchTerm) for i, remote in ipairs(remotes) do local button = createButton(remote) button.LayoutOrder = i end connectCanvasSize() end searchBox:GetPropertyChangedSignal("Text"):Connect(function() statusLabel.Text = "Searching..." statusLabel.TextColor3 = themeColors[currentTheme].textSecondary updateList() statusLabel.Text = "Ready to use" statusLabel.TextColor3 = themeColors[currentTheme].success end) refreshButton.MouseButton1Click:Connect(function() local colors = themeColors[currentTheme] statusLabel.Text = "Scanning remotes..." statusLabel.TextColor3 = colors.textSecondary updateList() statusLabel.Text = "Scan complete. Ready!" statusLabel.TextColor3 = colors.success end) themeButton.MouseButton1Click:Connect(function() currentTheme = currentTheme == "light" and "dark" or "light" themeButton.Text = currentTheme == "light" and "🌙" or "☀️" applyTheme() updateList() end) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.F and lastFireRemote then local colorsNow = themeColors[currentTheme] statusLabel.Text = "Quick firing: " .. lastFireRemote.Name statusLabel.TextColor3 = colorsNow.textSecondary pcall(function() lastFireRemote:FireServer() end) end end) applyTheme() connectCanvasSize() updateList()