Esp all prompts universal
Key RequiredUniversal

Esp all prompts universal

Universal Scriptkalelbrito4kalelbrito4 57 views 507 executesUpdated Aug 4, 2026
Unrated
00
Lua Script•363 lines (10045 chars)
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local selectedHighlight
local selectedBillboard
local autoUpdate = false
local minimized = false

-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "PromptDebug"
gui.ResetOnSpawn = false
gui.Parent = player.PlayerGui

-- Main frame
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 300, 0, 450)
frame.Position = UDim2.new(0.05, 0, 0.2, 0)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true
frame.Parent = gui

local frameCorner = Instance.new("UICorner")
frameCorner.CornerRadius = UDim.new(0, 8)
frameCorner.Parent = frame

-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 40)
titleBar.BackgroundColor3 = Color3.fromRGB(40, 40, 52)
titleBar.BorderSizePixel = 0
titleBar.ZIndex = 2
titleBar.Parent = frame

local titleBarCorner = Instance.new("UICorner")
titleBarCorner.CornerRadius = UDim.new(0, 8)
titleBarCorner.Parent = titleBar

-- Patch for making bottom edges straight
local titleBarPatch = Instance.new("Frame")
titleBarPatch.Size = UDim2.new(1, 0, 0.5, 0)
titleBarPatch.Position = UDim2.new(0, 0, 0.5, 0)
titleBarPatch.BackgroundColor3 = Color3.fromRGB(40, 40, 52)
titleBarPatch.BorderSizePixel = 0
titleBarPatch.ZIndex = 2
titleBarPatch.Parent = titleBar

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -80, 1, 0)
title.Position = UDim2.new(0, 12, 0, 0)
title.Text = "Prompt Debug"
title.TextScaled = true
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1, 1, 1)
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.ZIndex = 3
title.Parent = titleBar

-- Minimize button
local minBtn = Instance.new("TextButton")
minBtn.Size = UDim2.new(0, 28, 0, 28)
minBtn.Position = UDim2.new(1, -34, 0, 6)
minBtn.Text = "-"
minBtn.BackgroundColor3 = Color3.fromRGB(65, 65, 80)
minBtn.TextColor3 = Color3.new(1, 1, 1)
minBtn.Font = Enum.Font.GothamBold
minBtn.TextScaled = true
minBtn.BorderSizePixel = 0
minBtn.ZIndex = 4
minBtn.Parent = titleBar

local minBtnCorner = Instance.new("UICorner")
minBtnCorner.CornerRadius = UDim.new(0, 6)
minBtnCorner.Parent = minBtn
-- Hidden content when minimized
local content = Instance.new("Frame")
content.Size = UDim2.new(1, 0, 1, -40)
content.Position = UDim2.new(0, 0, 0, 40)
content.BackgroundTransparency = 1
content.ClipsDescendants = true
content.Parent = frame

-- Refresh / Auto buttons
local btnRow = Instance.new("Frame")
btnRow.Size = UDim2.new(1, 0, 0, 38)
btnRow.BackgroundTransparency = 1
btnRow.Parent = content

local refresh = Instance.new("TextButton")
refresh.Size = UDim2.new(0.5, -6, 1, -6)
refresh.Position = UDim2.new(0, 5, 0, 3)
refresh.Text = "Refresh"
refresh.BackgroundColor3 = Color3.fromRGB(50, 115, 220)
refresh.TextColor3 = Color3.new(1, 1, 1)
refresh.Font = Enum.Font.GothamSemibold
refresh.TextScaled = true
refresh.BorderSizePixel = 0
refresh.Parent = btnRow

Instance.new("UICorner", refresh).CornerRadius = UDim.new(0, 6)

local auto = Instance.new("TextButton")
auto.Size = UDim2.new(0.5, -6, 1, -6)
auto.Position = UDim2.new(0.5, 1, 0, 3)
auto.Text = "Auto: OFF"
auto.BackgroundColor3 = Color3.fromRGB(65, 65, 80)
auto.TextColor3 = Color3.new(1, 1, 1)
auto.Font = Enum.Font.GothamSemibold
auto.TextScaled = true
auto.BorderSizePixel = 0
auto.Parent = btnRow

Instance.new("UICorner", auto).CornerRadius = UDim.new(0, 6)

-- Prompt list section
local listSection = Instance.new("Frame")
listSection.Size = UDim2.new(1, 0, 1, -155)
listSection.Position = UDim2.new(0, 0, 0, 42)
listSection.BackgroundTransparency = 1
listSection.Parent = content

local listLabel = Instance.new("TextLabel")
listLabel.Size = UDim2.new(1, -10, 0, 20)
listLabel.Position = UDim2.new(0, 5, 0, 0)
listLabel.Text = "Prompts:"
listLabel.TextScaled = true
listLabel.BackgroundTransparency = 1
listLabel.TextColor3 = Color3.fromRGB(155, 155, 175)
listLabel.Font = Enum.Font.Gotham
listLabel.TextXAlignment = Enum.TextXAlignment.Left
listLabel.Parent = listSection

local list = Instance.new("ScrollingFrame")
list.Size = UDim2.new(1, -10, 1, -24)
list.Position = UDim2.new(0, 5, 0, 22)
list.CanvasSize = UDim2.new(0, 0, 0, 0)
list.BackgroundColor3 = Color3.fromRGB(18, 18, 23)
list.BorderSizePixel = 0
list.ScrollBarThickness = 4
list.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 100)
list.Parent = listSection

Instance.new("UICorner", list).CornerRadius = UDim.new(0, 6)

-- Log section
local logSection = Instance.new("Frame")
logSection.Size = UDim2.new(1, 0, 0, 108)
logSection.Position = UDim2.new(0, 0, 1, -113)
logSection.BackgroundTransparency = 1
logSection.Parent = content

local logLabel = Instance.new("TextLabel")
logLabel.Size = UDim2.new(1, -10, 0, 20)
logLabel.Position = UDim2.new(0, 5, 0, 0)
logLabel.Text = "Log:"
logLabel.TextScaled = true
logLabel.BackgroundTransparency = 1
logLabel.TextColor3 = Color3.fromRGB(155, 155, 175)
logLabel.Font = Enum.Font.Gotham
logLabel.TextXAlignment = Enum.TextXAlignment.Left
logLabel.Parent = logSection
local logScroll = Instance.new("ScrollingFrame")
logScroll.Size = UDim2.new(1, -10, 1, -24)
logScroll.Position = UDim2.new(0, 5, 0, 22)
logScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
logScroll.BackgroundColor3 = Color3.fromRGB(14, 14, 18)
logScroll.BorderSizePixel = 0
logScroll.ScrollBarThickness = 3
logScroll.ScrollBarImageColor3 = Color3.fromRGB(70, 70, 90)
logScroll.Parent = logSection

Instance.new("UICorner", logScroll).CornerRadius = UDim.new(0, 6)

local logLayout = Instance.new("UIListLayout")
logLayout.SortOrder = Enum.SortOrder.LayoutOrder
logLayout.Padding = UDim.new(0, 2)
logLayout.Parent = logScroll

local logPad = Instance.new("UIPadding")
logPad.PaddingLeft = UDim.new(0, 5)
logPad.PaddingRight = UDim.new(0, 5)
logPad.PaddingTop = UDim.new(0, 3)
logPad.Parent = logScroll

local logOrder = 0

local function addLog(msg)
	logOrder += 1
	local time = os.date("%H:%M:%S")

	local entry = Instance.new("TextLabel")
	entry.Size = UDim2.new(1, 0, 0, 17)
	entry.Text = "[" .. time .. "] " .. msg
	entry.TextScaled = true
	entry.BackgroundTransparency = 1
	entry.TextColor3 = Color3.fromRGB(150, 220, 160)
	entry.Font = Enum.Font.Code
	entry.TextXAlignment = Enum.TextXAlignment.Left
	entry.LayoutOrder = logOrder
	entry.Parent = logScroll

	task.defer(function()
		logScroll.CanvasSize = UDim2.new(0, 0, 0, logLayout.AbsoluteContentSize.Y + 6)
		logScroll.CanvasPosition = Vector2.new(0, math.huge)
	end)
end

-- Minimize / expand
minBtn.MouseButton1Click:Connect(function()
	minimized = not minimized
	content.Visible = not minimized
	minBtn.Text = minimized and "+" or "-"

	frame.Size = minimized
		and UDim2.new(0, 300, 0, 40)
		or UDim2.new(0, 300, 0, 450)
end)

-- Highlight
local function clearHighlight()
	if selectedHighlight then
		selectedHighlight:Destroy()
		selectedHighlight = nil
	end

	if selectedBillboard then
		selectedBillboard:Destroy()
		selectedBillboard = nil
	end
end

local function highlightPrompt(prompt)
	clearHighlight()

	local part = prompt.Parent

	if not part:IsA("BasePart") then
		part = part:FindFirstChildWhichIsA("BasePart", true)
	end

	if not part then
		addLog("No BasePart found: " .. prompt:GetFullName())
		return
	end

	selectedHighlight = Instance.new("Highlight")
	selectedHighlight.FillColor = Color3.fromRGB(0, 230, 100)
	selectedHighlight.OutlineColor = Color3.new(1, 1, 1)
	selectedHighlight.FillTransparency = 0.5
	selectedHighlight.Adornee = part
	selectedHighlight.Parent = part

	selectedBillboard = Instance.new("BillboardGui")
	selectedBillboard.Size = UDim2.new(0, 200, 0, 50)
	selectedBillboard.StudsOffset = Vector3.new(0, 3, 0)
	selectedBillboard.AlwaysOnTop = true
	selectedBillboard.Adornee = part
	selectedBillboard.Parent = part

	local text = Instance.new("TextLabel")
	text.Size = UDim2.fromScale(1, 1)
	text.BackgroundTransparency = 1
	text.TextColor3 = Color3.new(1, 1, 1)
	text.TextStrokeTransparency = 0
	text.TextScaled = true
	text.Font = Enum.Font.GothamBold
	text.Text = prompt.ObjectText ~= "" and prompt.ObjectText or prompt.ActionText
	text.Parent = selectedBillboard

	local name = prompt.ObjectText ~= "" and prompt.ObjectText or prompt.ActionText

	addLog("Selected: " .. name .. " (" .. part.Name .. ")")
end
-- Update prompt list
local function updateList()

	for _, v in ipairs(list:GetChildren()) do
		if v:IsA("TextButton") then
			v:Destroy()
		end
	end

	local y = 0
	local count = 0

	for _, prompt in ipairs(workspace:GetDescendants()) do
		if prompt:IsA("ProximityPrompt") then

			local name = prompt.ObjectText ~= "" and prompt.ObjectText or prompt.ActionText

			local btn = Instance.new("TextButton")
			btn.Size = UDim2.new(1, -8, 0, 34)
			btn.Position = UDim2.new(0, 4, 0, y)
			btn.Text = name
			btn.BackgroundColor3 = Color3.fromRGB(32, 32, 42)
			btn.TextColor3 = Color3.fromRGB(220, 220, 235)
			btn.Font = Enum.Font.Gotham
			btn.TextScaled = true
			btn.BorderSizePixel = 0
			btn.Parent = list

			Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 5)

			btn.MouseButton1Click:Connect(function()

				for _, b in ipairs(list:GetChildren()) do
					if b:IsA("TextButton") then
						b.BackgroundColor3 = Color3.fromRGB(32, 32, 42)
					end
				end

				btn.BackgroundColor3 = Color3.fromRGB(50, 115, 220)

				highlightPrompt(prompt)
			end)

			y += 38
			count += 1
		end
	end

	list.CanvasSize = UDim2.new(0, 0, 0, y + 4)

	title.Text = "Prompts (" .. count .. ")"

	addLog("List updated: " .. count .. " prompt(s)")
end


-- Events
refresh.MouseButton1Click:Connect(updateList)

auto.MouseButton1Click:Connect(function()

	autoUpdate = not autoUpdate

	auto.Text = autoUpdate and "Auto: ON" or "Auto: OFF"

	auto.BackgroundColor3 = autoUpdate
		and Color3.fromRGB(45, 175, 80)
		or Color3.fromRGB(65, 65, 80)

	addLog("Auto update " .. (autoUpdate and "enabled" or "disabled"))
end)


-- Auto update loop
task.spawn(function()
	while true do

		if autoUpdate then
			updateList()
		end

		task.wait(1)
	end
end)


updateList()

Features & Information

This script was made by me with the help of an AI. It searches for prompts in your field of view, and to find them, you click on the prompt's name to display it. Warning: it only works in parts of your game that are already Loaded
#Universal#Esp

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts