-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- Serviços do Roblox local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local StarterGui = game:GetService("StarterGui") -- Configurações do Sistema local LocalPlayer = Players.LocalPlayer local Sistema_Ativo = false local Conexao_NovosPlayers = nil local Personagens_Escondidos = {} -- Interface Principal local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "HiddenPlayersChat_System" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = PlayerGui ---------------------------------------------------------------- -- 1. DESIGN DO BOTÃO FLUTUANTE (MK) ---------------------------------------------------------------- local BotaoMK = Instance.new("TextButton") BotaoMK.Name = "BotaoMK" BotaoMK.Parent = ScreenGui BotaoMK.Size = UDim2.new(0, 60, 0, 60) BotaoMK.Position = UDim2.new(0.05, 0, 0.4, 0) BotaoMK.BackgroundColor3 = Color3.fromRGB(46, 204, 113) -- Verde Lindo BotaoMK.Text = "MK" BotaoMK.TextColor3 = Color3.fromRGB(255, 255, 255) BotaoMK.Font = Enum.Font.GothamBold BotaoMK.TextSize = 22 BotaoMK.BorderSizePixel = 0 BotaoMK.ZIndex = 10 BotaoMK.Active = true local CornerBotao = Instance.new("UICorner") CornerBotao.CornerRadius = UDim.new(1, 0) CornerBotao.Parent = BotaoMK local StrokeBotao = Instance.new("UIStroke") StrokeBotao.Color = Color3.fromRGB(39, 174, 96) StrokeBotao.Thickness = 3 StrokeBotao.Parent = BotaoMK ---------------------------------------------------------------- -- 2. DESIGN DO MENU PRINCIPAL (HIDDEN PLAYERS & CHAT) ---------------------------------------------------------------- local MenuPrincipal = Instance.new("Frame") MenuPrincipal.Name = "MenuPrincipal" MenuPrincipal.Parent = ScreenGui MenuPrincipal.Size = UDim2.new(0, 300, 0, 180) MenuPrincipal.Position = UDim2.new(0.5, -150, 0.5, -90) MenuPrincipal.BackgroundColor3 = Color3.fromRGB(20, 20, 20) -- Dark Mode MenuPrincipal.Visible = false MenuPrincipal.BorderSizePixel = 0 MenuPrincipal.ZIndex = 5 local CornerMenu = Instance.new("UICorner") CornerMenu.CornerRadius = UDim.new(0, 12) CornerMenu.Parent = MenuPrincipal -- Título Atualizado local Titulo = Instance.new("TextLabel") Titulo.Parent = MenuPrincipal Titulo.Size = UDim2.new(1, 0, 0, 45) Titulo.BackgroundTransparency = 1 Titulo.Text = "HIDDEN PLAYERS & CHAT by MKgabriel" Titulo.TextColor3 = Color3.fromRGB(46, 204, 113) Titulo.Font = Enum.Font.GothamBold Titulo.TextSize = 14 -- Ajustado para caber o título longo Titulo.ZIndex = 6 -- Botão Start/Stop local BotaoStart = Instance.new("TextButton") BotaoStart.Parent = MenuPrincipal BotaoStart.Size = UDim2.new(0, 200, 0, 45) BotaoStart.Position = UDim2.new(0.5, -100, 0.6, -10) BotaoStart.BackgroundColor3 = Color3.fromRGB(46, 204, 113) BotaoStart.Text = "START" BotaoStart.TextColor3 = Color3.fromRGB(255, 255, 255) BotaoStart.Font = Enum.Font.GothamBold BotaoStart.TextSize = 16 BotaoStart.BorderSizePixel = 0 BotaoStart.ZIndex = 6 local CornerStart = Instance.new("UICorner") CornerStart.CornerRadius = UDim.new(0, 8) CornerStart.Parent = BotaoStart ---------------------------------------------------------------- -- 3. SISTEMA DE ARRASTE SEM CONFLITO DE CLIQUE ---------------------------------------------------------------- local arrastando = false local abrindoMenu = true local posClique, posicaoInicialBotao BotaoMK.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then arrastando = true abrindoMenu = true posClique = input.Position posicaoInicialBotao = BotaoMK.Position end end) UserInputService.InputChanged:Connect(function(input) if arrastando and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - posClique if delta.Magnitude > 8 then abrindoMenu = false BotaoMK.Position = UDim2.new(posicaoInicialBotao.X.Scale, posicaoInicialBotao.X.Offset + delta.X, posicaoInicialBotao.Y.Scale, posicaoInicialBotao.Y.Offset + delta.Y) end end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if arrastando then arrastando = false if abrindoMenu then MenuPrincipal.Visible = not MenuPrincipal.Visible end end end end) ---------------------------------------------------------------- -- 4. LÓGICA PARA ESCONDER CHAT E JOGADORES ---------------------------------------------------------------- -- Função que altera a visibilidade e colisão local de um personagem local function setJogadorVisivel(vPlayer, visivel) if vPlayer == LocalPlayer or not vPlayer.Character then return end local char = vPlayer.Character for _, objeto in pairs(char:GetDescendants()) do if objeto:IsA("BasePart") or objeto:IsA("Decal") then -- Salva a transparência original antes de esconder para poder restaurar depois if not visivel and not Personagens_Escondidos[objeto] then Personagens_Escondidos[objeto] = objeto.Transparency objeto.Transparency = 1 if objeto:IsA("BasePart") then objeto.CanCollide = false end elseif visivel and Personagens_Escondidos[objeto] then objeto.Transparency = Personagens_Escondidos[objeto] if objeto:IsA("BasePart") then objeto.CanCollide = true end Personagens_Escondidos[objeto] = nil end elseif objeto:IsA("BillboardGui") or objeto:IsA("SurfaceGui") or objeto:IsA("ForceField") then objeto.Enabled = visivel end end end -- Monitora o spawn de novos personagens enquanto o sistema estiver ativo local function ocultarNovoPersonagem(vPlayer) vPlayer.CharacterAdded:Connect(function() task.wait(0.1) -- Aguarda carregar as partes do corpo if Sistema_Ativo then setJogadorVisivel(vPlayer, false) end end) end local function aplicarMudancas(ativar) Sistema_Ativo = ativar -- 1. Gerenciar Visibilidade do Chat Padrão do Roblox pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, not ativar) end) -- 2. Gerenciar Jogadores if ativar then -- Esconde todos que já estão no jogo for _, vPlayer in pairs(Players:GetPlayers()) do setJogadorVisivel(vPlayer, false) ocultarNovoPersonagem(vPlayer) end -- Conecta para novos players que entrarem depois Conexao_NovosPlayers = Players.PlayerAdded:Connect(ocultarNovoPersonagem) else -- Desconecta o monitoramento de novos players if Conexao_NovosPlayers then Conexao_NovosPlayers:Disconnect() Conexao_NovosPlayers = nil end -- Mostra todo mundo de volta for _, vPlayer in pairs(Players:GetPlayers()) do setJogadorVisivel(vPlayer, true) end Personagens_Escondidos = {} end end ---------------------------------------------------------------- -- 5. GATILHOS DO BOTÃO START / STOP ---------------------------------------------------------------- BotaoStart.MouseButton1Click:Connect(function() if not Sistema_Ativo then BotaoStart.Text = "STOP" BotaoStart.BackgroundColor3 = Color3.fromRGB(231, 76, 60) -- Vermelho aplicarMudancas(true) else BotaoStart.Text = "START" BotaoStart.BackgroundColor3 = Color3.fromRGB(46, 204, 113) -- Verde aplicarMudancas(false) end end) -- Garante que se você resetar, o sistema limpa os caches locais com segurança LocalPlayer.CharacterAdded:Connect(function() if Sistema_Ativo then task.wait(0.5) pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false) end) end end)