Find The Buttons Buttons ESP And Open Source
Key Required

Find The Buttons Buttons ESP And Open Source

[200] Find The Button! 🔴TernalTernal 1K views 308 executesUpdated Feb 10, 2026
Unrated
00
Lua Script•169 lines (4836 chars)
-- button esp for https://www.roblox.com/games/103593441753340/Find-The-Button

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")

local LocalPlayer = Players.LocalPlayer
local Camera = Workspace.CurrentCamera

-- config
local CONFIG = {
    Enabled = true,
    MaxDistance = 500, -- render distance, low = lower render distance high = higher render distance
    TextSize = 14,
    TextColor = Color3.fromRGB(255, 255, 255),
    BoxColor = Color3.fromRGB(0, 255, 0),
    BoxThickness = 2,
    ShowDistance = true,
}

local btns = {
    "button",
    "btn",
    "clickbutton",
    "pressbutton",
    "switch",
    "lever",
    "clickdetector",
}

local ESPObjects = {}

local function isButtonName(name)
    local lowerName = string.lower(name)
    for _, pattern in ipairs(btns) do
        if string.find(lowerName, pattern) then
            return true
        end
    end
    return false
end

local function createESP(object)
    if ESPObjects[object] then return end
    
    local billboard = Instance.new("BillboardGui")
    billboard.Name = "ButtonESP"
    billboard.AlwaysOnTop = true
    billboard.Size = UDim2.new(0, 200, 0, 50)
    billboard.StudsOffset = Vector3.new(0, 2, 0)
    billboard.Adornee = object
    
    local textLabel = Instance.new("TextLabel")
    textLabel.Size = UDim2.new(1, 0, 1, 0)
    textLabel.BackgroundTransparency = 1
    textLabel.TextColor3 = CONFIG.TextColor
    textLabel.TextSize = CONFIG.TextSize
    textLabel.Font = Enum.Font.SourceSansBold
    textLabel.TextStrokeTransparency = 0.5
    textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
    textLabel.Text = object.Name
    textLabel.Parent = billboard
    
    local box = Instance.new("BoxHandleAdornment")
    box.Name = "ButtonESPBox"
    box.AlwaysOnTop = true
    box.ZIndex = 10
    box.Size = object.Size or Vector3.new(2, 2, 2)
    box.Color3 = CONFIG.BoxColor
    box.Transparency = 0.7
    box.Adornee = object
    
    billboard.Parent = object
    box.Parent = object
    
    ESPObjects[object] = {
        Billboard = billboard,
        Box = box,
        TextLabel = textLabel,
    }
end

local function removeESP(object)
    if ESPObjects[object] then
        ESPObjects[object].Billboard:Destroy()
        ESPObjects[object].Box:Destroy()
        ESPObjects[object] = nil
    end
end

local function updateESP()
    if not CONFIG.Enabled then return end
    
    local character = LocalPlayer.Character
    if not character then return end
    
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if not rootPart then return end
    
    for object, espData in pairs(ESPObjects) do
        if object and object.Parent then
            local distance = (rootPart.Position - object.Position).Magnitude
            
            if distance > CONFIG.MaxDistance then
                espData.Billboard.Enabled = false
                espData.Box.Visible = false
            else
                espData.Billboard.Enabled = true
                espData.Box.Visible = true
                
                if CONFIG.ShowDistance then
                    espData.TextLabel.Text = string.format("%s\n[%.1fm]", object.Name, distance)
                else
                    espData.TextLabel.Text = object.Name
                end
            end
        else
            removeESP(object)
        end
    end
end

local function scanWorkspace(parent)
    for _, child in ipairs(parent:GetDescendants()) do
        if (child:IsA("BasePart") or child:IsA("Model") or child:IsA("ClickDetector")) and isButtonName(child.Name) then
            if child:IsA("BasePart") then
                createESP(child)
            elseif child:IsA("ClickDetector") and child.Parent:IsA("BasePart") then
                createESP(child.Parent)
            end
        end
    end
end

scanWorkspace(Workspace)

Workspace.DescendantAdded:Connect(function(descendant)
    if CONFIG.Enabled and isButtonName(descendant.Name) then
        if descendant:IsA("BasePart") then
            createESP(descendant)
        elseif descendant:IsA("ClickDetector") and descendant.Parent:IsA("BasePart") then
            createESP(descendant.Parent)
        end
    end
end)

Workspace.DescendantRemoving:Connect(function(descendant)
    if ESPObjects[descendant] then
        removeESP(descendant)
    end
end)

RunService.RenderStepped:Connect(updateESP)

local function toggleESP()
    CONFIG.Enabled = not CONFIG.Enabled
    print("Button ESP:", CONFIG.Enabled and "Enabled" or "Disabled")
    
    if not CONFIG.Enabled then
        for object, espData in pairs(ESPObjects) do
            espData.Billboard.Enabled = false
            espData.Box.Visible = false
        end
    end
end

_G.ToggleButtonESP = toggleESP

print("open source - pt 1")

Features & Information

Open Source Button ESP For this game Enjoy the script skiddies
#ESP#Buttons

Community Comments (0)

No comments yet for this script.

More Scripts for [200] Find The Button! 🔴