Simple Tool ESP
Key RequiredUniversal

Simple Tool ESP

Universal ScriptTheBronzeJadeTheBronzeJade 2K views 82 executesUpdated Apr 29, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•101 lines (2768 chars)
local player = game.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Function to create UI button
local function createButton()
	local screenGui = Instance.new("ScreenGui")
	screenGui.Name = "ToolHighlighter"
	screenGui.ResetOnSpawn = false
	screenGui.Parent = playerGui

	local toggleButton = Instance.new("TextButton")
	toggleButton.AnchorPoint = Vector2.new(0, 1)
	toggleButton.Position = UDim2.new(0, 10, 1, -10)
	toggleButton.AutomaticSize = Enum.AutomaticSize.X
	toggleButton.Size = UDim2.new(0, 0, 0, 40)
	toggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	toggleButton.BorderColor3 = Color3.fromRGB(255, 0, 0)
	toggleButton.BorderSizePixel = 3
	toggleButton.Text = "Highlight Tools"
	toggleButton.TextColor3 = Color3.new(1, 1, 1)
	toggleButton.Font = Enum.Font.SourceSansBold
	toggleButton.TextSize = 20
	toggleButton.Parent = screenGui

	return toggleButton, screenGui
end

-- Function to create name label above a part
local function createLabel(tool, adornee)
	local billboard = Instance.new("BillboardGui")
	billboard.Name = "ToolHighlight"
	billboard.Size = UDim2.new(0, 100, 0, 50)
	billboard.Adornee = adornee
	billboard.AlwaysOnTop = true
	billboard.Parent = tool

	local label = Instance.new("TextLabel")
	label.Size = UDim2.new(1, 0, 1, 0)
	label.BackgroundTransparency = 1
	label.Text = tool.Name
	label.TextColor3 = Color3.new(1, 1, 1)
	label.TextStrokeColor3 = Color3.new(0, 0, 0)
	label.TextStrokeTransparency = 0
	label.Font = Enum.Font.SourceSansBold
	label.TextScaled = true
	label.Parent = billboard
end

-- Toggle highlights
local function toggleHighlighting(highlighting)
	local backpack = player:WaitForChild("Backpack")
	local tools = backpack:GetChildren()
	local found = false

	if not highlighting then
		for _, tool in ipairs(tools) do
			if tool:IsA("Tool") then
				local handle = tool:FindFirstChild("Handle") or tool:FindFirstChildWhichIsA("BasePart")
				if handle then
					createLabel(tool, handle)
					found = true
				end
			end
		end
		if not found then
			game.StarterGui:SetCore("SendNotification", {
				Title = "No Tools Found :(",
				Text = "You have no tools with visible parts!",
				Duration = 3
			})
		end
	else
		for _, tool in ipairs(tools) do
			local tag = tool:FindFirstChild("ToolHighlight")
			if tag then
				tag:Destroy()
			end
		end
	end

	return not highlighting
end

-- Main logic
local toggleButton, screenGui = createButton()
local highlighting = false

local function connectButton()
	toggleButton.MouseButton1Click:Connect(function()
		highlighting = toggleHighlighting(highlighting)
	end)
end

connectButton()

-- Recreate UI on respawn
player.CharacterAdded:Connect(function()
	screenGui:Destroy()
	toggleButton, screenGui = createButton()
	connectButton()
end)

Features & Information

Basically That's it

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts