Run it
Copy the script and paste it into your executor.
Players = :()
TweenService = :()
RunService = :()
UserInputService = :()
plr = Players.LocalPlayer
char = plr.Character plr.CharacterAdded:()
root = char:()
hum = char:()
spawns = {}
spawnFolder = .Arena.Spawns
i = ,
= spawnFolder:((i))
top = :()
top top:()
.(spawns, top)
targets = {}
_, part (.Middle.CollideableTop:())
part:() part.Name ==
.(targets, part)
#targets ==
()
_, obj (:())
obj:() (.(.(obj.Name), ) .(.(obj.Name), ) obj.Material == .Material.Neon)
obj.CFrame = .(, -, )
()
.DescendantAdded:((obj)
obj:() (.(.(obj.Name), ) .(.(obj.Name), ) obj.Material == .Material.Neon)
obj.CFrame = .(, -, )
)
enabled =
waitTime =
baseSpd =
spdMin =
spdMax =
heightOff =
spawnRad =
targetProx =
tweenCt =
anchorDist =
freezeRad =
unfreezeRad =
freezeTime =
frozen =
freezeConn
tweening =
(pos, rad)
players = {}
_, p (Players:())
p ~= plr p.Character
r = p.Character:()
r
dist = (r.Position - pos).Magnitude
dist <= rad
.(players, p)
players
()
frozen tweening
frozen =
root.Anchored =
start = ()
freezeConn = RunService.Heartbeat:(()
tgt = targets[]
nearby = (tgt.Position, unfreezeRad)
#nearby >
root.Anchored =
frozen =
freezeConn
freezeConn:()
freezeConn =
() - start >= freezeTime
root.Anchored =
frozen =
freezeConn
freezeConn:()
freezeConn =
)
proxConn
()
proxConn
proxConn = .(()
.()
frozen tweening
tgt = targets[]
nearby = (tgt.Position, freezeRad)
#nearby ==
()
)
()
pos = root.Position
_, (spawns)
(.Position - pos).Magnitude <= spawnRad
()
pos = root.Position
closest =
minDist = .huge
_, part (targets)
dist = (part.Position - pos).Magnitude
dist < minDist
minDist = dist
closest = part
closest
(part)
part root
(root, part, )
()
(root, part, )
noclipConn
()
noclipConn
noclipConn = RunService.Stepped:(()
char
_, part (char:())
part:()
part.CanCollide =
)
()
noclipConn
noclipConn:()
noclipConn =
char
_, part (char:())
part:()
part.CanCollide =
()
root hum.Health <=
tgt = ()
tgt
tweenCt = tweenCt +
spd = baseSpd
tweenCt % ==
spd = .(spdMin * , spdMax * ) /
tgtPos = tgt.Position + .(, heightOff, )
dist = (root.Position - tgtPos).Magnitude
dist <= targetProx
.(.(, ) * )
(tgt)
dur = dist / spd
info = TweenInfo.(dur, .EasingStyle.Linear)
tween = TweenService:(root, info, { = .(tgtPos)})
paused =
anchorConn
pauseConn
pauseConn = RunService.Heartbeat:(()
curDist = (root.Position - tgtPos).Magnitude
curDist <= curDist > anchorDist paused
paused =
tween:()
root.Anchored =
pauseStart = ()
pauseCheck
pauseCheck = RunService.Heartbeat:(()
nearby = (tgtPos, unfreezeRad)
#nearby >
root.Anchored =
tween:()
pauseCheck
pauseCheck:()
() - pauseStart >=
root.Anchored =
tween:()
pauseCheck
pauseCheck:()
)
curDist <= anchorDist
root.Anchored =
pauseConn
pauseConn:()
pauseConn =
)
anchorConn = RunService.Heartbeat:(()
curDist = (root.Position - tgtPos).Magnitude
curDist <= anchorDist
root.Anchored =
anchorConn
anchorConn:()
anchorConn =
)
()
tweening =
root.Anchored =
tween:()
tween.Completed:()
anchorConn
anchorConn:()
anchorConn =
pauseConn
pauseConn:()
pauseConn =
root.Anchored =
()
tweening =
.(.(, ) * )
(tgt)
autoConn
waiting =
()
autoConn
()
autoConn = RunService.Heartbeat:(()
near = ()
near waiting
waiting =
.(waitTime + .(-, ) * )
waiting
()
waiting =
near
waiting =
)
()
autoConn
autoConn:()
autoConn =
waiting =
freezeConn
freezeConn:()
freezeConn =
frozen
root.Anchored =
frozen =
()
gui = .()
gui.Name =
gui.Parent = plr:()
gui.ResetOnSpawn =
gui.ZIndexBehavior = .ZIndexBehavior.Sibling
frame = .()
frame.Size = .(, , , )
frame.Position = .(, -, , )
frame.BackgroundColor3 = .(, , )
frame.BorderSizePixel =
frame.Parent = gui
corner = .()
corner.CornerRadius = .(, )
corner.Parent = frame
stroke = .()
stroke.Thickness =
stroke.Color = .(, , )
stroke.Transparency =
stroke.ApplyStrokeMode = .ApplyStrokeMode.Border
stroke.Parent = frame
hue =
RunService.Heartbeat:(()
hue = (hue + ) %
stroke.Color = .(hue, , )
)
header = .()
header.Size = .(, , , )
header.Position = .(, , , )
header.BackgroundColor3 = .(, , )
header.BorderSizePixel =
header.Parent = frame
headerCorner = .()
headerCorner.CornerRadius = .(, )
headerCorner.Parent = header
headerBot = .()
headerBot.Size = .(, , , )
headerBot.Position = .(, , , -)
headerBot.BackgroundColor3 = .(, , )
headerBot.BorderSizePixel =
headerBot.Parent = header
title = .()
title.Size = .(, -, , )
title.Position = .(, , , )
title.BackgroundTransparency =
title.Text =
title.TextColor3 = .(, , )
title.TextSize =
title.Font = .Font.GothamBold
title.TextXAlignment = .TextXAlignment.Left
title.Parent = header
indicator = .()
indicator.Size = .(, , , )
indicator.Position = .(, -, , -)
indicator.BackgroundColor3 = .(, , )
indicator.BorderSizePixel =
indicator.Parent = header
indCorner = .()
indCorner.CornerRadius = .(, )
indCorner.Parent = indicator
btn = .()
btn.Size = .(, , , )
btn.Position = .(, -, , )
btn.BackgroundColor3 = .(, , )
btn.BorderSizePixel =
btn.Text =
btn.TextColor3 = .(, , )
btn.TextSize =
btn.Font = .Font.GothamBold
btn.AutoButtonColor =
btn.Parent = frame
btnCorner = .()
btnCorner.CornerRadius = .(, )
btnCorner.Parent = btn
btnStroke = .()
btnStroke.Thickness =
btnStroke.Color = .(, , )
btnStroke.Transparency =
btnStroke.ApplyStrokeMode = .ApplyStrokeMode.Border
btnStroke.Parent = btn
sig = .()
sig.Size = .(, -, , )
sig.Position = .(, , , )
sig.BackgroundTransparency =
sig.Text =
sig.TextColor3 = .(, , )
sig.TextSize =
sig.Font = .Font.Gotham
sig.TextXAlignment = .TextXAlignment.Center
sig.Parent = frame
btn.MouseEnter:(()
TweenService:(btn, TweenInfo.(), {BackgroundColor3 = enabled .(, , ) .(, , )}):()
)
btn.MouseLeave:(()
TweenService:(btn, TweenInfo.(), {BackgroundColor3 = enabled .(, , ) .(, , )}):()
)
dragging =
dragStart
startPos
frame.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = frame.Position
input.Changed:(()
input.UserInputState == .UserInputState.End
dragging =
)
)
UserInputService.InputChanged:((input)
dragging (input.UserInputType == .UserInputType.MouseMovement input.UserInputType == .UserInputType.Touch)
delta = input.Position - dragStart
frame.Position = .(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
)
btn.MouseButton1Click:(()
enabled = enabled
enabled
btn.Text =
btn.BackgroundColor3 = .(, , )
btnStroke.Color = .(, , )
indicator.BackgroundColor3 = .(, , )
()
origSize = btn.Size
TweenService:(btn, TweenInfo.(), {Size = .(, , , )}):()
()
TweenService:(btn, TweenInfo.(), {Size = origSize}):()
btn.Text =
btn.BackgroundColor3 = .(, , )
btnStroke.Color = .(, , )
indicator.BackgroundColor3 = .(, , )
()
origSize = btn.Size
TweenService:(btn, TweenInfo.(), {Size = .(, , , )}):()
()
TweenService:(btn, TweenInfo.(), {Size = origSize}):()
)
plr.CharacterAdded:((newChar)
char = newChar
root = newChar:()
hum = newChar:()
waiting =
frozen =
tweening =
freezeConn
freezeConn:()
freezeConn =
()
()
)
()Auto Complete stages in Obby Royale Note: this script will only work if you are IDLE on top of your pillar, moving off the pillar at any point will cancel the tween countdown. - Removed death parts for easy completion of Death Penalty - Wait time of 10 seconds on start to avoid detections - Automatic tweening to stage completion