Run it
Copy the script and paste it into your executor.
ENABLED_BY_DEFAULT =
MAX_DISTANCE =
REFRESH_RATE = /
BOX_FILL_TRANSPARENCY =
BOX_OUTLINE_THICKNESS =
BOX_COLOR = .(, , )
BOX_FILL_COLOR = .(, , )
HEALTH_BAR_WIDTH =
HEALTH_BAR_MARGIN =
SNAPLINE_THICKNESS =
NAME_TEXT_SIZE =
SHOW_SKELETON =
TRACER_ORIGIN =
Players = :()
RunService = :()
UserInputService = :()
LocalPlayer = Players.LocalPlayer
PlayerGui = LocalPlayer:()
PlayerGui
()
rootGui = .()
rootGui.Name =
rootGui.ResetOnSpawn =
rootGui.DisplayOrder =
rootGui.Parent = PlayerGui
UIs = {}
(parent)
f = .()
f.BackgroundTransparency =
f.BorderSizePixel =
f.AnchorPoint = .(,)
f.Position = .(,,,)
f.Size = .(,,,)
f.Parent = parent
f.Visible =
f
(parent)
t = .()
t.BackgroundTransparency =
t.BorderSizePixel =
t.AnchorPoint = .(,)
t.Position = .(,,,)
t.Size = .(,,,)
t.Font = .Font.SourceSansBold
t.TextSize = NAME_TEXT_SIZE
t.TextScaled =
t.TextStrokeTransparency =
t.TextColor3 = .(,,)
t.Parent = parent
t.Visible =
t
(player)
player == LocalPlayer
UIs[player]
container = .()
container.Name = .. player.Name
container.Size = .(,,,)
container.Position = .(,,,)
container.BackgroundTransparency =
container.BorderSizePixel =
container.Parent = rootGui
container.Visible =
boxFill = .()
boxFill.Name =
boxFill.Size = .(,,,)
boxFill.Position = .(,,,)
boxFill.AnchorPoint = .(,)
boxFill.BackgroundColor3 = BOX_FILL_COLOR
boxFill.BackgroundTransparency = BOX_FILL_TRANSPARENCY
boxFill.BorderSizePixel =
boxFill.Parent = container
topEdge = .()
topEdge.Name =
topEdge.BackgroundColor3 = BOX_COLOR
topEdge.BorderSizePixel =
topEdge.Size = .(,,,BOX_OUTLINE_THICKNESS)
topEdge.Position = .(,,,)
topEdge.Parent = container
bottomEdge = topEdge:()
bottomEdge.Name =
bottomEdge.Position = .(,,, -BOX_OUTLINE_THICKNESS)
bottomEdge.Parent = container
leftEdge = .()
leftEdge.Name =
leftEdge.BackgroundColor3 = BOX_COLOR
leftEdge.BorderSizePixel =
leftEdge.Size = .(,BOX_OUTLINE_THICKNESS,,)
leftEdge.Position = .(,,,)
leftEdge.Parent = container
rightEdge = leftEdge:()
rightEdge.Name =
rightEdge.Position = .(, -BOX_OUTLINE_THICKNESS, , )
rightEdge.Parent = container
nameLabel = (container)
nameLabel.Name =
nameLabel.AnchorPoint = .(,)
nameLabel.Position = .(,,, -)
healthLabel = (container)
healthLabel.Name =
healthLabel.AnchorPoint = .(,)
healthLabel.Position = .(,,,)
healthOutline = .()
healthOutline.Name =
healthOutline.Size = .(, HEALTH_BAR_WIDTH + , , )
healthOutline.Position = .(, -HEALTH_BAR_WIDTH - HEALTH_BAR_MARGIN - , , )
healthOutline.AnchorPoint = .(,)
healthOutline.BackgroundColor3 = .(,,)
healthOutline.BorderSizePixel =
healthOutline.Parent = container
healthFill = .()
healthFill.Name =
healthFill.Size = .(, -, , )
healthFill.Position = .(,,, -)
healthFill.AnchorPoint = .(,)
healthFill.BackgroundColor3 = .(,,)
healthFill.BorderSizePixel =
healthFill.Parent = healthOutline
snapline = .()
snapline.Name = .. player.Name
snapline.Size = .(, , , SNAPLINE_THICKNESS)
snapline.Position = .(,,,)
snapline.BorderSizePixel =
snapline.BackgroundColor3 = BOX_COLOR
snapline.Rotation =
snapline.AnchorPoint = .(,)
snapline.Parent = rootGui
snapline.Visible =
UIs[player] = {
Container = container,
BoxFill = boxFill,
TopEdge = topEdge,
BottomEdge = bottomEdge,
LeftEdge = leftEdge,
RightEdge = rightEdge,
NameLabel = nameLabel,
HealthLabel = healthLabel,
HealthOutline = healthOutline,
HealthFill = healthFill,
Snapline = snapline,
}
(player)
entry = UIs[player]
entry
entry.Snapline entry.Snapline.Parent entry.Snapline:()
entry.Container entry.Container.Parent entry.Container:()
UIs[player] =
(pos, camera)
camera = camera .CurrentCamera
screenPoint, onScreen = camera:(pos)
.(screenPoint.X, screenPoint.Y), onScreen, screenPoint.Z
camera = .CurrentCamera
lastTick =
(delta)
ENABLED_BY_DEFAULT
camera camera.Parent camera = .CurrentCamera
localChar = LocalPlayer.Character
localHrp = localChar localChar:()
localHrp
p, ui (UIs)
ui.Container.Visible =
ui.Snapline.Visible =
player, ui (UIs)
char = player.Character
hrp = char char:()
hum = char char:()
ui.Container.Visible =
ui.Snapline.Visible =
char hrp hum hum.Health >
dist = (localHrp.Position - hrp.Position).Magnitude
dist <= MAX_DISTANCE
size = char:() .(,,)
cf = hrp.CFrame
topWorld = cf * .(, size.Y/, ).p
bottomWorld = cf * .(, -size.Y/, ).p
leftWorld = cf * .(-size.X/, , ).p
rightWorld = cf * .(size.X/, , ).p
top2, _, topZ = (topWorld, camera)
bottom2, _, bottomZ = (bottomWorld, camera)
left2, _, _ = (leftWorld, camera)
right2, _, _ = (rightWorld, camera)
topZ > bottomZ >
centerX = (left2.X + right2.X) /
topY = top2.Y
bottomY = bottom2.Y
height = .(, bottomY - topY)
width = .(, .(right2.X - left2.X))
tlX = centerX - width/
tlY = topY
ui.Container.Position = .(, .(tlX), , .(tlY))
ui.Container.Size = .(, .(width), , .(height))
ui.Container.Visible =
ui.TopEdge.Size = .(,,, BOX_OUTLINE_THICKNESS)
ui.BottomEdge.Size = .(,,, BOX_OUTLINE_THICKNESS)
ui.LeftEdge.Size = .(, BOX_OUTLINE_THICKNESS, , )
ui.RightEdge.Size = .(, BOX_OUTLINE_THICKNESS, , )
ui.TopEdge.BackgroundColor3 = BOX_COLOR
ui.BottomEdge.BackgroundColor3 = BOX_COLOR
ui.LeftEdge.BackgroundColor3 = BOX_COLOR
ui.RightEdge.BackgroundColor3 = BOX_COLOR
ui.BoxFill.BackgroundColor3 = BOX_FILL_COLOR
ui.BoxFill.BackgroundTransparency = BOX_FILL_TRANSPARENCY
ui.NameLabel.Text = player.DisplayName player.Name
ui.NameLabel.TextColor3 = BOX_COLOR
ui.NameLabel.Position = .(, , , -)
ui.NameLabel.Visible =
health = .(, .(hum.Health))
maxH = .(, .(hum.MaxHealth ))
ui.HealthLabel.Text = .(, health, maxH)
ui.HealthLabel.TextColor3 = .(,,)
ui.HealthLabel.Position = .(, , , )
ui.HealthLabel.Visible =
hbOutline = ui.HealthOutline
hbFill = ui.HealthFill
hbOutline.Size = .(, HEALTH_BAR_WIDTH + , , )
hbOutline.Position = .(, -HEALTH_BAR_WIDTH - HEALTH_BAR_MARGIN - , , )
hbOutline.Visible =
percent = .(health / maxH, , )
outlinePxHeight = ui.Container.AbsoluteSize.Y -
fillPx = .(, .(outlinePxHeight * percent))
hbFill.Size = .(, -, , fillPx)
hbFill.Position = .(, , , -)
percent >
hbFill.BackgroundColor3 = .(,,)
percent >
hbFill.BackgroundColor3 = .(,,)
hbFill.BackgroundColor3 = .(,,)
hbFill.Visible =
screenCenterX = camera.ViewportSize.X/
screenBottomY = camera.ViewportSize.Y
targetX = centerX
targetY = topY + height/
dx = targetX - screenCenterX
dy = targetY - screenBottomY
length = .(dx*dx + dy*dy)
length <
ui.Snapline.Visible =
ui.Snapline.Size = .(, .(, .(length)), , SNAPLINE_THICKNESS)
ui.Snapline.Position = .(, screenCenterX, , screenBottomY - SNAPLINE_THICKNESS)
ui.Snapline.Rotation = .(.(dy, dx))
ui.Snapline.BackgroundColor3 = BOX_COLOR
ui.Snapline.Visible =
_, p (Players:())
p ~= LocalPlayer
(p)
Players.PlayerAdded:((p)
p ~= LocalPlayer
(p)
)
Players.PlayerRemoving:((p)
(p)
)
Players.PlayerRemoving:(() )
accum =
RunService.RenderStepped:((dt)
accum = accum + dt
accum >= REFRESH_RATE
ok, err = (update, accum)
ok
(, err)
accum =
)
()GUI-Based ESP for Roblox A lightweight, GUI-based ESP for Roblox that runs entirely on the client side. Designed to work with Client-Side Executors, this script does not rely on Drawing or Highlight instances, making it simple and efficient. Features Box ESP: Transparent fill with colored outline. Name Tags: Displays player names above the ESP box. Health Display: Shows current and maximum health under the name. Health Bar: Vertical bar on the left side of the box indicating health percentage. Snaplines: Lines from the bottom of the screen to the center of the ESP box. Distance Limiting: Only shows players within a configurable range. Configurable UI: Easily adjust colors, sizes, and refresh rate. Configuration You can customize the ESP by modifying the following variables in the script: ENABLED_BY_DEFAULT — Start with ESP enabled or disabled. MAX_DISTANCE — Maximum distance (in studs) for ESP to display. REFRESH_RATE — Refresh interval for updates. BOX_COLOR / BOX_FILL_COLOR — Outline and fill colors of the box. BOX_FILL_TRANSPARENCY — Transparency of the box fill. HEALTH_BAR_WIDTH / HEALTH_BAR_MARGIN — Health bar dimensions. SNAPLINE_THICKNESS — Thickness of the snapline. NAME_

Universal