local NothingLibrary = loadstring(game:HttpGetAsync('https://[Log in to view URL]'))();
local Windows = NothingLibrary.new({
	Title = "DAH HOOD GUI",
	Description = "Dah Best One Yet",
	Keybind = Enum.KeyCode.LeftControl,
	Logo = 'http://[Log in to view URL]'
})

local Notification = NothingLibrary.Notification();

Notification.new({
	Title = "Notification",
	Description = "Enjoy :) Working in Progress",
	Duration = 5,
	Icon = "rbxassetid://8997385628"
})

local TabFrame = Windows:NewTab({
	Title = "MISC",
	Description = "Lots of features",
	Icon = "rbxassetid://7733960981"
})

local Section = TabFrame:NewSection({
	Title = "ESP Toggle",
	Icon = "rbxassetid://7743869054",
	Position = "Left"
})

local Players = game.Players
local LP = Players.LocalPlayer
local DB = false
local targetPlayerName = nil

local function nameMatches(player)
    if not targetPlayerName or targetPlayerName == "" then return false end
    return string.lower(player.Name):sub(1, #targetPlayerName) == string.lower(targetPlayerName) or
           string.lower(player.DisplayName):sub(1, #targetPlayerName) == string.lower(targetPlayerName)
end

local function updateESP(player)
    if player == LP or not player.Character then return end

    local highlight = player.Character:FindFirstChild("Totally NOT Esp") or player.Character:FindFirstChild("Icon")
    if not highlight then
        highlight = Instance.new("Highlight", player.Character)
        highlight.Name = "Totally NOT Esp"
        highlight.Adornee = player.Character
        highlight.Enabled = true
        highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
        highlight.FillColor = player.TeamColor.Color
        highlight.FillTransparency = 0.5
        highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
        highlight.OutlineTransparency = 0
    end
    
    highlight.Enabled = nameMatches(player) and DB
end

local function onPlayerAdded(player)
    player.CharacterAdded:Connect(function() updateESP(player) end)
    if player.Character then updateESP(player) end
end

for _, player in ipairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end

Players.PlayerAdded:Connect(onPlayerAdded)

local function toggleESP(state)
    DB = state and (targetPlayerName ~= nil and targetPlayerName ~= "")
    for _, player in ipairs(Players:GetPlayers()) do
        if player == LP then continue end
        local highlight = player.Character and player.Character:FindFirstChild("Totally NOT Esp")
        if highlight then
            highlight.Enabled = DB and nameMatches(player)
        end
    end
end

-- New Textbox for Player Name Input
Section:NewTextbox({
    Title = "Enter Player Username or Display Name",
    Default = '',
    FileType = "",
    Callback = function(username)
        targetPlayerName = username
        if DB then
            -- Update ESP highlighting without toggling
            for _, player in ipairs(Players:GetPlayers()) do
                updateESP(player)
            end
        else
            toggleESP(false) -- Ensure ESP is off if no valid name is provided
        end
    end,
})

-- New Toggle for ESP
Section:NewToggle({
    Title = "Toggle ESP",
    Default = false,
    Callback = function(state)
        toggleESP(state)
        if state then
            while task.wait() do
                for _, player in ipairs(Players:GetPlayers()) do
                    updateESP(player)
                end
            end
        end
    end,
})

-- Leave this alone
InfoSection:NewTitle('UI by CATSUS')
InfoSection:NewButton({	
	Title = "Discord",
	Callback = function()
		print('hi')
	end,
});

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: