Hide players universal script
Key RequiredUniversal

Hide players universal script

Universal ScriptSclf_mad0rSclf_mad0r 435 views 250 executesUpdated Apr 9, 2026
Unrated
00
Lua Script•185 lines (4934 chars)
-- 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)

Features & Information

It Hides users and.... Hides users

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts