if game.CoreGui:FindFirstChild("FakeChatGUI") then game.CoreGui.FakeChatGUI:Destroy() end local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local ChatService = game:GetService("Chat") local gui = Instance.new("ScreenGui") gui.Name = "FakeChatGUI" gui.ResetOnSpawn = false gui.Parent = game.CoreGui local selectedPlayer = "" local minimized = false local fullSize = UDim2.new(0, 320, 0, 365) local miniSize = UDim2.new(0, 320, 0, 45) local frame = Instance.new("Frame") frame.Size = fullSize frame.Position = UDim2.new(0.3, 0, 0.3, 0) frame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) frame.BackgroundTransparency = 0.5 frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.ClipsDescendants = true frame.Parent = gui Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10) local mainTitle = Instance.new("TextLabel") mainTitle.Size = UDim2.new(1, -80, 0, 35) mainTitle.Position = UDim2.new(0, 10, 0, 5) mainTitle.BackgroundTransparency = 1 mainTitle.Text = "Fake Chat" mainTitle.Font = Enum.Font.GothamBold mainTitle.TextSize = 20 mainTitle.TextColor3 = Color3.fromRGB(255, 255, 255) mainTitle.TextXAlignment = Enum.TextXAlignment.Left mainTitle.Parent = frame local miniBtn = Instance.new("TextButton") miniBtn.Size = UDim2.new(0, 30, 0, 30) miniBtn.Position = UDim2.new(1, -65, 0, 5) miniBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) miniBtn.BackgroundTransparency = 0.5 miniBtn.Text = "-" miniBtn.Font = Enum.Font.GothamBold miniBtn.TextSize = 20 miniBtn.TextColor3 = Color3.fromRGB(255, 255, 255) Instance.new("UICorner", miniBtn) miniBtn.Parent = frame local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 30, 0, 30) closeBtn.Position = UDim2.new(1, -35, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 0) closeBtn.BackgroundTransparency = 0.3 closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 14 closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) Instance.new("UICorner", closeBtn) closeBtn.Parent = frame local contentFrame = Instance.new("Frame") contentFrame.Size = UDim2.new(1, 0, 1, -40) contentFrame.Position = UDim2.new(0, 0, 0, 40) contentFrame.BackgroundTransparency = 1 contentFrame.Parent = frame local statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(1, 0, 0, 20) statusLabel.Position = UDim2.new(0, 0, 0, 5) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Select a player below" statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 12 statusLabel.TextColor3 = Color3.fromRGB(0, 170, 255) statusLabel.Parent = contentFrame local searchBar = Instance.new("TextBox") local searchBar = Instance.new("TextBox") searchBar.Size = UDim2.new(0.9, 0, 0, 25) searchBar.Position = UDim2.new(0.05, 0, 0, 35) searchBar.PlaceholderText = "Search players..." searchBar.Text = "" searchBar.Font = Enum.Font.Gotham searchBar.TextSize = 12 searchBar.BackgroundColor3 = Color3.fromRGB(45, 45, 45) searchBar.TextColor3 = Color3.fromRGB(255, 255, 255) Instance.new("UICorner", searchBar).CornerRadius = UDim.new(0, 4) searchBar.Parent = contentFrame local scrollingFrame = Instance.new("ScrollingFrame") scrollingFrame.Size = UDim2.new(0.9, 0, 0, 100) scrollingFrame.Position = UDim2.new(0.05, 0, 0, 70) scrollingFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) scrollingFrame.BackgroundTransparency = 0.6 scrollingFrame.BorderSizePixel = 0 scrollingFrame.ScrollBarThickness = 4 scrollingFrame.Parent = contentFrame local gridLayout = Instance.new("UIGridLayout", scrollingFrame) gridLayout.CellSize = UDim2.new(0, 90, 0, 25) gridLayout.CellPadding = UDim2.new(0, 5, 0, 5) local function updatePlayerList() for _, child in pairs(scrollingFrame:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end for _, player in pairs(Players:GetPlayers()) do local pBtn = Instance.new("TextButton") pBtn.Name = player.Name pBtn.Size = UDim2.new(0, 90, 0, 25) pBtn.Text = player.Name pBtn.Font = Enum.Font.Gotham pBtn.TextSize = 11 pBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 50) pBtn.TextColor3 = Color3.fromRGB(255, 255, 255) Instance.new("UICorner", pBtn).CornerRadius = UDim.new(0, 4) pBtn.Parent = scrollingFrame pBtn.MouseButton1Click:Connect(function() selectedPlayer = player.Name statusLabel.Text = "Chatting as: " .. player.Name for _, btn in pairs(scrollingFrame:GetChildren()) do if btn:IsA("TextButton") then btn.BackgroundColor3 = Color3.fromRGB(50, 50, 50) end end pBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 255) end) end end searchBar:GetPropertyChangedSignal("Text"):Connect(function() local text = searchBar.Text:lower() for _, btn in pairs(scrollingFrame:GetChildren()) do if btn:IsA("TextButton") then btn.Visible = string.find(btn.Name:lower(), text) ~= nil end end end) updatePlayerList() Players.PlayerAdded:Connect(updatePlayerList) Players.PlayerRemoving:Connect(updatePlayerList) local messageBox = Instance.new("TextBox") messageBox.Size = UDim2.new(0.9, 0, 0, 30) messageBox.Position = UDim2.new(0.05, 0, 0, 190) messageBox.PlaceholderText = "Type message here..." messageBox.Text = "" messageBox.Font = Enum.Font.Gotham messageBox.TextSize = 14 messageBox.BackgroundColor3 = Color3.fromRGB(45, 45, 45) messageBox.TextColor3 = Color3.fromRGB(255, 255, 255) Instance.new("UICorner", messageBox).CornerRadius = UDim.new(0, 6) messageBox.Parent = contentFrame local sendBtn = Instance.new("TextButton") sendBtn.Size = UDim2.new(0.9, 0, 0, 35) sendBtn.Position = UDim2.new(0.05, 0, 0, 230) sendBtn.Text = "Send Fake Chat" sendBtn.Font = Enum.Font.GothamBold sendBtn.TextSize = 14 sendBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 255) sendBtn.TextColor3 = Color3.fromRGB(255, 255, 255) Instance.new("UICorner", sendBtn).CornerRadius = UDim.new(0, 6) sendBtn.Parent = contentFrame local footer = Instance.new("TextLabel") footer.Size = UDim2.new(1, 0, 0, 30) footer.Position = UDim2.new(0, 0, 0, 265) footer.BackgroundTransparency = 1 footer.Text = "Made by Miti" footer.Font = Enum.Font.GothamBold footer.TextSize = 14 footer.TextColor3 = Color3.fromRGB(255, 255, 255) footer.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) footer.TextStrokeTransparency = 0.5 footer.Parent = contentFrame miniBtn.MouseButton1Click:Connect(function() minimized = not minimized frame.Size = minimized and miniSize or fullSize contentFrame.Visible = not minimized footer.Visible = not minimized miniBtn.Text = minimized and "+" or "-" end) closeBtn.MouseButton1Click:Connect(function() gui:Destroy() end) UserInputService.InputBegan:Connect(function(input, gp) if not gp and input.KeyCode == Enum.KeyCode.RightShift then frame.Visible = not frame.Visible end end) sendBtn.MouseButton1Click:Connect(function() if selectedPlayer ~= "" and messageBox.Text ~= "" then local plr = Players:FindFirstChild(selectedPlayer) if plr and plr.Character and plr.Character:FindFirstChild("Head") then ChatService:Chat(plr.Character.Head, messageBox.Text, Enum.ChatColor.White) end end end)