Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
UserInputService = :()
Workspace = :()
CoreGui = :()
HttpService = :()
(serviceName)
success, service = (()
(:(serviceName))
)
success service :(serviceName)
LocalPlayer = Players.LocalPlayer
Camera = Workspace.CurrentCamera
Mouse = LocalPlayer:()
Connections = {}
(connection)
.(Connections, connection)
connection
Config = {
UI = {
ToggleKey = .KeyCode.Insert,
Visible =
},
ESP = {
Enabled = ,
Box = ,
Name = ,
HealthBar = ,
Distance = ,
Chams = ,
Skeleton = ,
TeamCheck = ,
MaxDistance = ,
EnemyColor = .(, , ),
AllyColor = .(, , ),
BehindWall = ,
BehindWallColor = .(, , ),
IgnoreList = {}
}
}
CONFIG_PATH =
()
readfile isfile (CONFIG_PATH)
success, data = (()
HttpService:((CONFIG_PATH))
)
success data
category, values (data)
Config[category]
key, value (values)
(value) == .(value, )
enumType, enumValue = .(value, )
enumType enumValue
enum = [enumType]
enum
Config[category][key] = enum[enumValue]
Config[category][key] = value
()
()
writefile
configToSave = {}
category, values (Config)
configToSave[category] = {}
key, value (values)
(value) ==
configToSave[category][key] = (value)
configToSave[category][key] = value
success, err = (()
(CONFIG_PATH, HttpService:(configToSave))
)
success
()
(, err)
(player)
_, name (Config.ESP.IgnoreList)
name == player.Name
(player, state)
found =
i, name (Config.ESP.IgnoreList)
name == player.Name
found =
state
.(Config.ESP.IgnoreList, i)
state found
.(Config.ESP.IgnoreList, player.Name)
ScreenGui = .()
ScreenGui.Name = .. (.(, ))
ScreenGui.ZIndexBehavior = .ZIndexBehavior.Sibling
ScreenGui.ResetOnSpawn =
ScreenGui.DisplayOrder =
.protect_gui
.(ScreenGui)
ScreenGui.Parent = CoreGui
gethui
ScreenGui.Parent = ()
get_hidden_gui
ScreenGui.Parent = ()
ScreenGui.Parent = CoreGui
MainFrame = .()
MainFrame.Size = .(, , , )
MainFrame.Position = .(, -, , -)
MainFrame.BackgroundColor3 = .(, , )
MainFrame.BorderSizePixel =
MainFrame.Visible = Config.UI.Visible
MainFrame.Parent = ScreenGui
Corner = .()
Corner.CornerRadius = .(, )
Corner.Parent = MainFrame
TitleBar = .()
TitleBar.Size = .(, , , )
TitleBar.BackgroundColor3 = .(, , )
TitleBar.BorderSizePixel =
TitleBar.Parent = MainFrame
TitleCorner = .()
TitleCorner.CornerRadius = .(, )
TitleCorner.Parent = TitleBar
TitleFix = .()
TitleFix.Size = .(, , , )
TitleFix.Position = .(, , , )
TitleFix.BackgroundColor3 = .(, , )
TitleFix.BorderSizePixel =
TitleFix.Parent = TitleBar
TitleText = .()
TitleText.Size = .(, -, , )
TitleText.Position = .(, , , )
TitleText.BackgroundTransparency =
TitleText.Text =
TitleText.TextColor3 = .(, , )
TitleText.TextSize =
TitleText.Font = .Font.GothamBold
TitleText.TextXAlignment = .TextXAlignment.Left
TitleText.Parent = TitleBar
TabContainer = .()
TabContainer.Size = .(, , , -)
TabContainer.Position = .(, , , )
TabContainer.BackgroundColor3 = .(, , )
TabContainer.BorderSizePixel =
TabContainer.Parent = MainFrame
ContentContainer = .()
ContentContainer.Size = .(, -, , -)
ContentContainer.Position = .(, , , )
ContentContainer.BackgroundTransparency =
ContentContainer.Parent = MainFrame
Tabs = {}
CurrentTab =
(name)
TabButton = .()
TabButton.Size = .(, -, , )
TabButton.Position = .(, , , #Tabs * + )
TabButton.BackgroundColor3 = .(, , )
TabButton.Text = name
TabButton.TextColor3 = .(, , )
TabButton.TextSize =
TabButton.Font = .Font.Gotham
TabButton.Parent = TabContainer
TabCorner = .()
TabCorner.CornerRadius = .(, )
TabCorner.Parent = TabButton
TabContent = .()
TabContent.Size = .(, -, , -)
TabContent.Position = .(, , , )
TabContent.BackgroundTransparency =
TabContent.ScrollBarThickness =
TabContent.Visible =
TabContent.Parent = ContentContainer
UIList = .()
UIList.Padding = .(, )
UIList.Parent = TabContent
tab = {
Button = TabButton,
Content = TabContent,
Name = name
}
.(Tabs, tab)
(TabButton.MouseButton1Click:(()
CurrentTab
CurrentTab.Content.Visible =
CurrentTab.Button.BackgroundColor3 = .(, , )
CurrentTab = tab
tab.Content.Visible =
tab.Button.BackgroundColor3 = .(, , )
))
tab
(parent, text, default, callback)
Toggle = .()
Toggle.Size = .(, , , )
Toggle.BackgroundTransparency =
Toggle.Parent = parent
Label = .()
Label.Size = .(, -, , )
Label.BackgroundTransparency =
Label.Text = text
Label.TextColor3 = .(, , )
Label.TextSize =
Label.Font = .Font.Gotham
Label.TextXAlignment = .TextXAlignment.Left
Label.Parent = Toggle
Button = .()
Button.Size = .(, , , )
Button.Position = .(, -, , -)
Button.BackgroundColor3 = default .(, , ) .(, , )
Button.Text = default
Button.TextColor3 = .(, , )
Button.TextSize =
Button.Font = .Font.GothamBold
Button.Parent = Toggle
ButtonCorner = .()
ButtonCorner.CornerRadius = .(, )
ButtonCorner.Parent = Button
(Button.MouseButton1Click:(()
default = default
Button.Text = default
Button.BackgroundColor3 = default .(, , ) .(, , )
(default)
))
Toggle
(parent, text, min, max, default, callback)
SliderFrame = .()
SliderFrame.Size = .(, , , )
SliderFrame.BackgroundTransparency =
SliderFrame.Parent = parent
Label = .()
Label.Size = .(, , , )
Label.BackgroundTransparency =
Label.Text = text .. .. default
Label.TextColor3 = .(, , )
Label.TextSize =
Label.Font = .Font.Gotham
Label.TextXAlignment = .TextXAlignment.Left
Label.Parent = SliderFrame
SliderBG = .()
SliderBG.Size = .(, , , )
SliderBG.Position = .(, , , )
SliderBG.BackgroundColor3 = .(, , )
SliderBG.BorderSizePixel =
SliderBG.Parent = SliderFrame
SliderCorner = .()
SliderCorner.CornerRadius = .(, )
SliderCorner.Parent = SliderBG
SliderFill = .()
SliderFill.Size = .((default - min) / (max - min), , , )
SliderFill.BackgroundColor3 = .(, , )
SliderFill.BorderSizePixel =
SliderFill.Parent = SliderBG
SliderFillCorner = .()
SliderFillCorner.CornerRadius = .(, )
SliderFillCorner.Parent = SliderFill
dragging =
(input)
pos = .((input.Position.X - SliderBG.AbsolutePosition.X) / SliderBG.AbsoluteSize.X, , )
value = .(min + (max - min) * pos)
SliderFill.Size = .(pos, , , )
Label.Text = text .. .. value
(value)
(SliderBG.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
(input)
))
(UserInputService.InputChanged:((input)
dragging input.UserInputType == .UserInputType.MouseMovement
(input)
))
(UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
))
SliderFrame
(parent, text, defaultColor, callback)
Picker = .()
Picker.Size = .(, , , )
Picker.BackgroundTransparency =
Picker.Parent = parent
Label = .()
Label.Size = .(, -, , )
Label.BackgroundTransparency =
Label.Text = text
Label.TextColor3 = .(, , )
Label.TextSize =
Label.Font = .Font.Gotham
Label.TextXAlignment = .TextXAlignment.Left
Label.Parent = Picker
ColorButton = .()
ColorButton.Size = .(, , , )
ColorButton.Position = .(, -, , -)
ColorButton.BackgroundColor3 = defaultColor
ColorButton.Text =
ColorButton.Parent = Picker
ColorCorner = .()
ColorCorner.CornerRadius = .(, )
ColorCorner.Parent = ColorButton
colors = {
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , ),
.(, , )
}
current =
i, c (colors)
c == defaultColor
current = i
(ColorButton.MouseButton1Click:(()
current = current % #colors +
ColorButton.BackgroundColor3 = colors[current]
(colors[current])
))
Picker
(parent, text, defaultKey, callback)
Keybind = .()
Keybind.Size = .(, , , )
Keybind.BackgroundTransparency =
Keybind.Parent = parent
Label = .()
Label.Size = .(, -, , )
Label.BackgroundTransparency =
Label.Text = text
Label.TextColor3 = .(, , )
Label.TextSize =
Label.Font = .Font.Gotham
Label.TextXAlignment = .TextXAlignment.Left
Label.Parent = Keybind
Button = .()
Button.Size = .(, , , )
Button.Position = .(, -, , -)
Button.BackgroundColor3 = .(, , )
Button.Text = defaultKey defaultKey.Name
Button.TextColor3 = .(, , )
Button.TextSize =
Button.Font = .Font.Gotham
Button.Parent = Keybind
ButtonCorner = .()
ButtonCorner.CornerRadius = .(, )
ButtonCorner.Parent = Button
listening =
(Button.MouseButton1Click:(()
listening =
Button.Text =
Button.BackgroundColor3 = .(, , )
))
(UserInputService.InputBegan:((input)
listening input.UserInputType == .UserInputType.Keyboard
listening =
Button.Text = input.KeyCode.Name
Button.BackgroundColor3 = .(, , )
(input.KeyCode)
))
Keybind
(parent, text, color, callback)
ButtonFrame = .()
ButtonFrame.Size = .(, , , )
ButtonFrame.BackgroundTransparency =
ButtonFrame.Parent = parent
Button = .()
Button.Size = .(, , , )
Button.Position = .(, , , -)
Button.BackgroundColor3 = color .(, , )
Button.Text = text
Button.TextColor3 = .(, , )
Button.TextSize =
Button.Font = .Font.GothamBold
Button.Parent = ButtonFrame
ButtonCorner = .()
ButtonCorner.CornerRadius = .(, )
ButtonCorner.Parent = Button
(Button.MouseButton1Click:(callback))
ButtonFrame
VisualsTab = ()
PlayersTab = ()
SettingsTab = ()
(VisualsTab.Content, , Config.ESP.Enabled, (v) Config.ESP.Enabled = v )
(VisualsTab.Content, , Config.ESP.Box, (v) Config.ESP.Box = v )
(VisualsTab.Content, , Config.ESP.Name, (v) Config.ESP.Name = v )
(VisualsTab.Content, , Config.ESP.HealthBar, (v) Config.ESP.HealthBar = v )
(VisualsTab.Content, , Config.ESP.Distance, (v) Config.ESP.Distance = v )
(VisualsTab.Content, , Config.ESP.Chams, (v) Config.ESP.Chams = v )
(VisualsTab.Content, , Config.ESP.Skeleton, (v) Config.ESP.Skeleton = v )
(VisualsTab.Content, , Config.ESP.TeamCheck, (v) Config.ESP.TeamCheck = v )
(VisualsTab.Content, , Config.ESP.BehindWall, (v) Config.ESP.BehindWall = v )
(VisualsTab.Content, , , , Config.ESP.MaxDistance, (v) Config.ESP.MaxDistance = v )
(VisualsTab.Content, , Config.ESP.EnemyColor, (v) Config.ESP.EnemyColor = v )
(VisualsTab.Content, , Config.ESP.AllyColor, (v) Config.ESP.AllyColor = v )
(VisualsTab.Content, , Config.ESP.BehindWallColor, (v) Config.ESP.BehindWallColor = v )
(SettingsTab.Content, , Config.UI.ToggleKey, (v) Config.UI.ToggleKey = v )
(SettingsTab.Content, , .(, , ), () () )
(SettingsTab.Content, , .(, , ), () () )
(SettingsTab.Content, , .(, , ), () () )
PlayerListHolder = .()
PlayerListHolder.Size = .(, , , )
PlayerListHolder.AutomaticSize = .AutomaticSize.Y
PlayerListHolder.BackgroundTransparency =
PlayerListHolder.Parent = PlayersTab.Content
PlayerListLayout = .()
PlayerListLayout.Padding = .(, )
PlayerListLayout.Parent = PlayerListHolder
PlayerRows = {}
()
player, row (PlayerRows)
player.Parent
row:()
PlayerRows[player] =
_, player (Players:())
player ~= LocalPlayer PlayerRows[player]
Row = .()
Row.Size = .(, , , )
Row.BackgroundTransparency =
Row.Parent = PlayerListHolder
NameLabel = .()
NameLabel.Size = .(, -, , )
NameLabel.BackgroundTransparency =
NameLabel.Text = player.Name
NameLabel.TextColor3 = .(, , )
NameLabel.TextSize =
NameLabel.Font = .Font.Gotham
NameLabel.TextXAlignment = .TextXAlignment.Left
NameLabel.Parent = Row
ignored = (player)
Btn = .()
Btn.Size = .(, , , )
Btn.Position = .(, -, , -)
Btn.BackgroundColor3 = ignored .(, , ) .(, , )
Btn.Text = ignored
Btn.TextColor3 = .(, , )
Btn.TextSize =
Btn.Font = .Font.GothamBold
Btn.Parent = Row
BtnCorner = .()
BtnCorner.CornerRadius = .(, )
BtnCorner.Parent = Btn
(Btn.MouseButton1Click:(()
nowIgnored = (player)
(player, nowIgnored)
Btn.Text = nowIgnored
Btn.BackgroundColor3 = nowIgnored .(, , ) .(, , )
))
PlayerRows[player] = Row
()
(Players.PlayerAdded:(() .() () ))
(Players.PlayerRemoving:(() .() () ))
Tabs[].Button.BackgroundColor3 = .(, , )
CurrentTab = Tabs[]
CurrentTab.Content.Visible =
dragging =
dragInput =
dragStart =
startPos =
(TitleBar.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
dragStart = input.Position
startPos = MainFrame.Position
))
(TitleBar.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement
dragInput = input
))
(UserInputService.InputChanged:((input)
dragging input == dragInput
delta = input.Position - dragStart
MainFrame.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
))
(UserInputService.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
))
(UserInputService.InputBegan:((input)
input.UserInputType == .UserInputType.Keyboard input.KeyCode == Config.UI.ToggleKey
Config.UI.Visible = Config.UI.Visible
MainFrame.Visible = Config.UI.Visible
Config.UI.Visible
UserInputService.MouseBehavior = .MouseBehavior.Default
UserInputService.MouseIconEnabled =
))
(player)
player.Character
(character)
character:()
(character)
humanoid = (character)
humanoid humanoid.Health >
(player)
LocalPlayer.Team
player.Team == LocalPlayer.Team
(pos1, pos2)
(pos1 - pos2).Magnitude
(position)
screenPos, onScreen = Camera:(position)
.(screenPos.X, screenPos.Y), onScreen, screenPos.Z
(player)
player == LocalPlayer
(player)
character = (player)
character
(character)
raycastParams = RaycastParams.()
(() raycastParams.FilterType = .RaycastFilterType.Exclude )
(() raycastParams.FilterType = .RaycastFilterType.Blacklist )
raycastParams.IgnoreWater =
(character)
targetPart = character:() character:()
targetPart
filter = {}
LocalPlayer.Character
filter = {LocalPlayer.Character}
raycastParams.FilterDescendantsInstances = filter
origin = Camera.CFrame.Position
direction = targetPart.Position - origin
result = Workspace:(origin, direction, raycastParams)
result
result.Instance result.Instance:(character)
SKELETON_R15 = {
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
{, },
}
SKELETON_R6 = {
{, },
{, },
{, },
{, },
{, },
}
(character)
humanoid = (character)
humanoid humanoid.RigType == .HumanoidRigType.R15
SKELETON_R15
SKELETON_R6
(, properties)
drawing = .()
prop, value (properties)
(()
drawing[prop] = value
)
drawing
ESPObjects = {}
(player)
ESPObjects[player]
ESPObjects[player] = {
Box = (, {Thickness = , Filled = , Visible = }),
Name = (, {Size = , Center = , Outline = , Visible = }),
HealthBar = (, {Thickness = , Filled = , Visible = }),
HealthBarOutline = (, {Thickness = , Filled = , Visible = }),
Distance = (, {Size = , Center = , Outline = , Visible = }),
Skeleton = {},
Cham =
}
ESPObjects[player]
(player)
ESPObjects[player]
obj = ESPObjects[player]
(() obj.Box:() )
(() obj.Name:() )
(() obj.HealthBar:() )
(() obj.HealthBarOutline:() )
(() obj.Distance:() )
_, line (obj.Skeleton)
(() line:() )
obj.Cham
(() obj.Cham:() )
ESPObjects[player] =
(player, character, color)
Config.ESP.Chams
ESPObjects[player] ESPObjects[player].Cham
(() ESPObjects[player].Cham:() )
ESPObjects[player].Cham =
obj = (player)
obj.Cham obj.Cham.Parent ~= character
(()
obj.Cham obj.Cham:()
)
obj.Cham = .()
obj.Cham.DepthMode = .HighlightDepthMode.AlwaysOnTop
obj.Cham obj.Cham.Parent ~= character
obj.Cham.Parent = character
obj.Cham
obj.Cham.FillColor = color
obj.Cham.OutlineColor = color
obj.Cham.FillTransparency =
obj.Cham.OutlineTransparency =
(player, character, color)
obj = (player)
Config.ESP.Skeleton
_, line (obj.Skeleton)
line.Visible =
joints = (character)
#obj.Skeleton < #joints
.(obj.Skeleton, (, {Thickness = , Visible = }))
i = #joints + , #obj.Skeleton
obj.Skeleton[i].Visible =
i, joint (joints)
line = obj.Skeleton[i]
partA = character:(joint[])
partB = character:(joint[])
partA partB
posA, onA = (partA.Position)
posB, onB = (partB.Position)
onA onB
line.From = posA
line.To = posB
line.Color = color
line.Thickness =
line.Visible =
line.Visible =
line.Visible =
()
stale = {}
player (ESPObjects)
player.Parent Players:(player.Name) player ~= Players:(player.Name)
.(stale, player)
_, player (stale)
(player)
player, obj (ESPObjects)
obj.Cham
obj.Cham.Enabled = Config.ESP.Chams
Config.ESP.Enabled
player, obj (ESPObjects)
obj.Box.Visible =
obj.Name.Visible =
obj.HealthBar.Visible =
obj.HealthBarOutline.Visible =
obj.Distance.Visible =
_, line (obj.Skeleton)
line.Visible =
_, player (Players:())
(player)
character = (player)
humanoid = (character)
rootPart = character:()
rootPart
(player)
isEnemy = (player)
Config.ESP.TeamCheck isEnemy
(player)
pos = rootPart.Position
screenPos, onScreen, depth = (pos)
distance = (Camera.CFrame.Position, pos)
distance > Config.ESP.MaxDistance onScreen depth <
(player)
obj = (player)
color = isEnemy Config.ESP.EnemyColor Config.ESP.AllyColor
Config.ESP.BehindWall
(character)
color = Config.ESP.BehindWallColor
minVec, maxVec = .(.huge, .huge, .huge), .(-.huge, -.huge, -.huge)
_, part (character:())
part:()
min, max = part.Position - part.Size/, part.Position + part.Size/
minVec = .(.(minVec.X, min.X), .(minVec.Y, min.Y), .(minVec.Z, min.Z))
maxVec = .(.(maxVec.X, max.X), .(maxVec.Y, max.Y), .(maxVec.Z, max.Z))
corner1 = (.(minVec.X, maxVec.Y, minVec.Z))
corner2 = (.(maxVec.X, maxVec.Y, minVec.Z))
corner3 = (.(minVec.X, maxVec.Y, maxVec.Z))
corner4 = (.(maxVec.X, maxVec.Y, maxVec.Z))
corner5 = (.(minVec.X, minVec.Y, minVec.Z))
corner8 = (.(maxVec.X, minVec.Y, maxVec.Z))
width = .(.(corner1.X - corner2.X), .(corner3.X - corner4.X), .(corner5.X - corner8.X))
height = .(.(corner1.Y - corner5.Y), .(corner2.Y - corner8.Y))
boxX = screenPos.X - width/
boxY = screenPos.Y - height/
obj.Box.Visible = Config.ESP.Box
obj.Box.Size = .(width, height)
obj.Box.Position = .(boxX, boxY)
obj.Box.Color = color
obj.Name.Visible = Config.ESP.Name
obj.Name.Text = player.Name
obj.Name.Position = .(screenPos.X, boxY - )
obj.Name.Color = color
Config.ESP.HealthBar humanoid
healthPercent = .(humanoid.Health / humanoid.MaxHealth, , )
barHeight = height * healthPercent
barX = boxX -
barY = boxY + height - barHeight
obj.HealthBarOutline.Visible =
obj.HealthBarOutline.Size = .(, height)
obj.HealthBarOutline.Position = .(barX - , boxY)
obj.HealthBarOutline.Color = .(, , )
obj.HealthBar.Visible =
obj.HealthBar.Size = .(, barHeight)
obj.HealthBar.Position = .(barX, barY)
obj.HealthBar.Color = .( - healthPercent, healthPercent, )
obj.HealthBar.Visible =
obj.HealthBarOutline.Visible =
obj.Distance.Visible = Config.ESP.Distance
obj.Distance.Text = .(distance) ..
obj.Distance.Position = .(screenPos.X, boxY + height + )
obj.Distance.Color = color
(player, character, color)
(player, character, color)
(player)
(RunService.RenderStepped:(UpdateESP))
(Players.PlayerRemoving:((player)
(player)
))
()
_, conn (Connections)
(() conn:() )
Connections = {}
player, obj (ESPObjects)
(() obj.Box:() )
(() obj.Name:() )
(() obj.HealthBar:() )
(() obj.HealthBarOutline:() )
(() obj.Distance:() )
_, line (obj.Skeleton)
(() line:() )
obj.Cham
(() obj.Cham:() )
ESPObjects = {}
ScreenGui
(() ScreenGui:() )
()
()
( .. Config.UI.ToggleKey.Name .. )
Universal