Run it
Copy the script and paste it into your executor.
scanDelay =
decompileTimeout =
HttpService = :()
Players = :()
gameName =
(()
gameName = :():(.PlaceId).Name
)
(name)
.((name), , ):(, )
FOLDER_NAME = .. (gameName) .. .. (.PlaceId) .. .. HttpService:():(, )
BRAND =
hasDecompiler =
(()
decompile
t = .()
t.Parent = :()
ok, r = (decompile, t)
t:()
hasDecompiler = ok r ~=
)
= ()
env = ()
()
gui = .()
gui.ResetOnSpawn =
gui.DisplayOrder =
ok =
(()
f = env.gethui () :()
gui.Parent = ()
ok =
)
ok
(()
gui.Parent = Players.LocalPlayer:()
)
gui
hasDecompiler
errGui = ()
errGui.Name =
f = .()
f.Size = .(, , , )
f.Position = .(, , , )
f.BackgroundColor3 = .(, , )
f.BorderSizePixel =
f.Parent = errGui
.(, f).CornerRadius = .(, )
p = .(, f)
p.PaddingLeft = .(, )
p.PaddingRight = .(, )
p.PaddingTop = .(, )
t = .(, f)
t.Size = .(, , , )
t.Position = .(, , , )
t.BackgroundTransparency =
t.TextColor3 = .(, , )
t.TextScaled =
t.Font = .Font.GothamBold
t.TextXAlignment = .TextXAlignment.Left
t.Text =
m = .(, f)
m.Size = .(, , , )
m.Position = .(, , , )
m.BackgroundTransparency =
m.TextColor3 = .(, , )
m.TextScaled =
m.Font = .Font.Gotham
m.TextXAlignment = .TextXAlignment.Left
m.TextWrapped =
m.Text =
.()
(() errGui:() )
(scr)
output =
finished =
.(()
ok, result = (decompile, scr)
output = (ok result result ~= ) result
finished =
)
waited =
finished waited < decompileTimeout
.()
waited = waited +
finished
output = .. decompileTimeout ..
output
createdDirs = {}
(path)
createdDirs[path]
createdDirs[path] =
current =
part .(path, )
current = current == part (current .. .. part)
createdDirs[current]
createdDirs[current] =
(env.makefolder makefolder, current)
(scr)
parts = {}
cur = scr.Parent
cur cur ~=
.(parts, , (cur.Name))
cur = cur.Parent
ext = scr:()
scr:()
dir = FOLDER_NAME .. .. .(parts, )
path = dir .. .. (scr.Name) .. ext
{ scr = scr, dir = dir, path = path }
(scr)
success, isDescendant = (()
scr:(:()) scr:(:())
)
success isDescendant
()
found = {}
_, obj (:())
obj:() (obj)
.(found, obj)
found
screenGui = ()
screenGui.Name =
frame = .()
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.AnchorPoint = .(, )
frame.BackgroundColor3 = .(, , )
frame.BorderSizePixel =
frame.Parent = screenGui
.(, frame).CornerRadius = .(, )
pad = .(, frame)
pad.PaddingLeft = .(, )
pad.PaddingRight = .(, )
pad.PaddingTop = .(, )
titleLabel = .(, frame)
titleLabel.Size = .(, , , )
titleLabel.Position = .(, , , )
titleLabel.BackgroundTransparency =
titleLabel.TextColor3 = .(, , )
titleLabel.TextScaled =
titleLabel.Font = .Font.GothamBold
titleLabel.TextXAlignment = .TextXAlignment.Left
titleLabel.Text = BRAND .. .. gameName
statusLabel = .(, frame)
statusLabel.Size = .(, , , )
statusLabel.Position = .(, , , )
statusLabel.BackgroundTransparency =
statusLabel.TextColor3 = .(, , )
statusLabel.TextScaled =
statusLabel.Font = .Font.Gotham
statusLabel.TextXAlignment = .TextXAlignment.Left
statusLabel.Text =
scriptLabel = .(, frame)
scriptLabel.Size = .(, , , )
scriptLabel.Position = .(, , , )
scriptLabel.BackgroundTransparency =
scriptLabel.TextColor3 = .(, , )
scriptLabel.TextScaled =
scriptLabel.Font = .Font.Code
scriptLabel.TextXAlignment = .TextXAlignment.Left
scriptLabel.Text =
barBg = .(, frame)
barBg.Size = .(, , , )
barBg.Position = .(, , , )
barBg.BackgroundColor3 = .(, , )
barBg.BorderSizePixel =
.(, barBg).CornerRadius = .(, )
barFill = .(, barBg)
barFill.Size = .(, , , )
barFill.BackgroundColor3 = .(, , )
barFill.BorderSizePixel =
.(, barFill).CornerRadius = .(, )
etaLabel = .(, frame)
etaLabel.Size = .(, , , )
etaLabel.Position = .(, , , )
etaLabel.BackgroundTransparency =
etaLabel.TextColor3 = .(, , )
etaLabel.TextScaled =
etaLabel.Font = .Font.Gotham
etaLabel.TextXAlignment = .TextXAlignment.Left
etaLabel.Text =
statsLabel = .(, frame)
statsLabel.Size = .(, , , )
statsLabel.Position = .(, , , )
statsLabel.BackgroundTransparency =
statsLabel.TextColor3 = .(, , )
statsLabel.TextScaled =
statsLabel.Font = .Font.GothamBold
statsLabel.TextXAlignment = .TextXAlignment.Left
statsLabel.Text =
savedLabel = .(, frame)
savedLabel.Size = .(, , , )
savedLabel.Position = .(, , , )
savedLabel.BackgroundTransparency =
savedLabel.TextColor3 = .(, , )
savedLabel.TextScaled =
savedLabel.Font = .Font.Gotham
savedLabel.TextXAlignment = .TextXAlignment.Left
savedLabel.Text = .. FOLDER_NAME
passedCount =
failedCount =
totalKnownScripts =
()
statsLabel.Text = .(, passedCount, failedCount)
ratio = passedCount / .(passedCount + failedCount, )
statsLabel.TextColor3 = .(.( * ( - ratio)), .( * ratio), )
lastGuiUpdate =
(scriptPath, elapsed, eta, finished)
now = .()
processedTotal = passedCount + failedCount
finished (now - lastGuiUpdate < ) (processedTotal % ~= )
lastGuiUpdate = now
percent = totalKnownScripts > .((processedTotal / totalKnownScripts) * )
barFill.Size = .(totalKnownScripts > (processedTotal / totalKnownScripts) , , , )
statusLabel.Text = .(, processedTotal, totalKnownScripts, percent)
scriptLabel.Text = scriptPath
finished
etaLabel.Text = .(, elapsed)
titleLabel.TextColor3 = .(, , )
barFill.BackgroundColor3 = .(, , )
savedLabel.Text = .. FOLDER_NAME
etaLabel.Text = .(, elapsed, eta)
processed = {}
(scriptList, startTime)
i, scr (scriptList)
scanDelay >
.(scanDelay)
.()
processed[scr]
processed[scr] =
fullName =
(() fullName = scr:() )
ok, err = (()
scr scr.Parent
()
data = (scr)
rawSource = (scr)
source = .. BRAND .. .. fullName .. .. rawSource
(data.dir)
written = (env.writefile writefile, data.path, source)
written
flatPath = FOLDER_NAME .. .. #processed .. .. (scr.Name) ..
(FOLDER_NAME)
(env.writefile writefile, flatPath, source)
)
ok
passedCount = passedCount +
failedCount = failedCount +
( .. fullName .. .. (err))
()
processedTotal = passedCount + failedCount
elapsed = .(.() - startTime)
rate = processedTotal / .(.() - startTime, )
remaining = totalKnownScripts - processedTotal
eta = .(remaining / .(rate, ))
(fullName, elapsed, eta, )
startTime = .()
round =
MAX_ROUNDS =
scripts = ()
newScripts = {}
_, scr (scripts)
processed[scr]
.(newScripts, scr)
#newScripts ==
totalKnownScripts = totalKnownScripts + #newScripts
statusLabel.Text = .(, round, #newScripts)
.()
(newScripts, startTime)
round = round +
round > MAX_ROUNDS
totalTime = .(.() - startTime)
(, totalTime, , )
.()
(() screenGui:() )Decompiles all scripts in the game, saves them to executors workspace as .lua.

Universal