--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local localPlayer = Players.LocalPlayer local PlayerGui = localPlayer:WaitForChild("PlayerGui") -- States local ESP_ENABLED = false local NAMES_ENABLED = false -- Create UI local screenGui = Instance.new("ScreenGui") screenGui.Name = "ESPToggleGui" screenGui.ResetOnSpawn = false screenGui.Parent = PlayerGui -- ESP Toggle Button local espToggleButton = Instance.new("TextButton") espToggleButton.Name = "ToggleESPButton" espToggleButton.Size = UDim2.new(0, 100, 0, 40) espToggleButton.Position = UDim2.new(0, 10, 0, 10) espToggleButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) espToggleButton.TextColor3 = Color3.fromRGB(255, 255, 153) espToggleButton.Font = Enum.Font.SourceSansBold espToggleButton.TextSize = 18 espToggleButton.Text = "ESP: OFF" espToggleButton.Parent = screenGui -- Names & Distance Toggle Button local nameToggleButton = Instance.new("TextButton") nameToggleButton.Name = "ToggleNamesButton" nameToggleButton.Size = UDim2.new(0, 140, 0, 40) nameToggleButton.Position = UDim2.new(0, 120, 0, 10) nameToggleButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30) nameToggleButton.TextColor3 = Color3.fromRGB(255, 255, 153) nameToggleButton.Font = Enum.Font.SourceSansBold nameToggleButton.TextSize = 18 nameToggleButton.Text = "Names: OFF" nameToggleButton.Parent = screenGui -- Create name tag above head local function createNameTag(character, player) if character:FindFirstChild("NameTagGui") then return end local hrp = character:WaitForChild("HumanoidRootPart") local nameBillboard = Instance.new("BillboardGui") nameBillboard.Name = "NameTagGui" nameBillboard.Adornee = hrp nameBillboard.Size = UDim2.new(0, 150, 0, 30) nameBillboard.StudsOffset = Vector3.new(0, 2.5, 0) nameBillboard.AlwaysOnTop = true nameBillboard.Parent = character local nameLabel = Instance.new("TextLabel") nameLabel.Size = UDim2.new(1, 0, 1, 0) nameLabel.BackgroundTransparency = 1 nameLabel.TextColor3 = Color3.fromRGB(255, 255, 153) -- Light yellow nameLabel.TextStrokeColor3 = Color3.new(0, 0, 0) nameLabel.TextStrokeTransparency = 0 nameLabel.Font = Enum.Font.SourceSansBold nameLabel.TextScaled = false nameLabel.TextSize = 18 nameLabel.Text = player.Name nameLabel.Parent = nameBillboard local distBillboard = Instance.new("BillboardGui") distBillboard.Name = "DistanceGui" distBillboard.Adornee = hrp distBillboard.Size = UDim2.new(0, 150, 0, 30) distBillboard.StudsOffset = Vector3.new(0, -3, 0) distBillboard.AlwaysOnTop = true distBillboard.Parent = character local distLabel = Instance.new("TextLabel") distLabel.Size = UDim2.new(1, 0, 1, 0) distLabel.BackgroundTransparency = 1 distLabel.TextColor3 = Color3.fromRGB(255, 255, 153) distLabel.TextStrokeColor3 = Color3.new(0, 0, 0) distLabel.TextStrokeTransparency = 0 distLabel.Font = Enum.Font.SourceSansBold distLabel.TextScaled = false distLabel.TextSize = 16 distLabel.Text = "" distLabel.Parent = distBillboard RunService.Heartbeat:Connect(function() if not character or not character.Parent then nameBillboard:Destroy() distBillboard:Destroy() return end local hrpPos = hrp.Position local dist = (localPlayer.Character and localPlayer.Character:FindFirstChild("HumanoidRootPart")) and (localPlayer.Character.HumanoidRootPart.Position - hrpPos).Magnitude or 0 distLabel.Text = string.format("%.1f studs", dist) nameBillboard.Enabled = NAMES_ENABLED distBillboard.Enabled = NAMES_ENABLED end) end local function addHighlight(character) if character:FindFirstChild("PlayerESP_Highlight") then return end local highlight = Instance.new("Highlight") highlight.Name = "PlayerESP_Highlight" highlight.FillColor = Color3.fromRGB(255, 0, 0) highlight.FillTransparency = 0.5 highlight.OutlineColor = Color3.new(1, 1, 1) highlight.OutlineTransparency = 0 highlight.Parent = character highlight.Enabled = ESP_ENABLED end local function setupPlayer(plr) if plr == localPlayer then return end plr.CharacterAdded:Connect(function(char) repeat task.wait() until char:FindFirstChild("HumanoidRootPart") addHighlight(char) createNameTag(char, plr) end) if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then addHighlight(plr.Character) createNameTag(plr.Character, plr) end end for _, plr in pairs(Players:GetPlayers()) do setupPlayer(plr) end Players.PlayerAdded:Connect(setupPlayer) espToggleButton.MouseButton1Click:Connect(function() ESP_ENABLED = not ESP_ENABLED espToggleButton.Text = ESP_ENABLED and "ESP: ON" or "ESP: OFF" for _, plr in pairs(Players:GetPlayers()) do if plr ~= localPlayer and plr.Character then local hl = plr.Character:FindFirstChild("PlayerESP_Highlight") if hl then hl.Enabled = ESP_ENABLED end end end end) nameToggleButton.MouseButton1Click:Connect(function() NAMES_ENABLED = not NAMES_ENABLED nameToggleButton.Text = NAMES_ENABLED and "Names: ON" or "Names: OFF" for _, plr in pairs(Players:GetPlayers()) do if plr ~= localPlayer and plr.Character then local nameTag = plr.Character:FindFirstChild("NameTagGui") if nameTag then nameTag.Enabled = NAMES_ENABLED end local distTag = plr.Character:FindFirstChild("DistanceGui") if distTag then distTag.Enabled = NAMES_ENABLED end end end end)