
Key RequiredUniversal

-- 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)No comments yet for this script.



