Message
Message
getgenv().Config = {
Box = {
Enable = true,
Type = 'Full', -- Corner
Font = 'ProggyClean',
Color = Color3.fromRGB(255, 255, 255),
Filled = {
Enable = false,
Gradient = {
Enable = true,
Color = {
Start = Color3.fromRGB(255, 255, 255),
End = Color3.fromRGB(0, 255, 0);
},
Rotation = {
Enable = true,
Auto = true,
},
Transparency = 0.3;
}
}
},
Text = {
Enable = true,
Name = {
Enable = true,
Teamcheck = true,
Color = Color3.fromRGB(255, 255, 255);
},
Studs = {
Enable = true,
Color = Color3.fromRGB(255, 255, 255);
},
Tool = {
Enable = true,
Color = Color3.fromRGB(255, 255, 255);
},
},
Bars = {
Enable = true,
Health = {
ShowOutline = false,
Enable = true,
Lerp = true;
Color1 = Color3.fromRGB(0, 255, 0);
Color2 = Color3.fromRGB(255, 255, 0),
Color3 = Color3.fromRGB(255, 0, 0)
},
Armor = {
ShowOutline = false,
Enable = true,
Lerp = true;
Color1 = Color3.fromRGB(0, 0, 255);
Color2 = Color3.fromRGB(135, 206, 235),
Color3 = Color3.fromRGB(1, 0, 0)
}
}
}
--[[
© 2025 ChatGPT. All rights reserved.
This script and its associated content are protected under the Copyright Act of
1976,
Title 17 of the United States Code. It is the intellectual property of ChatGPT
and may not be reproduced, copied, modified, distributed, or used in any form,
in whole or in part, without the prior written consent of the creator.
Unauthorized use of this script may result in civil and/or criminal penalties
under applicable copyright laws.
local Overlay
Config = Config;
Drawing = Drawing;
utility.funcs.render = LPH_NO_VIRTUALIZE(function(player)
if not player then return end
cache[player] = cache[player] or {}
cache[player].Box = {}
cache[player].Bars = {}
cache[player].Text = {}
cache[player].Box.Full = {
Square = Drawing.new("Square"),
Inline = Drawing.new("Square"),
Outline = Drawing.new("Square"),
Filled = Instance.new('Frame', Instance.new('ScreenGui', game.CoreGui))
}
cache[player].Text.Studs = utility.funcs.make_text(Studs)
cache[player].Text.Tool = utility.funcs.make_text(Tool)
cache[player].Text.Name = utility.funcs.make_text(Name)
cache[player].Bars.Armor = {
Gui = armorGui,
Outline = armorOutline,
Frame = armorFill,
Gradient = armorGradient
}
cache[player].Bars.Health = {
Gui = healthGui,
Outline = healthOutline,
Frame = healthFill,
Gradient = healthGradient
}
end)
utility.funcs.clear_esp = LPH_NO_VIRTUALIZE(function(player)
if not cache[player] then return end
if cache[player].Text then
if cache[player].Text.Studs then cache[player].Text.Studs.Visible = false
end
if cache[player].Text.Tool then cache[player].Text.Tool.Visible = false end
if cache[player].Text.Name then cache[player].Text.Name.Visible = false end
end
if cache[player].Bars then
if cache[player].Bars.Health and cache[player].Bars.Health.Frame then
cache[player].Bars.Health.Frame.Visible = false
cache[player].Bars.Health.Outline.Visible = false
end
if cache[player].Bars.Armor and cache[player].Bars.Armor.Frame then
cache[player].Bars.Armor.Frame.Visible = false
cache[player].Bars.Armor.Outline.Visible = false
end
end
end)
utility.funcs.update = LPH_NO_VIRTUALIZE(function(player)
if not player or not cache[player] then return end
if Config.Box.Enable then
local fullBox = playerCache.Box.Full
local square, outline, inline, filled = fullBox.Square, fullBox.Outline,
fullBox.Inline, fullBox.Filled
outline.Visible = Config.Box.Enable
outline.Position = position - Vector2.new(1, 1)
outline.Size = size + Vector2.new(2, 2)
outline.Color = Color3.new(0, 0, 0)
outline.Thickness = 1
outline.Filled = false
inline.Visible = true
inline.Position = position + Vector2.new(1, 1)
inline.Size = size - Vector2.new(2, 2)
inline.Color = Color3.new(0, 0, 0)
inline.Thickness = 1
inline.Filled = false
if Config.Box.Filled.Gradient.Enable then
local gradient = filled:FindFirstChild("Gradient") or
Instance.new("UIGradient")
gradient.Name = "Gradient"
gradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0,
Config.Box.Filled.Gradient.Color.Start),
ColorSequenceKeypoint.new(1,
Config.Box.Filled.Gradient.Color.End)
})
gradient.Rotation = math.sin(tick() * 2) * 180
if not gradient.Parent then gradient.Parent = filled end
end
elseif filled then
filled.Visible = false
end
else
local fullBox = playerCache.Box.Full
if fullBox then
fullBox.Square.Visible = false
fullBox.Outline.Visible = false
fullBox.Inline.Visible = false
if fullBox.Filled then
fullBox.Filled.Visible = false
end
end
end
end
fill.Visible = true
fill.Position = UDim2.new(0, 1, 0, (1 - lerpedHealth) * bar_height + 1)
fill.Size = UDim2.new(0, bar_width, 0, lerpedHealth * bar_height)
end
end
if Config.Text.Enable then
local nameLabel = playerCache.Text.Name
local toolLabel = playerCache.Text.Tool
local studsLabel = playerCache.Text.Studs
local textOffset = 15
local baseX = position.X + (size.X / 2)
local baseY = position.Y - gui_inset.Y
nameLabel.Visible = true
nameLabel.Position = UDim2.new(0, baseX - (nameLabel.AbsoluteSize.X / 2),
0, baseY - textOffset + 6)
nameLabel.Text = player.Name
toolLabel.Visible = true
toolLabel.Position = UDim2.new(0, baseX - (toolLabel.AbsoluteSize.X / 2),
0, baseY + size.Y + 15)
local tool = character:FindFirstChildOfClass("Tool")
toolLabel.Text = tool and tool.Name or "none"
studsLabel.Visible = true
studsLabel.Position = UDim2.new(0, baseX - (studsLabel.AbsoluteSize.X / 2),
0, baseY + size.Y + 5)
local distance = (Camera.CFrame.Position - rootPart.Position).Magnitude
local meters = distance * 0.28
studsLabel.Text = string.format("[%.0fm]", meters)
end
if outline then
outline.Visible = true
outline.Position = UDim2.new(0, x - 1, 0, y - 1)
outline.Size = UDim2.new(0, bar_width + 2, 0, bar_height + 1.1)
outline.BackgroundTransparency = 0.2
end
if fill then
fill.Visible = true
fill.Position = UDim2.new(0, 1, 0, (1 - lerpedArmor) * bar_height + 1)
fill.Size = UDim2.new(0, bar_width, 0, lerpedArmor * bar_height)
end
end
end)
game:GetService("Players").PlayerAdded:Connect(function(player)
if player ~= game.Players.LocalPlayer then
utility.funcs.render(player)
end
end)
game:GetService("Players").PlayerRemoving:Connect(function(player)
if player ~= game.Players.LocalPlayer then
utility.funcs.clear_esp(player)
end
end)
connections.main = connections.main or {}
connections.main.RenderStepped =
game:GetService("RunService").Heartbeat:Connect(function()
for v, _ in pairs(cache) do
if v then
utility.funcs.update(v)
end
end
end)