Run it
Copy the script and paste it into your executor.
().DrawESP_Executed
().DrawESP_Executed =
UIS = :()
RunService = :()
Players = :()
HttpService = :()
LocalPlayer = Players.LocalPlayer
Camera = .CurrentCamera
ConfigFile =
Settings = {
Enabled = ,
Box = ,
Name = ,
Health = ,
Skele = ,
Look = ,
BoxColor = {, , },
NameColor = {, , },
SkeleColor = {, , },
LookColor = {, , },
MenuPos = {X = , Y = },
Visible = ,
MenuKey = .KeyCode.RightShift
}
ColorMap = {
Red = {, , },
Green = {, , },
Blue = {, , },
Black = {, , },
White = {, , }
}
()
(() (ConfigFile, HttpService:(Settings)) )
(()
(ConfigFile)
data = HttpService:((ConfigFile))
k, v (data) Settings[k] = v
)
UI_Registry = {}
(, props)
obj = .()
i, v (props) obj[i] = v
.(UI_Registry, obj)
obj
MainBG = (, {Thickness = , Filled = , Color = .(, , ), Transparency = , Size = .(, )})
Header = (, {Thickness = , Filled = , Color = .(, , ), Transparency = , Size = .(, )})
Title = (, {Size = , Center = , Outline = , Color = .(, , ), Text = })
KillBtn = (, {Size = , Center = , Outline = , Color = .(, , ), Text = })
EraseBtn = (, {Size = , Center = , Outline = , Color = .(, , ), Text = })
Rows = {}
Items = {
{, },
{, , },
{, , },
{, },
{, , },
{, , }
}
i, item (Items)
row = {
Label = (, {Size = , Outline = , Color = .(, , ), Text = item[]}),
Status = (, {Size = , Outline = }),
Colors = {},
Key = item[],
CKey = item[]
}
item[]
name, _ (ColorMap)
row.Colors[name] = (, {Size = .(, ), Filled = , Thickness = })
Rows[i] = row
()
Base = .(Settings.MenuPos.X, Settings.MenuPos.Y)
MainBG.Position = Base
MainBG.Visible = Settings.Visible
Header.Position = Base
Header.Visible = Settings.Visible
Title.Position = Base + .(, )
Title.Visible = Settings.Visible
KillBtn.Position = Base + .(, )
KillBtn.Visible = Settings.Visible
EraseBtn.Position = Base + .(, )
EraseBtn.Visible = Settings.Visible
i, row (Rows)
YOff = + (i * )
row.Label.Visible = Settings.Visible
row.Label.Position = Base + .(, YOff)
row.Status.Visible = Settings.Visible
row.Status.Position = Base + .(, YOff)
row.Status.Text = Settings[row.Key]
row.Status.Color = Settings[row.Key] .(, , ) .(, , )
dotX =
name, dot (row.Colors)
dot.Visible = Settings.Visible
dot.Position = Base + .(dotX, YOff + )
dot.Color = .((ColorMap[name]))
dotX = dotX +
ESP_Map = {}
(p)
d = {
Box = .(),
Name = .(),
HBack = .(),
HMain = .(),
Look = .(),
Skele = {}
}
d.Box.Thickness =
d.Name.Size = d.Name.Center = d.Name.Outline =
d.HBack.Filled = d.HBack.Transparency =
d.HMain.Filled =
i=, .(d.Skele, .())
ESP_Map[p] = d
(p)
ESP_Map[p]
_, v (ESP_Map[p])
(v) == _, l (v) l:() v:()
ESP_Map[p] =
R15 = {{,},{,},{,},{,},{,},{,},{,},{,},{,},{,}}
R6 = {{,},{,},{,},{,},{,}}
Dragging, DragStart = , .()
RenderConn
UIS.InputBegan:((input)
input.KeyCode == Settings.MenuKey Settings.Visible = Settings.Visible
Settings.Visible input.UserInputType == .UserInputType.MouseButton1
Mouse = UIS:()
Base = .(Settings.MenuPos.X, Settings.MenuPos.Y)
Mouse.X > Base.X Mouse.X < Base.X + Mouse.Y > Base.Y Mouse.Y < Base.Y +
Dragging = DragStart = Base - Mouse
Mouse.X > Base.X + Mouse.X < Base.X + Mouse.Y > Base.Y + Mouse.Y < Base.Y +
RenderConn RenderConn:()
p, _ (ESP_Map) (p)
_, obj (UI_Registry) obj:()
().DrawESP_Executed =
Mouse.X > Base.X + Mouse.X < Base.X + Mouse.Y > Base.Y + Mouse.Y < Base.Y +
(() (ConfigFile) )
i, row (Rows)
Y = Base.Y + + (i * )
Mouse.Y > Y Mouse.Y < Y +
Mouse.X > Base.X + Mouse.X < Base.X +
Settings[row.Key] = Settings[row.Key]
()
dotX =
name, _ (row.Colors)
Mouse.X > Base.X + dotX Mouse.X < Base.X + dotX +
Settings[row.CKey] = ColorMap[name]
()
dotX = dotX +
)
UIS.InputEnded:((i) i.UserInputType == .UserInputType.MouseButton1 Dragging = )
RenderConn = RunService.RenderStepped:(()
Dragging
Mouse = UIS:()
Settings.MenuPos = {X = Mouse.X + DragStart.X, Y = Mouse.Y + DragStart.Y}
()
p, d (ESP_Map)
char = p.Character
hum = char char:()
root = char char:()
Settings.Enabled char hum root hum.Health >
pos, on = Camera:(root.Position)
on
head = char:()
hTop = Camera:(head.Position + .(, , ))
lBot = Camera:(root.Position - .(, , ))
h, w = .(hTop.Y - lBot.Y), .(hTop.Y - lBot.Y) /
d.Box.Visible = Settings.Box
d.Box.Size = .(w, h)
d.Box.Position = .(pos.X - w/, pos.Y - h/)
d.Box.Color = .((Settings.BoxColor))
d.Name.Visible = Settings.Name
d.Name.Text = p.Name
d.Name.Position = .(pos.X, pos.Y - h/ - )
d.Name.Color = .((Settings.NameColor))
Settings.Health
hp = hum.Health / hum.MaxHealth
d.HBack.Visible, d.HMain.Visible = ,
d.HBack.Size = .(, h)
d.HBack.Position = .(pos.X - w/ - , pos.Y - h/)
d.HMain.Size = .(, h * hp)
d.HMain.Position = .(pos.X - w/ - , (pos.Y + h/) - (h * hp))
d.HMain.Color = .(hp * , , )
d.HBack.Visible, d.HMain.Visible = ,
Settings.Look
s, o1 = Camera:(head.Position)
e, o2 = Camera:(head.Position + head.CFrame.LookVector * )
d.Look.Visible = o1 o2
d.Look.From, d.Look.To = .(s.X, s.Y), .(e.X, e.Y)
d.Look.Color = .((Settings.LookColor))
d.Look.Visible =
Settings.Skele
bones = hum.RigType == .HumanoidRigType.R15 R15 R6
i, b (bones)
p1, p2 = char:(b[]), char:(b[])
p1 p2
v1, on1 = Camera:(p1.Position)
v2, on2 = Camera:(p2.Position)
d.Skele[i].Visible = on1 on2
d.Skele[i].From, d.Skele[i].To = .(v1.X, v1.Y), .(v2.X, v2.Y)
d.Skele[i].Color = .((Settings.SkeleColor))
_, l (d.Skele) l.Visible =
_, obj (d) (obj)== _, l (obj) l.Visible= obj.Visible=
_, obj (d) (obj)== _, l (obj) l.Visible= obj.Visible=
)
_, p (Players:()) p ~= LocalPlayer (p)
Players.PlayerAdded:(CreateESP)
Players.PlayerRemoving:(RemoveESP)Just toggle,boxes,names,health bar,skeletons and look vector. Also requires a Drawing library like https://potassium.gitbook.io/api/environment/drawing .

Universal