Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
Stats = :()
Camera = .CurrentCamera
LP = Players.LocalPlayer
Settings = {
Running = ,
ESPBox = ,
ESPHealth = ,
ESPNames = ,
ESPSkeleton = ,
ESPChams = ,
BoxPadding = ,
ChamsColor = .(, , ),
NameColor = .(, , ),
NeonColor = .(, , ),
SkinColor = .(, , ),
TipColor = .(, , ),
ShaftLength = , ShaftRadius = , BallSize = ,
}
R15_Bones = {
{, }, {, }, {, }, {, },
{, }, {, }, {, }, {, },
{, }, {, }, {, }, {, },
{, }, {, }
}
PerformanceLabel = .()
PerformanceLabel.Visible = ; PerformanceLabel.Size = ; PerformanceLabel.Outline =
ScreenGui = .(, :())
UnloadBtn = .(, ScreenGui)
UnloadBtn.Size = .(, , , ); UnloadBtn.Position = .(, , , -); UnloadBtn.BackgroundColor3 = .(, , )
UnloadBtn.Text = ; UnloadBtn.TextColor3 = .(, , ); UnloadBtn.Font = .Font.GothamBold; UnloadBtn.TextSize =
.(, UnloadBtn)
UnloadBtn.MouseButton1Click:(()
Settings.Running =
ScreenGui:()
PerformanceLabel:()
)
RunService.Heartbeat:(()
Settings.Running
fps = .( / RunService.RenderStepped:())
ping = .(Stats.Network.ServerStatsItem[]:())
PerformanceLabel.Text = .. fps .. .. ping ..
PerformanceLabel.Position = .(Camera.ViewportSize.X - , Camera.ViewportSize.Y / )
PerformanceLabel.Color = (fps >= .(,,)) (fps >= .(,,)) .(,,)
)
(char)
cf, size = char:()
size = size + .(Settings.BoxPadding, Settings.BoxPadding, Settings.BoxPadding)
corners = {
cf * .(-size.X/, size.Y/, size.Z/),
cf * .(size.X/, size.Y/, size.Z/),
cf * .(-size.X/, -size.Y/, size.Z/),
cf * .(size.X/, -size.Y/, size.Z/),
cf * .(-size.X/, size.Y/, -size.Z/),
cf * .(size.X/, size.Y/, -size.Z/),
cf * .(-size.X/, -size.Y/, -size.Z/),
cf * .(size.X/, -size.Y/, -size.Z/)
}
minX, minY = .huge, .huge
maxX, maxY = -.huge, -.huge
allOffscreen =
_, corner (corners)
screenPos, onScreen = Camera:(corner.Position)
onScreen
allOffscreen =
minX = .(minX, screenPos.X)
minY = .(minY, screenPos.Y)
maxX = .(maxX, screenPos.X)
maxY = .(maxY, screenPos.Y)
allOffscreen , ,
.(minX, minY), .(maxX - minX, maxY - minY),
(p)
p == LP
Box = .(); Box.Thickness =
HealthBar = .(); HealthBar.Thickness =
NameTag = .(); NameTag.Size = ; NameTag.Center = ; NameTag.Outline =
SkeletonLines = {}
Shaft = .()
Tip = .()
BallL = .()
BallR = .()
Highlight = .()
Highlight.FillColor = Settings.ChamsColor; Highlight.OutlineColor = .(, , )
Highlight.FillTransparency = ; Highlight.DepthMode = .HighlightDepthMode.AlwaysOnTop
(obj, color)
obj.AlwaysOnTop = ; obj.ZIndex = ; obj.Transparency = ; obj.Color3 = color
(Shaft, Settings.SkinColor); (Tip, Settings.TipColor)
(BallL, Settings.SkinColor); (BallR, Settings.SkinColor)
()
Box.Visible, HealthBar.Visible, NameTag.Visible = , ,
_, l (SkeletonLines) l.Visible =
Shaft.Visible, Tip.Visible, BallL.Visible, BallR.Visible = , , ,
Highlight.Enabled =
RunService.RenderStepped:(()
Settings.Running p.Parent
Box:(); HealthBar:(); NameTag:(); Highlight:()
_, l (SkeletonLines) l:()
Shaft:(); Tip:(); BallL:(); BallR:()
char = p.Character
hum = char char:()
char hum hum.Health >
boxPos, boxSize, isVisible = (char)
Settings.ESPChams
Highlight.Enabled = ; Highlight.Parent = char; Highlight.Adornee = char
Highlight.Enabled =
isVisible boxPos boxSize
boxSize.X > boxSize.Y > ()
Settings.ESPBox
Box.Visible = ; Box.Position = boxPos; Box.Size = boxSize; Box.Color = Settings.NeonColor
Box.Visible =
Settings.ESPHealth
HealthBar.Visible = ; hp = .(hum.Health / hum.MaxHealth, , )
HealthBar.From = .(boxPos.X - , boxPos.Y + boxSize.Y)
HealthBar.To = .(boxPos.X - , boxPos.Y + boxSize.Y - (boxSize.Y * hp))
HealthBar.Color = .(hp * , , )
HealthBar.Visible =
Settings.ESPNames
NameTag.Visible = ; NameTag.Text = .. p.Name:() ..
NameTag.Position = .(boxPos.X + boxSize.X/, boxPos.Y - )
NameTag.Color = Settings.NameColor
NameTag.Visible =
Settings.ESPSkeleton
i, boneMap (R15_Bones)
SkeletonLines[i]
SkeletonLines[i] = .(); SkeletonLines[i].Thickness = ; SkeletonLines[i].Color = .(, , )
pA, pB = char:(boneMap[]), char:(boneMap[])
pA pB
vA, oA = Camera:(pA.Position); vB, oB = Camera:(pB.Position)
oA oB SkeletonLines[i].From = .(vA.X, vA.Y); SkeletonLines[i].To = .(vB.X, vB.Y); SkeletonLines[i].Visible = SkeletonLines[i].Visible =
SkeletonLines[i].Visible =
root = char:() char:()
root
Shaft.Adornee, Shaft.Parent, Tip.Adornee, Tip.Parent = root, root, root, root
BallL.Adornee, BallL.Parent, BallR.Adornee, BallR.Parent = root, root, root, root
scale = char:().Y /
Shaft.Height = Settings.ShaftLength * scale; Shaft.Radius = Settings.ShaftRadius * scale
Tip.Radius = (Settings.ShaftRadius + ) * scale
BallL.Radius, BallR.Radius = Settings.BallSize * scale, Settings.BallSize * scale
Shaft.CFrame = .(, - * scale, -(Shaft.Height/)); Tip.CFrame = .(, - * scale, -Shaft.Height)
BallL.CFrame = .(- * scale, - * scale, ); BallR.CFrame = .( * scale, - * scale, )
Shaft.Visible, Tip.Visible, BallL.Visible, BallR.Visible = , , ,
()
()
)
_, v (Players:()) .(CreateESP, v)
Players.PlayerAdded:(CreateESP)
Universal