Run it
Copy the script and paste it into your executor.
Players = :()
UIS = :()
TS = :()
RS = :()
LP = Players.LocalPlayer
rgb, udim, offset = .fromRGB, .new, .fromOffset
white = .(, , )
inkCol = (, , )
bgCol, lineCol, accent, offCol = (, , ), (, , ), (, , ), (, , )
cartoon = .Font.FredokaOne
fast = TweenInfo.()
popTi = TweenInfo.(, .EasingStyle.Quint, .EasingDirection.Out)
sizes = {main = , settings = }
pieceKeys = {, , , }
espColor = (, , )
teamColor = (, , )
isOn, hlOn, unOn, tnOn, boxOn, tracerOn, teamOn = , , , , , ,
isOpen, curTab = ,
espData, woahjConns, pickers = {}, {}, {}
addConn, remConn, lineConn, lpTeamConn
onMove, held
woahj
presetColors = {(, , ), (, , ), (, , ), (, , ), (, , ), (, , ), (, , ), (, , )}
moveConn = UIS.InputChanged:((m)
onMove (m.UserInputType == .UserInputType.MouseMovement m.UserInputType == .UserInputType.Touch)
(m)
)
endConn = UIS.InputEnded:((i)
held (i == held (i.UserInputType == .UserInputType.MouseButton1 held.UserInputType == .UserInputType.MouseButton1))
onMove, held = ,
)
(i)
i.UserInputType == .UserInputType.MouseButton1 i.UserInputType == .UserInputType.Touch
(i, fn)
held = i
onMove = (m)
m == i m.UserInputType == .UserInputType.MouseMovement
(m)
(class, props, par)
o = .(class)
k, val props
o[k] = val
o.Parent = par
o
(o, a, b)
(, {CornerRadius = .(a, b )}, o)
(o, c, t, tr)
(, {Color = c, Thickness = t , Transparency = tr }, o)
(par, pos)
b = (, {AnchorPoint = .(, ), Size = (, ), Position = pos, BackgroundColor3 = offCol, Text = , AutoButtonColor = , BorderSizePixel = }, par)
k = (, {Size = (, ), Position = (, , , -), BackgroundColor3 = white, BorderSizePixel = }, b)
(b, )
(k, )
b, k
(b, k, state, instant)
col = state accent offCol
pos = state (, -, , -) (, , , -)
instant
b.BackgroundColor3 = col
k.Position = pos
TS:(b, fast, {BackgroundColor3 = col}):()
TS:(k, fast, {Position = pos}):()
(par, txt, pos)
(, {AnchorPoint = .(, ), Size = (, ), Position = pos, BackgroundTransparency = , Text = txt, Font = cartoon, TextSize = , TextColor3 = (, , ), TextXAlignment = .TextXAlignment.Left}, par)
(par, z, col)
k = (, {AnchorPoint = .(, ), Size = (, ), BackgroundColor3 = col, BorderSizePixel = , ZIndex = z}, par)
(k, )
(k, inkCol, )
k
(player)
teamOn player.Team ~= LP.Team
teamColor
espColor
(player)
player.Team player.Team.Name
gui = (, {Name = , ResetOnSpawn = , IgnoreGuiInset = , DisplayOrder = , ZIndexBehavior = .ZIndexBehavior.Sibling})
tracerGui = (, {Name = , ResetOnSpawn = , IgnoreGuiInset = , DisplayOrder = , ZIndexBehavior = .ZIndexBehavior.Sibling})
idkFolder = (, {}, gui)
frame = (, {Size = (, sizes.main), Position = (, -, , ), BackgroundColor3 = bgCol, BorderSizePixel = , Visible = }, gui)
head = (, {Size = (, -, , ), BackgroundTransparency = }, frame)
content = (, {Size = (, , , -), Position = (, ), BackgroundTransparency = }, frame)
tabRow = (, {Size = (, , , ), BackgroundTransparency = }, content)
tabMain = (, {Size = (, ), Position = (, ), BackgroundColor3 = accent, Text = , Font = cartoon, TextSize = , TextColor3 = white, AutoButtonColor = , BorderSizePixel = }, tabRow)
tabSet = (, {Size = (, ), Position = (, ), BackgroundColor3 = (, , ), Text = , Font = cartoon, TextSize = , TextColor3 = (, , ), AutoButtonColor = , BorderSizePixel = }, tabRow)
mainBody = (, {Size = (, , , ), Position = (, ), BackgroundTransparency = }, content)
setBody = (, {Size = (, , , ), Position = (, ), BackgroundTransparency = , BorderSizePixel = , CanvasSize = (, ), ScrollBarThickness = , ScrollBarImageColor3 = (, , ), ScrollingDirection = .ScrollingDirection.Y, Active = , Visible = }, content)
toggleBtn, knob = (mainBody, (, , , ))
teamBtn, teamKnob = (mainBody, (, , , ))
hlBtn, hlKnob = (setBody, (, -, , ))
unBtn, unKnob = (setBody, (, -, , ))
tnBtn, tnKnob = (setBody, (, -, , ))
boxBtn, boxKnob = (setBody, (, -, , ))
trBtn, trKnob = (setBody, (, -, , ))
welcome = (, {Name = , Size = (, ), Position = (, -, , -), BackgroundColor3 = (, , ), BorderSizePixel = , ZIndex = }, gui)
welcomeTitle = (, {Size = (, -, , ), Position = (, ), BackgroundTransparency = , Text = , TextColor3 = white, Font = .Font.Cartoon, TextSize = , TextXAlignment = .TextXAlignment.Center, ZIndex = }, welcome)
welcomeLink = (, {Size = (, -, , ), Position = (, ), BackgroundTransparency = , Text = , TextColor3 = white, Font = .Font.Cartoon, TextSize = , TextWrapped = , TextXAlignment = .TextXAlignment.Center, ZIndex = }, welcome)
okBtn = (, {Size = (, ), Position = (, -, , -), BackgroundColor3 = (, , ), BorderSizePixel = , Text = , TextColor3 = white, Font = .Font.Cartoon, TextSize = , AutoButtonColor = , ZIndex = }, welcome)
(txt, x, size)
b = (, {Size = (, ), Position = (, x, , ), BackgroundColor3 = (, , ), Text = txt, Font = cartoon, TextSize = size, TextColor3 = (, , ), BorderSizePixel = }, frame)
(b, )
b
minimizeBtn, closeBtn = (, -, ), (, -, )
(, {Size = (, -, , ), Position = (, ), BackgroundTransparency = , Text = , Font = cartoon, TextSize = , TextColor3 = inkCol, TextXAlignment = .TextXAlignment.Left}, head)
(mainBody, , (, , , ))
(mainBody, , (, , , ))
(setBody, , (, , , ))
(setBody, , (, , , ))
(setBody, , (, , , ))
(setBody, , (, , , ))
(setBody, , (, , , ))
(frame, , )
(frame, lineCol)
(tabMain, , )
(tabSet, , )
(welcome, , )
(welcome, (, , ), )
(okBtn, , )
(hlBtn, hlKnob, hlOn, )
(unBtn, unKnob, unOn, )
ok = (()
par = (gethui ()) :()
gui.Parent = par
tracerGui.Parent = par
)
ok
gui.Parent = LP:()
tracerGui.Parent = LP:()
(par, pos, startColor, onChange)
api = {}
h, s, v = startColor:()
color = startColor
open, queued = ,
swatch = (, {AnchorPoint = .(, ), Size = (, ), Position = pos, BackgroundColor3 = color, Text = , AutoButtonColor = , BorderSizePixel = }, par)
pop = (, {AnchorPoint = .(, ), Size = (, ), Position = (, , , ), BackgroundColor3 = bgCol, BorderSizePixel = , Visible = }, frame)
popBase = (pop, (, , ), )
popStroke = (pop, white, )
popGrad = (, {Transparency = NumberSequence.({
NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, ),
NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, ), NumberSequenceKeypoint.(, ),
})}, popStroke)
popScale = (, {}, pop)
svBox = (, {Size = (, ), Position = (, ), BackgroundColor3 = white, BorderSizePixel = , Active = }, pop)
svGrad = (, {}, svBox)
darkOverlay = (, {Size = .(, ), BackgroundColor3 = .(, , ), BorderSizePixel = , ZIndex = }, svBox)
hueSlider = (, {Size = (, ), Position = (, ), BackgroundTransparency = , Active = }, pop)
hueBar = (, {Size = (, , , ), Position = (, , , -), BackgroundColor3 = white, BorderSizePixel = }, hueSlider)
previewDot = (, {Size = (, ), Position = (, ), BackgroundColor3 = color, BorderSizePixel = }, pop)
rgbInput = (, {Size = (, ), Position = (, ), BackgroundColor3 = (, , ), BorderSizePixel = , Font = cartoon, TextSize = , TextColor3 = inkCol, PlaceholderText = , PlaceholderColor3 = (, , ), ClearTextOnFocus = , Text = }, pop)
svKnob, hueKnob = (svBox, , color), (hueSlider, , color)
inputStroke = (rgbInput, lineCol, )
spinTween = TS:(popGrad, TweenInfo.(, .EasingStyle.Linear, .EasingDirection.In, -), {Rotation = })
(, {Transparency = NumberSequence.(, ), Rotation = }, darkOverlay)
(, {Color = ColorSequence.({
ColorSequenceKeypoint.(, (, , )), ColorSequenceKeypoint.( / , (, , )), ColorSequenceKeypoint.( / , (, , )),
ColorSequenceKeypoint.( / , (, , )), ColorSequenceKeypoint.( / , (, , )), ColorSequenceKeypoint.( / , (, , )), ColorSequenceKeypoint.(, (, , )),
})}, hueBar)
(swatch, , )
(swatch, inkCol, , )
(pop, , )
(svBox, , )
(darkOverlay, , )
(hueBar, )
(previewDot, )
(previewDot, inkCol, , )
(rgbInput, , )
()
color = .(h, s, v)
swatch.BackgroundColor3 = color
previewDot.BackgroundColor3 = color
svKnob.BackgroundColor3 = color
hueKnob.BackgroundColor3 = .(h, , )
svGrad.Color = ColorSequence.(white, .(h, , ))
popGrad.Color = ColorSequence.({
ColorSequenceKeypoint.(, accent), ColorSequenceKeypoint.(, color), ColorSequenceKeypoint.(, accent),
ColorSequenceKeypoint.(, color), ColorSequenceKeypoint.(, accent),
})
svKnob.Position = .(s, - v)
hueKnob.Position = .(h, )
rgbInput.Text = .(, .(color.R * ), .(color.G * ), .(color.B * ))
()
queued
queued =
.(()
queued =
()
(color)
)
i, c presetColors
chip = (, {Size = (, ), Position = ( + (i - ) * , ), BackgroundColor3 = c, Text = , AutoButtonColor = , BorderSizePixel = }, pop)
(chip, )
(chip, inkCol, , )
chip.Activated:(()
h, s, v = c:()
()
)
(i, name)
name ==
s = .((i.Position.X - svBox.AbsolutePosition.X) / svBox.AbsoluteSize.X, , )
v = - .((i.Position.Y - svBox.AbsolutePosition.Y) / svBox.AbsoluteSize.Y, , )
h = .((i.Position.X - hueSlider.AbsolutePosition.X) / hueSlider.AbsoluteSize.X, , )
()
(fr, name)
fr.InputBegan:((i)
(i)
(i, name)
(i, (m)
(m, name)
)
)
(svBox, )
(hueSlider, )
rgbInput.Focused:(()
TS:(inputStroke, fast, {Color = accent}):()
)
rgbInput.FocusLost:(()
TS:(inputStroke, fast, {Color = lineCol}):()
r, g, b = rgbInput.Text:()
r
h, s, v = (.((r), , ), .((g), , ), .((b), , )):()
()
)
(state)
open = state
state
_, p pickers
p ~= api
p.()
pop.Visible =
popScale.Scale =
pop.Position = (, , , -)
popStroke.Transparency =
popBase.Transparency =
popGrad.Rotation =
TS:(popScale, popTi, {Scale = }):()
TS:(pop, popTi, {Position = (, , , )}):()
TS:(popStroke, popTi, {Transparency = }):()
TS:(popBase, popTi, {Transparency = }):()
spinTween:()
pop.Visible =
spinTween:()
swatch.Activated:(()
( open)
)
api.close = ()
()
.(pickers, api)
()
api
mainPicker = (mainBody, (, , , ), espColor, (c)
espColor = c
()
)
teamPicker = (mainBody, (, , , ), teamColor, (c)
teamColor = c
()
)
()
_, p pickers
p.()
woahj = ()
player, d espData
c = (player)
d.hl
d.hl.FillColor = c
d.hl.OutlineColor = c
d.tag
d.tag.TextColor3 = c
d.teamTag
d.teamTag.TextColor3 = c
d.boxStroke
d.boxStroke.Color = c
d.line
d.line.BackgroundColor3 = c
lpTeamConn = LP:():(()
()
)
(b, active)
TS:(b, fast, {BackgroundColor3 = active accent (, , ), TextColor3 = active white (, , )}):()
(name)
curTab = name
mainBody.Visible = name ==
setBody.Visible = name ==
()
(tabMain, name == )
(tabSet, name == )
isOpen
TS:(frame, fast, {Size = (, sizes[name])}):()
(player)
d = espData[player]
d
_, k pieceKeys
d[k]
d[k]:()
espData[player] =
(player)
d = espData[player]
d
c = (player)
isOn hlOn
d.hl
d.hl = (, {Adornee = d.char, FillColor = c, OutlineColor = c, FillTransparency = , DepthMode = .HighlightDepthMode.AlwaysOnTop}, idkFolder)
d.hl
d.hl:()
d.hl =
key = (isOn unOn ) + (isOn tnOn )
key ~= d.key (key == d.hd)
d.bb
d.bb:()
d.bb, d.tag, d.teamTag = , ,
d.key = key
key >
both = key ==
d.bb = (, {Adornee = d.hd, Size = (, both ), StudsOffset = .(, both , ), AlwaysOnTop = }, idkFolder)
key >=
d.teamTag = (, {Size = (, , , ), BackgroundTransparency = , Text = (player), Font = cartoon, TextSize = , TextColor3 = c, TextStrokeTransparency = }, d.bb)
key % ==
d.tag = (, {Size = (, , , ), Position = (, both ), BackgroundTransparency = , Text = player.DisplayName, Font = cartoon, TextSize = , TextColor3 = c, TextStrokeTransparency = }, d.bb)
isOn boxOn
d.root d.boxGui
d.boxGui = (, {Adornee = d.root, Size = .(, , , ), AlwaysOnTop = }, idkFolder)
d.boxStroke = ((, {Size = .(, ), BackgroundTransparency = }, d.boxGui), c, )
d.boxGui
d.boxGui:()
d.boxGui, d.boxStroke = ,
isOn tracerOn
d.root d.line
d.line = (, {AnchorPoint = .(, ), Size = (, ), BackgroundColor3 = c, BorderSizePixel = , Visible = }, tracerGui)
d.line
d.line:()
d.line, d.px, d.py = , ,
(player, char)
(player)
d = {char = char}
espData[player] = d
(player)
d.root = char:(, )
d.hd = char:(, )
espData[player] == d
(player)
(player)
t = woahjConns[player]
t
_, c t
c:()
woahjConns[player] =
(player)
player == LP
woahjConns[player] = {
player.CharacterAdded:((char)
(player, char)
),
player:():(()
d = espData[player]
d d.teamTag
d.teamTag.Text = (player)
()
),
}
player.Character
.(setup, player, player.Character)
()
cam = .CurrentCamera
vs = cam.ViewportSize
ax, ay = vs.X / , vs.Y
_, d espData
line = d.line
line
rt = d.root
show =
rt rt.Parent
p = cam:(rt.Position)
p.Z >
show =
d.px ~= p.X d.py ~= p.Y
d.px, d.py = p.X, p.Y
dx, dy = p.X - ax, p.Y - ay
line.Position = (ax + dx / , ay + dy / )
line.Size = (, .(dx * dx + dy * dy))
line.Rotation = .(.(dy, dx)) -
d.px =
line.Visible ~= show
line.Visible = show
()
isOn
addConn
player espData
(player)
_, player Players:()
(player)
addConn = Players.PlayerAdded:(trackPlayer)
remConn = Players.PlayerRemoving:((player)
(player)
(player)
)
addConn
addConn:()
remConn:()
addConn, remConn = ,
player woahjConns
(player)
player espData
(player)
isOn tracerOn lineConn
lineConn = RS.RenderStepped:(updateLines)
(isOn tracerOn) lineConn
lineConn:()
lineConn =
toggleBtn.Activated:(()
isOn = isOn
(toggleBtn, knob, isOn)
()
)
teamBtn.Activated:(()
teamOn = teamOn
(teamBtn, teamKnob, teamOn)
()
)
hlBtn.Activated:(()
hlOn = hlOn
(hlBtn, hlKnob, hlOn)
()
)
unBtn.Activated:(()
unOn = unOn
(unBtn, unKnob, unOn)
()
)
tnBtn.Activated:(()
tnOn = tnOn
(tnBtn, tnKnob, tnOn)
()
)
boxBtn.Activated:(()
boxOn = boxOn
(boxBtn, boxKnob, boxOn)
()
)
trBtn.Activated:(()
tracerOn = tracerOn
(trBtn, trKnob, tracerOn)
()
)
tabMain.Activated:(()
()
)
tabSet.Activated:(()
()
)
minimizeBtn.Activated:(()
isOpen = isOpen
content.Visible = isOpen
()
TS:(frame, fast, {Size = isOpen (, sizes[curTab]) (, )}):()
)
closeBtn.Activated:(()
isOn =
()
()
lpTeamConn:()
moveConn:()
endConn:()
gui:()
tracerGui:()
)
okBtn.MouseEnter:(()
okBtn.BackgroundColor3 = (, , )
)
okBtn.MouseLeave:(()
okBtn.BackgroundColor3 = (, , )
)
okBtn.MouseButton1Click:(()
welcome:()
frame.Visible =
)
head.InputBegan:((i)
(i)
start, sp = i.Position, frame.Position
dragged =
(i, (m)
d = m.Position - start
dragged d.Magnitude >=
dragged =
dragged
frame.Position = (sp.X.Scale, sp.X.Offset + d.X, sp.Y.Scale, sp.Y.Offset + d.Y)
)
)
Universal