-- LocalScript -- Put inside StarterPlayer > StarterPlayerScripts -- Mobile draggable GUI -- Hide / Show players -- Keeps HumanoidRootPart hidden -- Removes collision when hidden -- Hides in-game chat messages too local Players = game:GetService("Players") local StarterGui = game:GetService("StarterGui") local LocalPlayer = Players.LocalPlayer local UIS = game:GetService("UserInputService") -- Create GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "HidePlayersGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") -- Main toggle button local ToggleButton = Instance.new("TextButton") ToggleButton.Size = UDim2.new(0, 190, 0, 55) ToggleButton.Position = UDim2.new(0.05, 0, 0.4, 0) ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0) ToggleButton.BorderSizePixel = 0 ToggleButton.TextColor3 = Color3.fromRGB(0, 170, 255) ToggleButton.TextScaled = true ToggleButton.Font = Enum.Font.GothamBold ToggleButton.Text = "Hide Users/Players" ToggleButton.Parent = ScreenGui -- Rounded corners local Corner = Instance.new("UICorner") Corner.CornerRadius = UDim.new(0, 12) Corner.Parent = ToggleButton -- Neon outline local Stroke = Instance.new("UIStroke") Stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border Stroke.Color = Color3.fromRGB(0, 170, 255) Stroke.Thickness = 4 Stroke.Parent = ToggleButton -- Glow effect local GlowFrame = Instance.new("Frame") GlowFrame.Size = UDim2.new(1, 10, 1, 10) GlowFrame.Position = UDim2.new(0, -5, 0, -5) GlowFrame.BackgroundTransparency = 1 GlowFrame.ZIndex = ToggleButton.ZIndex - 1 GlowFrame.Parent = ToggleButton local GlowStroke = Instance.new("UIStroke") GlowStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border GlowStroke.Color = Color3.fromRGB(0, 170, 255) GlowStroke.Thickness = 6 GlowStroke.Transparency = 0.4 GlowStroke.Parent = GlowFrame local GlowCorner = Instance.new("UICorner") GlowCorner.CornerRadius = UDim.new(0, 14) GlowCorner.Parent = GlowFrame -- GUI hide/show mini button local GuiToggle = Instance.new("TextButton") GuiToggle.Size = UDim2.new(0, 55, 0, 55) GuiToggle.Position = UDim2.new(0.05, 0, 0.52, 0) GuiToggle.BackgroundColor3 = Color3.fromRGB(0, 0, 0) GuiToggle.BorderSizePixel = 0 GuiToggle.TextColor3 = Color3.fromRGB(0, 170, 255) GuiToggle.TextScaled = true GuiToggle.Font = Enum.Font.GothamBold GuiToggle.Text = "GUI" GuiToggle.Parent = ScreenGui local GuiCorner = Instance.new("UICorner") GuiCorner.CornerRadius = UDim.new(0, 12) GuiCorner.Parent = GuiToggle local GuiStroke = Instance.new("UIStroke") GuiStroke.Color = Color3.fromRGB(0, 170, 255) GuiStroke.Thickness = 4 GuiStroke.Parent = GuiToggle -- Dragging system local dragging = false local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart ToggleButton.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end ToggleButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = ToggleButton.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) ToggleButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UIS.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end) -- Hide/show players system local hidden = false local function setPlayersVisible(state) for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then for _, obj in pairs(player.Character:GetDescendants()) do if obj:IsA("BasePart") then obj.CanCollide = state if obj.Name == "HumanoidRootPart" then obj.Transparency = 1 else obj.Transparency = state and 0 or 1 end elseif obj:IsA("Decal") then obj.Transparency = state and 0 or 1 end end end end end -- Hide/show chat local function setChatVisible(state) pcall(function() StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, state) end) end ToggleButton.MouseButton1Click:Connect(function() hidden = not hidden if hidden then setPlayersVisible(false) setChatVisible(false) ToggleButton.Text = "Show Users/Players" else setPlayersVisible(true) setChatVisible(true) ToggleButton.Text = "Hide Users/Players" end end) -- Hide/show GUI GuiToggle.MouseButton1Click:Connect(function() ToggleButton.Visible = not ToggleButton.Visible end) -- Apply to new players Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() task.wait(1) if hidden then setPlayersVisible(false) end end) end)