Run it
Copy the script and paste it into your executor.
().OW_PANEL
(()
().OW_PANEL.alive =
_, c (().OW_PANEL.conns {}) (() c:() )
().OW_PANEL.gui ().OW_PANEL.gui:()
)
Players = :()
RunService = :()
ReplicatedStorage = :()
UserInputService = :()
TweenService = :()
LP = Players.LocalPlayer
NET = ReplicatedStorage:(, )
STATE_OK, StateManager = (, ReplicatedStorage.Shared.Modules.State.StateManager)
ENV = {
alive = ,
gui = ,
conns = {},
speedTag = ,
speedValue = ,
purgeDebuffs = ,
purgeCooldowns = ,
slowImmune = ,
noclip = ,
espPlayers = ,
espDemons = ,
espObjects = {},
espMap = {},
reachLock = ,
autoSwing = ,
manualGate = ,
swingInterval = ,
lockOffset = .(, , ),
lastSwing = ,
parryUntil = ,
lastBreathe = ,
lastBlock = ,
lockTarget = ,
sustain = ,
holdBlock = ,
autoParry = ,
autoBreathe = ,
swings = ,
lootAll = ,
lootSeen = ,
lootAt = ,
lootCount = ,
}
_, d (:())
d.Name == d:() (() d:() )
_, p (Players:())
p.Character
_, d (p.Character:())
d.Name == d:() (() d:() )
().OW_PANEL = ENV
DEBUFFS = {
, , , , , ,
, , , , , ,
, , , , ,
}
()
ch = LP.Character
ch ch.Parent
ch
()
ch = ()
ch ch:()
()
ch = ()
ch ch:()
()
STATE_OK StateManager
ch = ()
ch
ok, st = (() StateManager:(ch) )
ok st st
()
ok, hui = (gethui)
ok hui hui
ok, hui = (() :() )
ok hui hui
LP:()
(class, props, parent)
o = .(class)
k, v (props) o[k] = v
o.Parent = parent
o
C = {
bg = .(, , ),
surface = .(, , ),
raised = .(, , ),
line = .(, , ),
text = .(, , ),
dim = .(, , ),
faint = .(, , ),
track = .(, , ),
accent = .(, , ),
good = .(, , ),
}
(obj, r)
(, { CornerRadius = .(, r ) }, obj)
(obj, colour, thick, transparency)
(, {
Color = colour C.line,
Thickness = thick ,
Transparency = transparency ,
ApplyStrokeMode = .ApplyStrokeMode.Border,
}, obj)
(obj, l, t, r, b)
(, {
PaddingLeft = .(, l ),
PaddingTop = .(, t ),
PaddingRight = .(, r ),
PaddingBottom = .(, b ),
}, obj)
gui = (, {
Name = ,
ResetOnSpawn = ,
ZIndexBehavior = .ZIndexBehavior.Sibling,
DisplayOrder = ,
}, ())
ENV.gui = gui
main = (, {
Name = ,
Size = .(, ),
Position = .(, ),
BackgroundColor3 = C.bg,
BorderSizePixel = ,
Active = ,
}, gui)
(main, )
(main, C.line, )
HEADER_H =
FOOTER_H =
SIDEBAR_W =
header = (, {
Name = ,
Size = .(, , , HEADER_H),
BackgroundColor3 = C.surface,
BorderSizePixel = ,
}, main)
(header, )
(, {
Size = .(, , , ),
Position = .(, , , -),
BackgroundColor3 = C.surface,
BorderSizePixel = ,
}, header)
accentBar = (, {
Size = .(, ),
Position = .(, ),
BackgroundColor3 = C.accent,
BorderSizePixel = ,
}, header)
(accentBar, )
(, {
Size = .(, ),
Position = .(, ),
BackgroundTransparency = ,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = C.text,
TextXAlignment = .TextXAlignment.Left,
Text = ,
}, header)
(, {
Size = .(, ),
Position = .(, ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.faint,
TextXAlignment = .TextXAlignment.Left,
Text = ,
}, header)
liveDot = (, {
Size = .(, ),
Position = .(, -, , -),
BackgroundColor3 = C.good,
BorderSizePixel = ,
}, header)
(liveDot, )
statusLabel = (, {
Size = .(, ),
Position = .(, -, , -),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.dim,
TextXAlignment = .TextXAlignment.Left,
Text = ,
}, header)
closeBtn = (, {
Size = .(, ),
Position = .(, -, , -),
BackgroundColor3 = C.raised,
BorderSizePixel = ,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = C.dim,
Text = ,
AutoButtonColor = ,
}, header)
(closeBtn, )
dragging, dragStart, startPos = , ,
header.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = main.Position
)
header.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
input.UserInputType == .UserInputType.Touch
dragging =
)
UserInputService.InputChanged:((input)
dragging (input.UserInputType == .UserInputType.MouseMovement
input.UserInputType == .UserInputType.Touch)
d = input.Position - dragStart
main.Position = .(
startPos.X.Scale, startPos.X.Offset + d.X,
startPos.Y.Scale, startPos.Y.Offset + d.Y
)
)
sidebar = (, {
Name = ,
Size = .(, SIDEBAR_W, , -(HEADER_H + FOOTER_H)),
Position = .(, HEADER_H),
BackgroundColor3 = C.surface,
BorderSizePixel = ,
}, main)
(, {
Size = .(, , , ),
Position = .(, -, , ),
BackgroundColor3 = C.line,
BorderSizePixel = ,
}, sidebar)
tabList = (, {
Size = .(, , , ),
Position = .(, ),
BackgroundTransparency = ,
AutomaticSize = .AutomaticSize.Y,
}, sidebar)
(, {
Padding = .(, ),
SortOrder = .SortOrder.LayoutOrder,
}, tabList)
content = (, {
Name = ,
Size = .(, -SIDEBAR_W, , -(HEADER_H + FOOTER_H)),
Position = .(SIDEBAR_W, HEADER_H),
BackgroundTransparency = ,
}, main)
(content, , , , )
footer = (, {
Name = ,
Size = .(, , , FOOTER_H),
Position = .(, , , -FOOTER_H),
BackgroundColor3 = C.surface,
BorderSizePixel = ,
}, main)
(, {
Size = .(, , , ),
BackgroundColor3 = C.line,
BorderSizePixel = ,
}, footer)
footTarget = (, {
Size = .(, -, , ),
Position = .(, ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.dim,
TextXAlignment = .TextXAlignment.Left,
Text = ,
}, footer)
footSwing = (, {
Size = .(, -, , ),
Position = .(, , , ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.dim,
TextXAlignment = .TextXAlignment.Right,
Text = ,
}, footer)
pages = {}
tabButtons = {}
tabAccents = {}
(name, label, order)
btn = (, {
Size = .(, -, , ),
Position = .(, ),
BackgroundColor3 = C.surface,
BorderSizePixel = ,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = C.dim,
Text = label,
TextXAlignment = .TextXAlignment.Left,
LayoutOrder = order,
AutoButtonColor = ,
}, tabList)
(btn, )
(btn, , , , )
accent = (, {
Size = .(, , , ),
Position = .(, ),
BackgroundColor3 = C.accent,
BorderSizePixel = ,
}, btn)
(accent, )
page = (, {
Size = .(, ),
BackgroundTransparency = ,
BorderSizePixel = ,
ScrollBarThickness = ,
ScrollBarImageColor3 = C.line,
ScrollBarImageTransparency = ,
CanvasSize = .(),
AutomaticCanvasSize = .AutomaticSize.Y,
Visible = ,
}, content)
(, {
Padding = .(, ),
SortOrder = .SortOrder.LayoutOrder,
}, page)
pages[name] = page
tabButtons[name] = btn
tabAccents[name] = accent
btn.MouseButton1Click:(()
n, p (pages) p.Visible = (n == name)
n, b (tabButtons)
on = (n == name)
b.TextColor3 = on C.text C.dim
b.BackgroundColor3 = on C.raised C.surface
tabAccents[n].Size = .(, , , on )
)
page
(parent, text, order)
f = (, {
Size = .(, -, , ),
BackgroundTransparency = ,
LayoutOrder = order,
}, parent)
(, {
Size = .(, ),
BackgroundTransparency = ,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = C.accent,
TextXAlignment = .TextXAlignment.Left,
Text = .(text),
}, f)
(, {
Size = .(, -, , ),
Position = .(, ),
BackgroundColor3 = C.line,
BorderSizePixel = ,
}, f)
f
(parent, order, height)
f = (, {
Size = .(, -, , height ),
BackgroundColor3 = C.raised,
BorderSizePixel = ,
LayoutOrder = order,
}, parent)
(f, )
(f, C.line, , )
f
(page, label, sub, order, initial, onChange)
r = (page, order, sub )
(, {
Size = .(, -, , ),
Position = .(, sub ),
BackgroundTransparency = ,
Font = .Font.Gotham,
TextSize = ,
TextColor3 = C.text,
TextXAlignment = .TextXAlignment.Left,
Text = label,
}, r)
sub
(, {
Size = .(, -, , ),
Position = .(, ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.faint,
TextXAlignment = .TextXAlignment.Left,
Text = sub,
}, r)
on = initial
track = (, {
Size = .(, ),
Position = .(, -, , -),
BackgroundColor3 = on C.accent C.track,
BorderSizePixel = ,
Text = ,
AutoButtonColor = ,
}, r)
(track, )
knob = (, {
Size = .(, ),
Position = on .(, ) .(, ),
BackgroundColor3 = C.text,
BorderSizePixel = ,
}, track)
(knob, )
track.MouseButton1Click:(()
on = on
TweenService:(track, TweenInfo.(, .EasingStyle.Quad), {
BackgroundColor3 = on C.accent C.track,
}):()
TweenService:(knob, TweenInfo.(, .EasingStyle.Quad), {
Position = on .(, ) .(, ),
}):()
(onChange, on)
)
track
(page, label, order, colour, onClick)
btn = (, {
Size = .(, -, , ),
BackgroundColor3 = colour C.raised,
BorderSizePixel = ,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = C.text,
Text = label,
LayoutOrder = order,
AutoButtonColor = ,
}, page)
(btn, )
(btn, C.line, , )
btn.MouseButton1Click:(() (onClick) )
btn
(page, label, order, min, max, initial, onChanged)
r = (page, order, )
val = initial
nameLabel = (, {
Size = .(, -, , ),
Position = .(, ),
BackgroundTransparency = ,
Font = .Font.Gotham,
TextSize = ,
TextColor3 = C.dim,
TextXAlignment = .TextXAlignment.Left,
Text = label,
}, r)
valLabel = (, {
Size = .(, ),
Position = .(, -, , ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.accent,
TextXAlignment = .TextXAlignment.Right,
Text = (val),
}, r)
bar = (, {
Size = .(, -, , ),
Position = .(, ),
BackgroundColor3 = C.track,
BorderSizePixel = ,
}, r)
(bar, )
fill = (, {
Size = .((val - min) / .(max - min, ), ),
BackgroundColor3 = C.accent,
BorderSizePixel = ,
}, bar)
(fill, )
hit = (, {
Size = .(, , , ),
Position = .(, , , -),
BackgroundTransparency = ,
Text = ,
AutoButtonColor = ,
}, bar)
dragging =
(x)
rel = .((x - bar.AbsolutePosition.X) / .(bar.AbsoluteSize.X, ), , )
val = .(min + rel * (max - min) + )
fill.Size = .(rel, )
valLabel.Text = (val)
(onChanged, val)
hit.MouseButton1Down:(()
dragging =
(UserInputService:().X)
)
UserInputService.InputEnded:((i)
i.UserInputType == .UserInputType.MouseButton1 dragging =
)
UserInputService.InputChanged:((i)
dragging i.UserInputType == .UserInputType.MouseMovement (i.Position.X)
)
() val
(page, order, placeholder, default)
box = (, {
Size = .(, -, , ),
BackgroundColor3 = C.raised,
BorderSizePixel = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.text,
PlaceholderText = placeholder,
PlaceholderColor3 = C.faint,
Text = default ,
ClearTextOnFocus = ,
TextXAlignment = .TextXAlignment.Left,
LayoutOrder = order,
}, page)
(box, )
(box, C.line, , )
(box, , , , )
box
(page, order, text, colour)
r = (, {
Size = .(, -, , ),
BackgroundTransparency = ,
LayoutOrder = order,
}, page)
(, {
Size = .(, ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = colour C.faint,
TextXAlignment = .TextXAlignment.Left,
Text = text,
}, r)
LOOT_CHARGE =
()
pg = LP:()
cg = pg pg:()
cg
frame = cg:()
frame frame.Visible
cg
(cg, name)
frame = cg cg:()
bottom = frame frame:()
choices = bottom bottom:()
btn = choices choices:(name)
btn btn:()
(cg)
click = (cg, )
click
fired =
_, c ((click.Activated))
ok = (() c.() )
ok fired =
fired
ENV.chestGui = chestGui
ENV.pressLootAll = pressLootAll
movePage = (, , )
(movePage, , )
(movePage, , , , , , (v)
ENV.speedValue = v
st = ()
st
ENV.speedTag
(() ENV.speedTag:() )
ENV.speedTag =
v >
ok, tag = (() st:(, v) )
ok ENV.speedTag = tag
)
(movePage, , , C.faint)
(movePage, , )
(movePage, , , , , (on)
ENV.slowImmune = on
)
(movePage, , , , , (on)
ENV.noclip = on
)
(movePage, , , , , (on)
ENV.purgeDebuffs = on
)
(movePage, , , , , (on)
ENV.purgeCooldowns = on
)
combatPage = (, , )
(combatPage, , )
(combatPage, , , , , (on)
ENV.reachLock = on
on ENV.lockTarget =
)
(combatPage, , , , , (on)
ENV.autoSwing = on
)
(combatPage, , , , , (on)
ENV.manualGate = on
)
(combatPage, , , , , , (v)
ENV.swingInterval = v /
)
(combatPage, , )
vertBox = (combatPage, , , )
distBox = (combatPage, , , )
(combatPage, , , C.raised, ()
y = (vertBox.Text)
d = (distBox.Text)
ENV.lockOffset = .(, .(y, -, ), .(d, , ))
)
(combatPage, , )
(combatPage, , , , , (on)
ENV.autoParry = on
)
(combatPage, , , , , (on)
ENV.autoBreathe = on
)
(combatPage, , , , , (on)
ENV.holdBlock = on
)
(combatPage, , , , , (on)
ENV.sustain = on
)
lootPage = (, , )
(lootPage, , )
(lootPage, , , , , (on)
ENV.lootAll = on
ENV.lootSeen =
ENV.lootCount =
)
chestStatus = (lootPage, , , C.faint)
(lootPage, , , C.raised, ()
deadline = .() +
.(()
.() < deadline
cg = ()
cg (cg)
ENV.lootCount = ENV.lootCount +
.()
)
)
(lootPage, , , C.faint)
espPage = (, , )
(espPage, , )
()
_, o (ENV.espObjects) (() o:() )
ENV.espObjects = {}
ENV.espMap = {}
(espPage, , , , , (on)
ENV.espPlayers = on
on ()
)
(espPage, , , , , (on)
ENV.espDemons = on
on ()
)
statsPage = (, , )
statLabels = {}
statKeys = { , , , , , , }
i, key (statKeys)
statLabels[key] = (statsPage, i, key .. , C.text)
(statsPage, , #statKeys + )
charLabel = (statsPage, #statKeys + , , C.text)
wsLabel = (statsPage, #statKeys + , , C.text)
tagLabel = (statsPage, #statKeys + , , C.dim)
(pct)
r = + ( - ) * pct
g = + ( - ) * pct
b = + ( - ) * pct
.(.(r), .(g), .(b))
(model, name, colour)
model model.Parent
head = model:() model:()
head
existing = head:()
existing
existing:()
(() existing:() )
billboard = (, {
Name = ,
Size = .(, ),
StudsOffset = .(, , ),
AlwaysOnTop = ,
MaxDistance = ,
}, head)
(, {
Size = .(, , , ),
BackgroundTransparency = ,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = colour,
TextStrokeTransparency = ,
Text = name,
}, billboard)
hpLabel = (, {
Name = ,
Size = .(, , , ),
Position = .(, ),
BackgroundTransparency = ,
Font = .Font.Code,
TextSize = ,
TextColor3 = C.text,
TextStrokeTransparency = ,
Text = ,
}, billboard)
bar = (, {
Name = ,
Size = .(, ),
Position = .(, -, , ),
BackgroundColor3 = .(, , ),
BorderSizePixel = ,
}, billboard)
(bar, )
fill = (, {
Name = ,
Size = .(, ),
BackgroundColor3 = C.good,
BorderSizePixel = ,
}, bar)
(fill, )
.(ENV.espObjects, billboard)
ENV.espMap[billboard] = model
billboard, hpLabel, fill
()
billboard, model (ENV.espMap)
model model.Parent
(() billboard:() )
ENV.espMap[billboard] =
hum = model:()
hpLabel = billboard:()
bar = billboard:()
fill = bar bar:()
hum hpLabel
max = .(hum.MaxHealth, )
pct = .(hum.Health / max, , )
hpLabel.Text = .(, .(hum.Health + ), .(hum.MaxHealth + ))
hpLabel.TextColor3 = (pct)
fill
fill.Size = .(pct, )
fill.BackgroundColor3 = (pct)
hpLabel
hpLabel.Text =
hpLabel.TextColor3 = C.faint
fill fill.Size = .(, )
(myPos, myChar)
alive = :()
alive
best, bd = ,
_, m (alive:())
m:() m ~= myChar
ok, h = (() m:() )
ok2, r = (() m:() )
ok ok2 h r r.Parent h.Health >
ok3, d = (() (r.Position - myPos).Magnitude )
ok3 d < bd bd = d best = m
best
()
NET NET:()
()
now = .()
now - ENV.lastSwing < ENV.swingInterval
inp = ()
inp
ENV.lastSwing = now
ENV.parryUntil = now + ENV.swingInterval +
(()
inp:(, { Uppercut = , Air = , Space = })
)
ENV.swings = ENV.swings +
ENV.requestSwing = requestSwing
()
ENV.alive
ch = ()
hum = ()
myRoot = ch ch:()
now = .()
ENV.reachLock myRoot
target = (myRoot.Position, ch)
ENV.lockTarget = target
target
tr = target:()
tr
back = tr.CFrame.LookVector
pos = tr.Position - back * ENV.lockOffset.Z
+ .(, ENV.lockOffset.Y, )
myRoot.CFrame = .(pos, tr.Position)
ENV.autoSwing hum hum.Health >
()
ENV.purgeDebuffs
st = ()
st
_, name (DEBUFFS)
st:(name) (() st:(name) )
ENV.purgeCooldowns
st = ()
st (() st:() )
ENV.slowImmune ch ch:() ~=
ch:(, )
ENV.noclip ch
_, part (ch:())
part:() part.CanCollide part.CanCollide =
ENV.sustain hum hum.Health > hum.Health < hum.MaxHealth
hum.Health = hum.MaxHealth
ENV.lootAll
cg = ()
cg
ENV.lootSeen =
ENV.lootCount =
ENV.lootSeen ~= cg
ENV.lootSeen = cg
ENV.lootAt = now
ENV.lootCount =
ENV.lootCount <
now - (ENV.lootAt ) > LOOT_CHARGE
now - (ENV.lastLoot ) >
ENV.lastLoot = now
(cg) ENV.lootCount = ENV.lootCount +
ENV.holdBlock now - ENV.lastBlock >
ENV.lastBlock = now
inp = ()
inp (() inp:(, ) )
ENV.autoParry hum hum.Health >
inp = ()
inp
now < ENV.parryUntil
(() inp:(, ) )
ENV.parryUntil >
(() inp:(, ) )
ENV.parryUntil =
ENV.autoBreathe hum hum.Health > now - ENV.lastBreathe >
inp = ()
st = ()
inp ch
b = ch:()
maxb = ch:()
allowed = b ~= b < maxb (st st:())
allowed
(() inp:(, ) )
ENV.lastBreathe = now
ENV.espPlayers ENV.espDemons
now - (ENV.lastESP ) >
ENV.lastESP = now
()
ENV.espPlayers
_, p (Players:())
p ~= LP p.Character
(p.Character, p.Name, C.accent)
ENV.espDemons
alive = :()
alive
_, m (alive:())
m:() m:()
(m, m.Name, .(, , ))
ENV.conns[#ENV.conns + ] = RunService.Heartbeat:(()
(loop)
)
.(()
ENV.alive
.()
(()
key, label (statLabels)
v = LP:(key)
label.Text = key .. .. (v ~= (v) )
hum = ()
ch = ()
charLabel.Text = hum ( .. .(hum.Health) .. .. .(hum.MaxHealth))
wsLabel.Text = hum ( .. .(hum.WalkSpeed) .. .. ENV.speedValue)
ch STATE_OK
st = ()
st
n, names = , {}
_, t (st.Tags)
n = n +
n <= names[#names + ] = t.Name
tagLabel.Text = .. n .. .. (#names > .(names, ) )
statusLabel.Text = ENV.alive
liveDot.BackgroundColor3 = ENV.alive C.good C.faint
cg = ()
chestStatus.Text = cg
( .. ENV.lootCount)
chestStatus.TextColor3 = cg C.good C.faint
t = ENV.lockTarget
t t.Parent
tr = t:()
th = t:()
myRoot = ()
d = (tr myRoot) .((tr.Position - myRoot.Position).Magnitude) -
footTarget.Text = .. t.Name:(, ) .. .. d .. .. (th .(th.Health) -)
footTarget.TextColor3 = C.good
footTarget.Text =
footTarget.TextColor3 = C.dim
footSwing.Text = .. (ENV.swings)
)
)
n, b (tabButtons)
on = (n == )
pages[n].Visible = on
b.TextColor3 = on C.text C.dim
b.BackgroundColor3 = on C.raised C.surface
tabAccents[n].Size = .(, , , on )
closeBtn.MouseButton1Click:(()
ENV.alive =
_, c (ENV.conns) (() c:() )
gui:()
().OW_PANEL =
)
()
(gui gui.Enabled main)
m = UserInputService:()
p, s = main.AbsolutePosition, main.AbsoluteSize
m.X >= p.X m.X <= p.X + s.X m.Y >= p.Y m.Y <= p.Y + s.Y
UserInputService.InputBegan:((i, processed)
processed
i.KeyCode == .KeyCode.RightShift
gui gui.Enabled = gui.Enabled
i.UserInputType == .UserInputType.MouseButton1
ENV.manualGate ENV.reachLock ()
()
)
( .. (STATE_OK) .. .. (NET ~= ))