Run it
Copy the script and paste it into your executor.
objs = {}
threadIdentities = {}
httpserv = :()
().identifyexecutor = ()
,
().getexecutorname = ()
()[]
().gethui = ()
:()
(obj)
.(objs, obj)
(name)
obj = {name = name}
(obj)
obj
obj1 = ()
obj2 = ()
().getgc = ()
objs
().consolecreate = (message, level)
level = level
prefix = .. .() ..
indent = .(, level)
(prefix .. .. indent .. message)
().consoleinput = (prompt)
io.(prompt .. )
io.()
input = io.()
input
().consoleprint = (...)
args = {...}
i, v (args)
io.((v))
i < #args
io.()
io.()
io.()
().getscriptclosure = (module)
env = ()
constants = env.(module)
()
copy = {}
k, v (constants)
copy[k] = v
copy
().replaceclosure = (module, newfunc)
= ().(module)
originalfunc = (module)
k, v ()
v == originalfunc
[k] = newfunc
files = {}
(str, start)
str:(, #start) == start
(str, ending)
ending == str:(-#ending) == ending
().writefile = (path, content)
Path = path:()
CurrentPath = {}
i = , #Path
a = Path[i]
CurrentPath[i] = a
files[.(CurrentPath, )] i ~= #Path
files[.(CurrentPath, )] = {}
files[.(CurrentPath, ) .. ] = files[.(CurrentPath, )]
i == #Path
files[.(CurrentPath, )] = (content)
().makefolder = (path)
files[path] = {}
files[path .. ] = files[path]
().isfolder = (path)
(files[path]) ==
().isfile = (path)
(files[path]) ==
().readfile = (path)
files[path]
().appendfile = (path, text)
(path, ().(path) .. text)
().delfolder = (path)
f = files[path]
(f) ==
files[path] =
().delfile = (path)
f = files[path]
(f) ==
files[path] =
().listfiles = (path)
path path ==
Files = {}
i, v (files)
#i:() ==
.(Files, i)
Files
(files[path]) ~=
(path .. )
Files = {}
i, v (files)
(i, path .. ) (i, ) i ~= path #i:() == (#path:() + )
.(Files, i)
Files
().isrbxactive = ()
:()
().isgameactive = ()
:()
().getinstances = ()
:()
().setfpscap = (fps)
:().Stepped:(()
:().RenderStepped:()
)
:().RenderStepped:(()
:().Stepped:()
fps (fps) == fps >
:().RenderStepped:( / fps)
)
().getrunningscripts = ()
scripts = {}
_, (:().LocalPlayer.PlayerScripts:())
:() :()
.(scripts, )
scripts
().request = (args)
Body =
Timeout =
(success, body)
Body = body
Body[] = success
httpserv:(args):(callback)
Body Timeout <
.()
Timeout = Timeout +
Body
().http_request = (url, method, headers, body)
().({
Url = url,
Method = method,
Headers = headers,
Body = body
})
().getscripts = ()
scripts = {}
_, (:())
:() :()
.(scripts, )
scripts
().fireclickdetector = (detector, count, clicktype)
count = count
clicktype = clicktype
clicktype ==
detector.MouseHoverEnter:(()
()
)
clicktype ==
detector.MouseHoverLeave:(()
()
)
clicktype ==
detector.MouseClick:((player)
()
)
()
().getcustomasset = (path)
content = (path)
content
.. path
().isexecutorclosure = (func)
(func) ~=
success, result = (()
(func)
)
isRobloxGlobal =
robloxGlobals = {
,
,
,
,
,
,
,
,
,
,
,
}
_, globalFunc (robloxGlobals)
func == globalFunc
isRobloxGlobal =
success (result) == result ~= func isRobloxGlobal
sha = (:())()
().getscripthash = ()
:() :()
source = .Source :()
source
hash = sha.(source)
hash
().setthreadidentity = (identity)
threadIdentities[.()] = identity
().setidentity = setthreadidentity
().setthreadcontext = setidentity
().getthreadidentity = ()
threadIdentities[.()]
lz4lib = (:())()
().lz4compress = (data)
lz4lib.(data)
().lz4decompress = (compressed_data)
lz4lib.(compressed_data)
hiddenProperties = {}
().gethiddenproperty = (instance, property)
instanceProperties = hiddenProperties[instance]
instanceProperties instanceProperties[property]
instanceProperties[property],
,
().sethiddenproperty = (instance, property, value)
instanceProperties = hiddenProperties[instance]
instanceProperties
instanceProperties = {}
hiddenProperties[instance] = instanceProperties
instanceProperties[property] = value
().getnilinstances = (property)
property = property
instances = {}
instance, properties (hiddenProperties)
properties[property] ==
.(instances, instance)
instances
clonedrefs = {}
().cloneref = (x)
clonedrefs[x] clonedrefs[x] = {}
o = ()
(o).__type =
(o).__index = (self, k, v) e = x[k] (e) == (s, ...) (x, ...) e
(o).__newindex = (self, k, v) x[k] = v
(o).__call = (self, k, ...) x[k](x, ...)
(o).__tostring = (self) x.Name
(o).__len = (self) ()
(o).__metatable =
.(clonedrefs[x], o)
o
().compareinstances = (a, b)
clonedrefs[a]
a == b
.(clonedrefs[a], b)
().customprint = (text: , properties: , imageId: rbxasset)
(text)
.()
msg = :().DevConsoleMaster.DevConsoleWindow.DevConsoleUI:().ClientLog[(#:().DevConsoleMaster.DevConsoleWindow.DevConsoleUI.MainView.ClientLog:())-].msg
i, x (properties)
msg[i] = x
imageId
msg.Parent.image.Image = imageId
().getdevice = ()
inputsrv = :()
inputsrv:() == .Platform.Windows
inputsrv:() == .Platform.OSX
inputsrv:() == .Platform.IOS
inputsrv:() == .Platform.UWP
inputsrv:() == .Platform.Android
().runanimation = (animationId, player)
plr = player ()
humanoid = plr.Character:()
humanoid
animation = .()
animation.AnimationId = .. (animationId)
humanoid:(animation):()
().getping = (suffix: boolean)
rawping = :().Network.ServerStatsItem[]:()
pingstr = rawping:(,#rawping-)
pingnum = (pingstr)
ping = (.(pingnum))
suffix ping ping..
().getfps = (suffix: boolean)
rawfps = :().Workspace.Heartbeat:()
fpsnum = (rawfps)
fps = (.(fpsnum))
suffix fps fps..
().getplayers = ()
players = {}
_, x (:():())
players[x.Name] = x
players[] = :().LocalPlayer
players
().getplayer = (name: )
name ()[] ()[name]
().getaffiliateid = ()
().getlocalplayer = ()
()
().firesignal = (button, event)
button event button[event]
connections = (button[event])
_, connection (connections)
connection:()
().messagebox = (text, caption, flags)
(flags)
Converted = {
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
[] = .();
}
Converted[].ZIndexBehavior = .ZIndexBehavior.Sibling
Converted[].Name =
Converted[].Parent = :()
Converted[].BackgroundColor3 = .(, , )
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Active =
Converted[].Draggable =
Converted[].Parent = Converted[]
Converted[].BackgroundTransparency =
Converted[].BorderSizePixel =
Converted[].Size = .(, , , )
Converted[].ZIndex =
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Image =
Converted[].ImageColor3 = .(, , )
Converted[].ImageTransparency =
Converted[].ScaleType = .ScaleType.Slice
Converted[].SliceCenter = Rect.(, , , )
Converted[].AnchorPoint = .(, )
Converted[].BackgroundTransparency =
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].ZIndex =
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].BackgroundColor3 = .(, , )
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Parent = Converted[]
Converted[].Font = .Font.SourceSans
Converted[].Text = caption
Converted[].TextColor3 = .(, , )
Converted[].TextSize =
Converted[].TextXAlignment = .TextXAlignment.Left
Converted[].BackgroundColor3 = .(, , )
Converted[].BackgroundTransparency =
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Image =
Converted[].BackgroundColor3 = .(, , )
Converted[].BackgroundTransparency =
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].BackgroundColor3 = .(, , )
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Parent = Converted[]
Converted[].Font = .Font.SourceSans
Converted[].Text =
Converted[].TextColor3 = .(, , )
Converted[].TextSize =
Converted[].BackgroundColor3 = .(, , )
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Parent = Converted[]
Converted[].Font = .Font.SourceSans
Converted[].Text =
Converted[].TextColor3 = .(, , )
Converted[].TextSize =
Converted[].BackgroundColor3 = .(, , )
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
Converted[].Parent = Converted[]
Converted[].Font = .Font.SourceSans
Converted[].Text = text
Converted[].TextColor3 = .(, , )
Converted[].TextSize =
Converted[].TextXAlignment = .TextXAlignment.Left
Converted[].BackgroundColor3 = .(, , )
Converted[].BackgroundTransparency =
Converted[].BorderColor3 = .(, , )
Converted[].BorderSizePixel =
Converted[].Position = .(, , , )
Converted[].Size = .(, , , )
Converted[].Name =
Converted[].Parent = Converted[]
fake_module_scripts = {}
()
= .()
.Name =
.Parent = Converted[]
req =
= (obj)
fake = fake_module_scripts[obj]
fake
()
(obj)
messagebox = .Parent.Parent.Parent.Parent
close = .Parent
proceed =
close.MouseButton1Click:(()
(proceed)
messagebox:()
)
()
= .()
.Name =
.Parent = Converted[]
req =
= (obj)
fake = fake_module_scripts[obj]
fake
()
(obj)
ok = .Parent
messagebox = .Parent.Parent.Parent.Parent
proceed =
ok.MouseButton1Click:(()
proceed =
(proceed)
messagebox:()
)
()
= .()
.Name =
.Parent = Converted[]
req =
= (obj)
fake = fake_module_scripts[obj]
fake
()
(obj)
cancel = .Parent
messagebox = .Parent.Parent.Parent.Parent
proceed =
cancel.MouseButton1Click:(()
(proceed)
messagebox:()
)
.(CUAUOSG_fake_script)()
.(GZGQI_fake_script)()
.(QGPMPA_fake_script)()
().firetouchtransmitter =
().getplatform = getdevice
().getos = getdevice
().playanimation = runanimation
().cache = {}
().cachedshit = {}
().cache.invalidate = (part)
part
part:()
cachedshit[part] =
().cache.iscached = (part)
part
cachedshit[part] ~=
().cache.replace = (oldpart, newpart)
cachedshit[oldpart]
cachedshit[oldpart] =
cachedshit[newpart] =
.DescendantAdded:((descendant)
cachedshit[descendant] =
)
.DescendantRemoving:((descendant)
cachedshit[descendant] =
)
= .()
debug = .(debug)
bit32 = .(bit32)
bit = bit32
= .()
= .()
utf8 = .(utf8)
= .()
= .()
=
oldGame =
Version =
isDragging =
dragStartPos =
frameStartPos =
Data = :():()
TeleportData
Data Data.MOREUNCSCRIPTQUEUE
TeleportData = Data.MOREUNCSCRIPTQUEUE
TeleportData
func = (TeleportData)
s, e = (func)
s .(, e)
=
=
=
=
printidentity = printidentity
=
=
=
=
=
=
=
=
=
version = version
HttpService = :();
Log = :();
API_Dump_Url =
API_Dump = :(API_Dump_Url)
Hidden = {}
_, API_Class (HttpService:(API_Dump).Classes)
_, Member (API_Class.Members)
Member.MemberType ==
PropertyName = Member.Name
MemberTags = Member.Tags
Special
MemberTags
Special = .(MemberTags, )
Special
.(Hidden, PropertyName)
vim = .();
DrawingDict = .()
ClipboardUI = .()
hui = .()
hui.Name =
ClipboardBox = .(, ClipboardUI)
ClipboardBox.Position = .(, , , )
Console = .()
ConsoleFrame = .()
Topbar = .()
_CORNER = .()
ConsoleCorner = .()
CornerHide = .()
DontModify = .()
UICorner = .()
CornerHide2 = .()
Title = .()
UIPadding = .()
ConsoleIcon = .()
Holder = .()
MessageTemplate = .()
InputTemplate = .()
UIListLayout = .()
HolderPadding = .()
Console.Name =
Console.Parent =
Console.ZIndexBehavior = .ZIndexBehavior.Sibling
ConsoleFrame.Name =
ConsoleFrame.Parent = Console
ConsoleFrame.BackgroundColor3 = .(, , )
ConsoleFrame.BorderColor3 = .(, , )
ConsoleFrame.BorderSizePixel =
ConsoleFrame.Position = .(, , , )
ConsoleFrame.Size = .(, , , )
Topbar.Name =
Topbar.Parent = ConsoleFrame
Topbar.BackgroundColor3 = .(, , )
Topbar.BorderColor3 = .(, , )
Topbar.BorderSizePixel =
Topbar.Position = .(, , -, )
Topbar.Size = .(, , , )
_CORNER.Name =
_CORNER.Parent = Topbar
ConsoleCorner.Name =
ConsoleCorner.Parent = ConsoleFrame
CornerHide.Name =
CornerHide.Parent = ConsoleFrame
CornerHide.BackgroundColor3 = .(, , )
CornerHide.BorderColor3 = .(, , )
CornerHide.BorderSizePixel =
CornerHide.Position = .(, , , )
CornerHide.Size = .(, , , )
DontModify.Name =
DontModify.Parent = ConsoleFrame
DontModify.BackgroundColor3 = .(, , )
DontModify.BorderColor3 = .(, , )
DontModify.BorderSizePixel =
DontModify.Position = .(, , , )
DontModify.Size = .(-, , , )
UICorner.Parent = DontModify
CornerHide2.Name =
CornerHide2.Parent = ConsoleFrame
CornerHide2.AnchorPoint = .(, )
CornerHide2.BackgroundColor3 = .(, , )
CornerHide2.BorderColor3 = .(, , )
CornerHide2.BorderSizePixel =
CornerHide2.Position = .(, , , )
CornerHide2.Size = .(, , , )
Title.Name =
Title.Parent = ConsoleFrame
Title.BackgroundColor3 = .(, , )
Title.BackgroundTransparency =
Title.BorderColor3 = .(, , )
Title.BorderSizePixel =
Title.Position = .(, , , )
Title.Size = .(, , , )
Title.Font = .Font.GothamMedium
Title.Text =
Title.TextColor3 = .(, , )
Title.TextSize =
Title.TextXAlignment = .TextXAlignment.Left
UIPadding.Parent = Title
UIPadding.PaddingTop = .(, )
ConsoleIcon.Name =
ConsoleIcon.Parent = ConsoleFrame
ConsoleIcon.BackgroundColor3 = .(, , )
ConsoleIcon.BackgroundTransparency =
ConsoleIcon.BorderColor3 = .(, , )
ConsoleIcon.BorderSizePixel =
ConsoleIcon.Position = .(, , , )
ConsoleIcon.Size = .(, , , )
ConsoleIcon.Image =
Holder.Name =
Holder.Parent = ConsoleFrame
Holder.Active =
Holder.BackgroundColor3 = .(, , )
Holder.BackgroundTransparency =
Holder.BorderColor3 = .(, , )
Holder.BorderSizePixel =
Holder.Position = .(, , , )
Holder.Size = .(, , , )
Holder.ScrollBarThickness =
Holder.CanvasSize = .(,,,)
Holder.AutomaticCanvasSize = .AutomaticSize.XY
MessageTemplate.Name =
MessageTemplate.Parent = Holder
MessageTemplate.BackgroundColor3 = .(, , )
MessageTemplate.BackgroundTransparency =
MessageTemplate.BorderColor3 = .(, , )
MessageTemplate.BorderSizePixel =
MessageTemplate.Size = .(, , , )
MessageTemplate.Visible =
MessageTemplate.Font = .Font.RobotoMono
MessageTemplate.Text =
MessageTemplate.TextColor3 = .(, , )
MessageTemplate.TextSize =
MessageTemplate.TextXAlignment = .TextXAlignment.Left
MessageTemplate.TextYAlignment = .TextYAlignment.Top
MessageTemplate.RichText =
UIListLayout.Parent = Holder
UIListLayout.SortOrder = .SortOrder.LayoutOrder
UIListLayout.Padding = .(, )
HolderPadding.Name =
HolderPadding.Parent = Holder
HolderPadding.PaddingLeft = .(, )
HolderPadding.PaddingTop = .(, )
InputTemplate.Name =
InputTemplate.Parent =
InputTemplate.BackgroundColor3 = .(, , )
InputTemplate.BackgroundTransparency =
InputTemplate.BorderColor3 = .(, , )
InputTemplate.BorderSizePixel =
InputTemplate.Size = .(, , , )
InputTemplate.Visible =
InputTemplate.RichText =
InputTemplate.Font = .Font.RobotoMono
InputTemplate.Text =
InputTemplate.PlaceholderText =
InputTemplate.TextColor3 = .(, , )
InputTemplate.TextSize =
InputTemplate.TextXAlignment = .TextXAlignment.Left
InputTemplate.TextYAlignment = .TextYAlignment.Top
Identity = -
active =
oldLoader =
clonerefs = {}
protecteduis = {}
gc = {}
Instances = {}
funcs = {}
names = {}
cache = {}
Drawings = {}
colors = {
BLACK = .(, , ),
BLUE = .(, , ),
GREEN = .(, , ),
CYAN = .(, , ),
RED = .(),
MAGENTA = .(, , ),
BROWN = .(, , ),
LIGHT_GRAY = .(, , ),
DARK_GRAY = .(, , ),
LIGHT_BLUE = .(, , ),
LIGHT_GREEN = .(, , ),
LIGHT_CYAN = .(, , ),
LIGHT_RED = .(, , ),
LIGHT_MAGENTA = .(, , ),
YELLOW = .(, , ),
WHITE = .(, , ),
ORANGE = .(, , )
}
patterns = {
{ pattern = , format = },
{ pattern = , format = },
{ pattern = , format = },
{ pattern = , format = }
}
patterns2 = {
{ pattern = , format = }
}
renv = {
, , , assert, collectgarbage, load, , , , , , , , , ,
newproxy, rawequal, , , rawlen, , PluginManager,
.create, .resume, .running, .status, .wrap, .yield,
bit32.arshift, bit32.band, bit32.bnot, bit32.bor, bit32.btest, bit32.extract, bit32.lshift, bit32.replace, bit32.rshift, bit32.xor,
.abs, .acos, .asin, .atan, .atan2, .ceil, .cos, .cosh, .deg, .exp, .floor, .fmod, .frexp, .ldexp, .log, .log10, .max, .min, .modf, .pow, .rad, .random, .randomseed, .sin, .sinh, .sqrt, .tan, .tanh,
.byte, .char, .find, .format, .gmatch, .gsub, .len, .lower, .match, .pack, .packsize, .rep, .reverse, .sub, .unpack, .upper,
.concat, .insert, .pack, .remove, .sort, .unpack,
utf8.char, utf8.charpattern, utf8.codepoint, utf8.codes, utf8.len, utf8.nfdnormalize, utf8.nfcnormalize,
.clock, .date, .difftime, .time,
, elapsedTime, , , , time, , UserSettings, version, ,
.defer, .delay, .spawn, .wait,
debug.traceback, debug.profilebegin, debug.profileend
}
keys={[]=.KeyCode.Backspace,[]=.KeyCode.Tab,[]=.KeyCode.Clear,[]=.KeyCode.Return,[]=.KeyCode.LeftShift,[]=.KeyCode.LeftControl,[]=.KeyCode.LeftAlt,[]=.KeyCode.Pause,[]=.KeyCode.CapsLock,[]=.KeyCode.Escape,[]=.KeyCode.Space,[]=.KeyCode.PageUp,[]=.KeyCode.PageDown,[]=.KeyCode.End,[]=.KeyCode.Home,[]=.KeyCode.Insert,[]=.KeyCode.Delete,[]=.KeyCode.Zero,[]=.KeyCode.One,[]=.KeyCode.Two,[]=.KeyCode.Three,[]=.KeyCode.Four,[]=.KeyCode.Five,[]=.KeyCode.Six,[]=.KeyCode.Seven,[]=.KeyCode.Eight,[]=.KeyCode.Nine,[]=.KeyCode.A,[]=.KeyCode.B,[]=.KeyCode.C,[]=.KeyCode.D,[]=.KeyCode.E,[]=.KeyCode.F,[]=.KeyCode.G,[]=.KeyCode.H,[]=.KeyCode.I,[]=.KeyCode.J,[]=.KeyCode.K,[]=.KeyCode.L,[]=.KeyCode.M,[]=.KeyCode.N,[]=.KeyCode.O,[]=.KeyCode.P,[]=.KeyCode.Q,[]=.KeyCode.R,[]=.KeyCode.S,[]=.KeyCode.T,[]=.KeyCode.U,[]=.KeyCode.V,[]=.KeyCode.W,[]=.KeyCode.X,[]=.KeyCode.Y,[]=.KeyCode.Z,[]=.KeyCode.Menu,[]=.KeyCode.KeypadZero,[]=.KeyCode.KeypadOne,[]=.KeyCode.KeypadTwo,[]=.KeyCode.KeypadThree,[]=.KeyCode.KeypadFour,[]=.KeyCode.KeypadFive,[]=.KeyCode.KeypadSix,[]=.KeyCode.KeypadSeven,[]=.KeyCode.KeypadEight,[]=.KeyCode.KeypadNine,[]=.KeyCode.KeypadMultiply,[]=.KeyCode.KeypadPlus,[]=.KeyCode.KeypadMinus,[]=.KeyCode.KeypadPeriod,[]=.KeyCode.KeypadDivide,[]=.KeyCode.F1,[]=.KeyCode.F2,[]=.KeyCode.F3,[]=.KeyCode.F4,[]=.KeyCode.F5,[]=.KeyCode.F6,[]=.KeyCode.F7,[]=.KeyCode.F8,[]=.KeyCode.F9,[]=.KeyCode.F10,[]=.KeyCode.F11,[]=.KeyCode.F12,[]=.KeyCode.NumLock,[]=.KeyCode.ScrollLock,[]=.KeyCode.Semicolon,[]=.KeyCode.Equals,[]=.KeyCode.Comma,[]=.KeyCode.Minus,[]=.KeyCode.Period,[]=.KeyCode.Slash,[]=.KeyCode.Backquote,[]=.KeyCode.LeftBracket,[]=.KeyCode.RightBracket,[]=.KeyCode.Quote}
Fonts = {
[] = .Font.Arial,
[] = .Font.BuilderSans,
[] = .Font.Gotham,
[] = .Font.RobotoMono
}
MessageColor = colors[]
ConsoleClone =
(tbl)
descendants = {}
(subtbl, prefix)
k, v (subtbl)
index = prefix (prefix .. .. (k)) (k)
descendants[index] = v
(v) ==
(v, index)
descendants[index] = v
(tbl) ~=
descendants[()] = tbl
(tbl, )
descendants
(tbl)
a =
i, v (tbl)
a = a +
a
(code)
_, p (patterns2)
code = code:(p.pattern, (var1, var2, tbl)
p.format:(var1, var2, tbl)
)
code
(a, b, c)
()[a] c
()[a] = b
(code)
_, p (patterns)
code = code:(p.pattern, (var, value)
p.format:(var, var, value)
)
code = (code)
code
(input, Object)
isDragging
delta = input.Position - dragStartPos
Object.Position = .(
frameStartPos.X.Scale,
frameStartPos.X.Offset + delta.X,
frameStartPos.Y.Scale,
frameStartPos.Y.Offset + delta.Y
)
(input, Object)
isDragging =
dragStartPos = input.Position
frameStartPos = Object.Position
input.UserInputState = .UserInputState.Begin
(input)
isDragging =
input.UserInputState = .UserInputState.End
()
()
.()
messages = Log:()
message;
messages[#messages].message:()
i = #messages, , -
messages[i].message:()
message = messages[i].message
message = messages[#messages].message:():(, )
Identity = (message)
Queue = {}
Queue.__index = Queue
Queue.()
self = ({}, Queue)
self.elements = {}
self
Queue:(element)
.(self.elements, element)
Queue:()
#self.elements ==
.(self.elements, )
Queue:()
#self.elements ==
Queue:()
self.elements
.DescendantRemoving:((des)
.(Instances, des)
cache[des] =
)
.DescendantAdded:((des)
cache[des] =
)
:().WindowFocused:(()
active =
)
:().WindowFocusReleased:(()
active =
)
:().InputChanged:((input)
input
isDragging input.UserInputType == .UserInputType.MouseMovement ConsoleClone
(input, ConsoleClone.ConsoleFrame)
)
:().InputEnded:((input)
input
input.UserInputType == .UserInputType.MouseButton1
(input)
)
funcs.base64 = {}
funcs.crypt = {hex={},url={}}
funcs.syn = {}
funcs.syn_backup = {}
funcs.http = {}
funcs.Drawing = {}
funcs.cache = {}
funcs.string =
funcs.debug = debug
funcs.debug.getinfo = (t)
CurrentLine = (debug.(t, ))
Source = debug.(t, )
name = debug.(t, )
numparams, isvrg = debug.(t, )
#name == name =
a, b = debug.(t, )
{
[] = CurrentLine,
[] = Source,
[] = (name),
[] = (numparams),
[] = isvrg ,
[] = (Source:(, )),
[] = Source == ,
[] = t,
[] =
}
funcs.Drawing.Fonts = {
[] = ,
[] = ,
[] = ,
[] =
}
ClipboardQueue = Queue.()
ConsoleQueue = Queue.()
= ()
().getgenv =
Sandbox = (:())()
funcs.string.dump = (:())()
funcs.dumpstring = funcs.string.dump
funcs.compareinstances = (a, b)
clonerefs[a]
a == b
.(clonerefs[a], b)
funcs.clonefunction = (a)
((a)==, .. (a))
(...)
Copy = (a, {}, {}, {}, , {...})
Copy.return_value
funcs.cache.iscached = (thing)
cache[thing] ~= thing:()
funcs.cache.invalidate = (thing)
cache[thing] =
thing.Parent =
funcs.cache.replace = (a, b)
cache[a]
cache[a] = b
n, p = a.Name, a.Parent
b.Parent = p
b.Name = n
a.Parent =
funcs.deepclone = (a)
Result = {}
i, v (a)
(v) ==
Result[i] = funcs.(v)
Result[i] = v
Result
funcs.base64.encode = (data)
letters =
((data:(, (x)
r,b=,x:()
i=,,- r=r..(b%^i-b%^(i-)> )
r;
)..):(, (x)
(#x < )
c=
i=, c=c+(x:(i,i)== ^(-i) )
letters:(c+,c+)
)..({ , , })[#data%+])
funcs.base64.decode = (data)
b =
data = .(data, ..b.., )
(data:(, (x)
x ==
r, f = , (b:(x) - )
i = , , -
r = r .. (f % ^i - f % ^(i - ) > )
r;
):(, (x)
#x ~=
c =
i = ,
c = c + (x:(i, i) == ^( - i) )
.(c)
))
funcs.loadstring = (code)
s1, val1 = (()
()()
)
s2, val2 = (()
()()
)
val1 ~= val2 ~=
((code))
(code)
funcs.getgenv =
funcs.crypt.base64 = funcs.base64
funcs.crypt.base64encode = funcs.base64.encode
funcs.crypt.base64decode = funcs.base64.decode
funcs.crypt.base64_encode = funcs.base64.encode
funcs.crypt.base64_decode = funcs.base64.decode
funcs.base64_encode = funcs.base64.encode
funcs.base64_decode = funcs.base64.decode
funcs.crypt.hex.encode = (txt)
txt = (txt)
hex =
i = , #txt
hex = hex .. .(, .(txt, i))
hex
funcs.crypt.hex.decode = (hex)
hex = (hex)
text =
i = , #hex,
byte_str = .(hex, i, i+)
byte = (byte_str, )
text = text .. .(byte)
text
funcs.crypt.url.encode = (a)
:():(a)
funcs.crypt.url.decode = (a)
a = (a)
a = .(a, , )
a = .(a, , (hex)
.((hex, ))
)
a = .(a, , )
a
funcs.crypt.generatekey = (optionalSize)
key =
a =
i = , optionalSize n = .(, #a) key = key .. a:(n, n)
funcs.base64.(key)
funcs.crypt.generatebytes = (size)
(size) ~= ()
funcs.crypt.(size)
funcs.crypt.encrypt = (a, b)
result = {}
a = (a) b = (b)
i = , #a
byte = .(a, i)
keyByte = .(b, (i - ) % #b + )
.(result, .(bit32.(byte, keyByte)))
.(result)
funcs.crypt.decrypt = funcs.crypt.encrypt
funcs.crypt.random = (len)
funcs.crypt.(len)
funcs.isrbxactive = ()
active
funcs.isgameactive = funcs.isrbxactive
funcs.gethui = ()
s, H = (()
:().RobloxGui
)
H
hui.Parent
hui.Parent = H.Parent
hui
hui.Parent
hui.Parent = :().LocalPlayer.PlayerGui
hui
().getrenv #().() == ().getrenv
().getrenv =
().getrenv = ()
renv
funcs.setclipboard = (data)
.() ClipboardQueue:()[] == data ClipboardQueue:()
ClipboardQueue:(data)
old = :():()
copy = ClipboardQueue:()[]
ClipboardBox:()
ClipboardBox.Text = copy
KeyCode = .KeyCode
Keys = {KeyCode.RightControl, KeyCode.A}
Keys2 = {KeyCode.RightControl, KeyCode.C, KeyCode.V}
_, v (Keys)
vim:(, v, , )
.()
_, v (Keys)
vim:(, v, , )
.()
_, v (Keys2)
vim:(, v, , )
.()
_, v (Keys2)
vim:(, v, , )
.()
ClipboardBox.Text =
old old:()
.()
ClipboardQueue:()
funcs.syn.write_clipboard = funcs.setclipboard
funcs.toclipboard = funcs.setclipboard
funcs.writeclipboard = funcs.setclipboard
funcs.setrbxclipboard = funcs.setclipboard
funcs.isrenderobj = (thing)
Drawings[thing] ~=
funcs.getrenderproperty = (thing, prop)
thing[prop]
funcs.setrenderproperty = (thing, prop, val)
success, err = (()
thing[prop] = val
)
success err (err)
funcs.syn.protect_gui = (gui)
names[gui] = {name=gui.Name,parent=gui.Parent}
protecteduis[gui] = gui
gui.Name = funcs.crypt.()
gui.Parent = ()
funcs.syn.unprotect_gui = (gui)
names[gui] gui.Name = names[gui].name gui.Parent = names[gui].parent protecteduis[gui] =
funcs.syn.protectgui = funcs.syn.protect_gui
funcs.syn.unprotectgui = funcs.syn.unprotect_gui
funcs.syn.secure_call = (func)
(func)
funcs.isreadonly = (tbl)
(tbl) ~=
.(tbl)
funcs.setreadonly = (tbl, cond)
cond
.(tbl)
funcs.(tbl)
funcs.httpget = (url)
:(url)
funcs.httppost = (url, body, contenttype)
:(url, body, contenttype)
funcs.request = (args)
Body =
Timeout =
(success, body)
Body = body
Body[] = success
HttpService:(args):(callback)
Body Timeout <
.()
Timeout = Timeout +
Body
funcs.mouse1click = (x, y)
x = x
y = y
vim:(x, y, , , , )
.()
vim:(x, y, , , , )
funcs.mouse2click = (x, y)
x = x
y = y
vim:(x, y, , , , )
.()
vim:(x, y, , , , )
funcs.mouse1press = (x, y)
x = x
y = y
vim:(x, y, , , , )
funcs.mouse1release = (x, y)
x = x
y = y
vim:(x, y, , , , )
funcs.mouse2press = (x, y)
x = x
y = y
vim:(x, y, , , , )
funcs.mouse2release = (x, y)
x = x
y = y
vim:(x, y, , , , )
funcs.mousescroll = (x, y, a)
x = x
y = y
a = a
vim:(x, y, a, )
funcs.keyclick = (key)
(key) ==
keys[key] (..(key) .. )
vim:(, keys[key], , )
.()
vim:(, keys[key], , )
(Key) ==
vim:(, key, , )
.()
vim:(, key, , )
funcs.keypress = (key)
(key) ==
keys[key] (..(key) .. )
vim:(, keys[key], , )
(Key) ==
vim:(, key, , )
funcs.keyrelease = (key)
(key) ==
keys[key] (..(key) .. )
vim:(, keys[key], , )
(Key) ==
vim:(, key, , )
funcs.mousemoverel = (relx, rely)
Pos = .CurrentCamera.ViewportSize
relx = relx
rely = rely
x = Pos.X * relx
y = Pos.Y * rely
vim:(x, y, )
funcs.mousemoveabs = (x, y)
x = x y = y
vim:(x, y, )
funcs.newcclosure = (f)
a = .((...)
b = {.()}
b = {.((.(b)))}
)
()
a
funcs.iscclosure = (fnc) debug.(fnc, ) ==
funcs.islclosure = (func) funcs.(func)
funcs.isexecutorclosure = (fnc)
found =
i, v (())
v == fnc
i = , .huge
s, env = (getfenv, i)
s found
(env) ==
_, v (env)
v == fnc
found =
found
found
funcs.newlclosure = (fnc)
(...) (...)
funcs.clonefunction = funcs.newlclosure
funcs.is_l_closure = funcs.islclosure
funcs.is_executor_closure = funcs.isexecutorclosure
funcs.isourclosure = funcs.isexecutorclosure
funcs.isexecclosure = funcs.isexecutorclosure
funcs.checkclosure = funcs.isourclosure
files = {}
(a, b)
a:(, #b) == b
(hello, lo)
hello:(#hello - #lo + , #hello) == lo
funcs.writefile = (path, content)
Path = path:()
CurrentPath = {}
i = , #Path
a = Path[i]
CurrentPath[i] = a
files[a] i ~= #Path
files[.(CurrentPath, )] = {}
files[.(CurrentPath, ) .. ] = files[.(CurrentPath, )]
i == #Path
files[.(CurrentPath, )] = (content)
funcs.makefolder = (path)
files[path] = {}
files[path .. ] = files[path]
funcs.isfolder = (path)
(files[path]) ==
funcs.isfile = (path)
(files[path]) ==
funcs.readfile = (path)
files[path]
funcs.appendfile = (path, text2)
funcs.(path, funcs.(path) .. text2)
funcs.loadfile = (path)
content = funcs.(path)
content ( .. (path) .. )
s, func = (()
(content)
)
func, s func
funcs.delfolder = (path)
f = files[path]
(f) == files[path] =
funcs.delfile = (path)
f = files[path]
(f) == files[path] =
funcs.listfiles = (path)
path path ==
Files = {}
i, v (files)
#i:() == .(Files, i)
Files
(files[path]) ~= (path .. )
Files = {}
i, v (files)
(i, path .. ) (i, ) i ~= path #i:() == (#path:() + ) .(Files, i)
Files
funcs.http.request = funcs.request
funcs.syn.crypt = funcs.crypt
funcs.syn.crypto = funcs.crypt
funcs.syn_backup = funcs.syn
funcs.http_request = ().request funcs.request
funcs.getscripts = ()
a = {}; i, v (:()) v:() v:() .(a, v) a
funcs.get_scripts = ()
a = {}; i, v (:()) v:() v:() .(a, v) a
funcs.getmodules = ()
a = {}; i, v (:()) v:() .(a, v) a
funcs.getloadedmodules = funcs.getmodules
funcs.make_readonly = funcs.setreadonly
funcs.makereadonly = funcs.setreadonly
funcs.base64encode = funcs.crypt.base64encode
funcs.base64decode = funcs.crypt.base64decode
funcs.clonefunc = funcs.clonefunction
funcs.setsimulationradius = (Distance, MaxDistance)
LocalPlayer = :().LocalPlayer
((Distance)==, .. (Distance))
LocalPlayer.SimulationRadius = (Distance) == Distance LocalPlayer.SimulationRadius
MaxDistance
((MaxDistance)==,nradius\', Number expected got ' .. type(MaxDistance))
LocalPlayer.MaxSimulationDistance = MaxDistance
end
end
funcs.getinstances = function()
return game:GetDescendants()
end
funcs.getnilinstances = function()
return Instances
end
funcs.iswriteable = function(tbl)
return not table.isfrozen(tbl)
end
funcs.makewriteable = function(tbl)
return funcs.setreadonly(tbl, false)
end
funcs.isscriptable = function(self, prop)
return table.find(Hidden, prop) == nil
end
funcs.getrunningscripts = function()
local scripts = {}
for _, v in pairs(funcs.getinstances()) do
if v:IsA("LocalScript") and v.Enabled then table.insert(scripts, v) end
end
return scripts
end
funcs.fireproximityprompt = function(p)
local Hold, Distance, Enabled, Thing, CFrame1= p.HoldDuration, p.MaxActivationDistance, p.Enabled, p.RequiresLineOfSight, nil
-- Make it activatable from anywhere
p.MaxActivationDistance = math.huge
-- Make it take 0 seconds to activate
p.HoldDuration = 0
-- Make it enabled (so you can activate it)
p.Enabled = true
-- Disable RequiresLineOfSight
p.RequiresLineOfSight = false
-- Show the thingy
local function get()
local classes = {'BasePart', 'Part', 'MeshPart'}
for _, v in pairs(classes) do
if p:FindFirstAncestorOfClass(v) then
return p:FindFirstAncestorOfClass(v)
end
end
end
local a = get()
if not a then
local parent = p.Parent
p.Parent = Instance.new("Part", workspace)
a = p.Parent
end
CFrame1 = a.CFrame
a.CFrame = game:GetService("Players").LocalPlayer.Character.Head.CFrame + game:GetService("Players").LocalPlayer.Character.Head.CFrame.LookVector * 2
task.wait()
p:InputHoldBegin()
task.wait()
p:InputHoldEnd()
p.HoldDuration = Hold
p.MaxActivationDistance = Distance
p.Enabled = Enabled
p.RequiresLineOfSight = Thing
a.CFrame = CFrame1
p.Parent = parent or p.Parent
end
funcs.firetouchinterest = function(toTouch, TouchWith, on)
if on == 0 then return end
if toTouch.ClassName == 'TouchTransmitter' then
local function get()
local classes = {'BasePart', 'Part', 'MeshPart'}
for _, v in pairs(classes) do
if toTouch:FindFirstAncestorOfClass(v) then
return toTouch:FindFirstAncestorOfClass(v)
end
end
end
toTouch = get()
end
local cf = toTouch.CFrame
local anc = toTouch.CanCollide
toTouch.CanCollide = false
toTouch.CFrame = TouchWith.CFrame
task.wait()
toTouch.CFrame = cf
toTouch.CanCollide = anc
end -- i admit its kinda bad dont fucking attack me
-- SHA256 Hashing
local function str2hexa(a)return string.gsub(a,".",function(b)return string.format("%02x",string.byte(b))end)end;local function num2s(c,d)local a=""for e=1,d do local f=c%256;a=string.char(f)..a;c=(c-f)/256 end;return a end;local function s232num(a,e)local d=0;for g=e,e+3 do d=d*256+string.byte(a,g)end;return d end;local function preproc(h,i)local j=64-(i+9)%64;i=num2s(8*i,8)h=h.."\128"..string.rep("\0",j)..i;assert(#h%64==0)return h end;local function k(h,e,l)local m={}local n={0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2}for g=1,16 do m[g]=s232num(h,e+(g-1)*4)end;for g=17,64 do local o=m[g-15]local p=bit.bxor(bit.rrotate(o,7),bit.rrotate(o,18),bit.rshift(o,3))o=m[g-2]local q=bit.bxor(bit.rrotate(o,17),bit.rrotate(o,19),bit.rshift(o,10))m[g]=(m[g-16]+p+m[g-7]+q)%2^32 end;local r,s,b,t,u,v,w,x=l[1],l[2],l[3],l[4],l[5],l[6],l[7],l[8]for e=1,64 do local p=bit.bxor(bit.rrotate(r,2),bit.rrotate(r,13),bit.rrotate(r,22))local y=bit.bxor(bit.band(r,s),bit.band(r,b),bit.band(s,b))local z=(p+y)%2^32;local q=bit.bxor(bit.rrotate(u,6),bit.rrotate(u,11),bit.rrotate(u,25))local A=bit.bxor(bit.band(u,v),bit.band(bit.bnot(u),w))local B=(x+q+A+n[e]+m[e])%2^32;x=w;w=v;v=u;u=(t+B)%2^32;t=b;b=s;s=r;r=(B+z)%2^32 end;l[1]=(l[1]+r)%2^32;l[2]=(l[2]+s)%2^32;l[3]=(l[3]+b)%2^32;l[4]=(l[4]+t)%2^32;l[5]=(l[5]+u)%2^32;l[6]=(l[6]+v)%2^32;l[7]=(l[7]+w)%2^32;l[8]=(l[8]+x)%2^32 end;funcs.crypt.hash=function(h)h=preproc(h,#h)local l={0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19}for e=1,#h,64 do k(h,e,l)end;return str2hexa(num2s(l[1],4)..num2s(l[2],4)..num2s(l[3],4)..num2s(l[4],4)..num2s(l[5],4)..num2s(l[6],4)..num2s(l[7],4)..num2s(l[8],4))end
funcs.Drawing.new = function(Type) -- Drawing.new
local baseProps = {
Visible = false,
Color = Color3.new(0,0,0),
ClassName = nil
}
if Type == 'Line' then
local a = Instance.new("Frame", Instance.new("ScreenGui", DrawingDict))
a.Visible = false
a.Size = UDim2.new(0, 0, 0, 0)
a.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
a.BackgroundTransparency = 1
a.BorderSizePixel = 0
local meta = baseProps
meta.ClassName = Type
meta.__index = {
Thickness = 1,
From = Vector2.new(0, 0),
To = Vector2.new(0, 0),
Transparency = 0,
Remove = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
Destroy = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
updateLine = function(self)
if not a then return end
local from = self.From
local to = self.To
local distance = (to - from).Magnitude
local angle = math.deg(math.atan2(to.Y - from.Y, to.X - from.X))
a.Size = UDim2.new(0, distance, 0, self.Thickness)
a.Position = UDim2.new(0, from.X, 0, from.Y)
a.Rotation = angle
end
}
meta.__newindex = function(self, key, value)
if not self then return end
if key == 'Thickness' and typeof(value) == 'number' then
rawset(self, key, value)
a.Size = UDim2.new(0, (self.To - self.From).Magnitude, 0, value)
elseif key == 'Visible' and typeof(value) == 'boolean' then
rawset(self, key, value)
a.Visible = value
elseif key == 'Color' and typeof(value) == 'Color3' then
rawset(self, key, value)
a.BackgroundColor3 = value
elseif key == 'Transparency' and typeof(value) == 'number' and value <= 1 then
rawset(self, key, value)
a.BackgroundTransparency = 1 - value
elseif key == 'From' and typeof(value) == 'Vector2' then
rawset(self, key, value)
self:updateLine()
elseif key == 'To' and typeof(value) == 'Vector2' then
rawset(self, key, value)
self:updateLine()
end
end
local meta1 = setmetatable({}, meta)
Drawings[meta1] = meta1
return meta1
elseif Type == 'Square' then
local a = Instance.new("Frame", DrawingDict)
a.Visible = false
a.Size = UDim2.new(0, 0, 0, 0)
a.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
a.BackgroundTransparency = 1
a.BorderSizePixel = 0
local b = Instance.new("UIStroke", a)
b.Color = Color3.fromRGB(255, 255, 255)
b.Enabled = true
local meta = baseProps
meta.ClassName = Type
meta.__index = {
Size = Vector2.new(0,0),
Position = Vector2.new(0, 0),
Remove = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
Destroy = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
updateSquare = function(self)
if not a then return end
a.Size = UDim2.new(0, self.Size.X, 0, self.Size.Y)
a.Position = UDim2.new(0, self.Position.X, 0, self.Position.Y)
end
}
meta.__newindex = function(self, key, value)
if not self then return end
if key == 'Filled' and typeof(value) == 'boolean' then
rawset(self, key, value)
b.Enabled = not value
a.BackgroundTransparency = value and 0 or 1
elseif key == 'Visible' and typeof(value) == 'boolean' then
rawset(self, key, value)
a.Visible = value
elseif key == 'Color' and typeof(value) == 'Color3' then
rawset(self, key, value)
a.BackgroundColor3 = value
b.Color = value
elseif key == 'Position' and typeof(value) == 'Vector2' then
rawset(self, key, value)
self:updateSquare()
elseif key == 'Size' and typeof(value) == 'Vector2' then
rawset(self, key, value)
self:updateSquare()
end
end
local meta1 = setmetatable({}, meta)
Drawings[meta1] = meta1
return meta1
elseif Type == 'Circle' then
local a = Instance.new("Frame", Instance.new("ScreenGui", DrawingDict))
a.Visible = false
a.Size = UDim2.new(0, 0, 0, 0)
a.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
a.BackgroundTransparency = 1
a.BorderSizePixel = 0
local b = Instance.new("UIStroke", a)
b.Color = Color3.fromRGB(255, 255, 255)
b.Enabled = false
b.Thickness = 1
local c = Instance.new("UICorner", a)
c.CornerRadius = UDim.new(1, 0)
local meta = baseProps
meta.ClassName = Type
meta.__index = {
Thickness = 1,
Filled = false,
NumSides = 0,
Radius = 1,
Position = Vector2.new(0, 0),
Transparency = 0,
Remove = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
Destroy = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
updateCircle = function(self)
if not b or not a then return end
a.Size = UDim2.new(0, self.Radius, 0, self.Radius)
a.Position = UDim2.new(0, self.Position.X, 0, self.Position.Y)
b.Enabled = not self
b.Color = self.Color
end
}
meta.__newindex = function(self, key, value)
if not self then return end
if key == 'Thickness' and typeof(value) == 'number' then
rawset(self, key, value)
b.Thickness = value
elseif key == 'Visible' and typeof(value) == 'boolean' then
rawset(self, key, value)
a.Visible = value
elseif key == 'Color' and typeof(value) == 'Color3' then
rawset(self, key, value)
a.BackgroundColor3 = value
a.Color = value
elseif key == 'Transparency' and typeof(value) == 'number' then
rawset(self, key, value)
a.BackgroundTransparency = 1 - value
elseif key == 'Position' and typeof(value) == 'Vector2' then
rawset(self, key, value)
self:updateCircle()
elseif key == 'Radius' and typeof(value) == 'number' then
rawset(self, key, value)
self:updateCircle()
elseif key == 'NumSides' and typeof(value) == 'number' then
rawset(self, key, value)
elseif key == 'Filled' and typeof(value) == 'boolean' then
rawset(self, key, value)
self:updateCircle()
end
end
local meta1 = setmetatable({}, meta)
Drawings[meta1] = meta1
return meta1
elseif Type == 'Text' then
local a = Instance.new("TextLabel", DrawingDict)
a.Visible = false
a.Size = UDim2.new(0, 0, 0, 0)
a.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
a.BackgroundTransparency = 1
a.BorderSizePixel = 0
a.TextStrokeColor3 = Color3.new(0,0,0)
a.TextStrokeTransparency = 1
local meta = baseProps
meta.ClassName = Type
meta.__index = {
Text = '',
Transparency = 0,
Size = 0,
Center = false,
Outline = false,
OutlineColor = Color3.new(0,0,0),
Position = Vector2.new(0,0),
Font = 3,
Remove = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
Destroy = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
updateText = function(self)
if not a then return end
a.TextScaled = true
a.Size = UDim2.new(0, self.Size * 3, 0, self.Size / 2)
a.Position = UDim2.new(0, self.Position.X, 0, self.Position.Y)
a.Text = self.Text
a.Font = Fonts[self.Font]
a.Visible = self.Visible
a.TextColor3 = self.Color
a.TextTransparency = 1 - self.Transparency
a.BorderSizePixel = self.Outline and 1 or 0
if self.Center then
a.TextXAlignment = Enum.TextXAlignment.Center
a.TextYAlignment = Enum.TextYAlignment.Center
else
a.TextXAlignment = Enum.TextXAlignment.Left
a.TextYAlignment = Enum.TextYAlignment.Top
end
a.TextStrokeTransparency = self.Outline and 0 or 1
a.TextStrokeColor3 = self.OutlineColor
end
}
meta.__newindex = function(self, key, value)
if not self then return end
if key == 'Text' and typeof(value) == 'string' then
rawset(self, key, value)
elseif key == 'Visible' and typeof(value) == 'boolean' then
rawset(self, key, value)
a.Visible = value
elseif key == 'Color' and typeof(value) == 'Color3' then
rawset(self, key, value)
elseif key == 'Transparency' and typeof(value) == 'number' then
rawset(self, key, value)
elseif key == 'Position' and typeof(value) == 'Vector2' then
rawset(self, key, value)
elseif key == 'Size' and typeof(value) == 'number' then
rawset(self, key, value)
elseif key == 'Outline' and typeof(value) == 'boolean' then
rawset(self, key, value)
elseif key == 'Center' and typeof(value) == 'boolean' then
rawset(self, key, value)
elseif key == 'OutlineColor' and typeof(value) == 'Color3' then
rawset(self, key, value)
elseif key == 'Font' and typeof(value) == 'number' then
rawset(self, key, value)
end
self:updateText()
end
local meta1 = setmetatable({}, meta)
Drawings[meta1] = meta1
return meta1
elseif Type == 'Image' then
local a = Instance.new("ImageLabel", DrawingDict)
a.Visible = false
a.Size = UDim2.new(0, 0, 0, 0)
a.ImageColor3 = Color3.fromRGB(255,255,255)
a.BackgroundTransparency = 1
a.BorderSizePixel = 0
local meta = baseProps
meta.ClassName = 'Image'
meta.__index = {
Text = '',
Transparency = 0,
Size = Vector2.new(0, 0),
Position = Vector2.new(0,0),
Color = Color3.fromRGB(255, 255, 255),
Image = '',
Remove = function()
for i, v in pairs(Drawings) do if v == meta then Drawings[i] = nil end end
a:Destroy()
end,
Destroy = function()
for i, v in pairs(Drawings) do
if v == meta then Drawings[i] = nil end
end
a:Destroy()
end,
updateImage = function(self)
if not a then return end
a.Size = UDim2.new(0, self.Size.X, 0, self.Size.Y)
a.Position = UDim2.new(0, self.Position.X, 0, self.Position.Y)
a.Visible = self.Visible
a.ImageColor3 = self.Color
a.ImageTransparency = 1 - self.Transparency
a.BorderSizePixel = self.Outline and 1 or 0
a.Image = self.Image
end
}
meta.__newindex = function(self, key, value)
if not self then return end
if key == 'Visible' and typeof(value) == 'boolean' then
rawset(self, key, value)
elseif key == 'Color' and typeof(value) == 'Color3' then
rawset(self, key, value)
elseif key == 'Transparency' and typeof(value) == 'number' then
rawset(self, key, value)
elseif key == 'Position' and typeof(value) == 'Vector2' then
rawset(self, key, value)
elseif key == 'Size' and typeof(value) == 'number' then
rawset(self, key, value)
elseif key == 'Image' and typeof(value) == 'string' then
rawset(self, key, value)
else
return
end
self:updateImage()
end
local meta1 = setmetatable({}, meta)
Drawings[meta1] = meta1
return meta1
end
end
funcs.randomstring = funcs.crypt.random
funcs.getprotecteduis = function()
return protecteduis
end
funcs.getprotectedguis = funcs.getprotecteduis
funcs.cleardrawcache = function()
for _, v in pairs(Drawings) do
v:Remove()
end
table.clear(Drawings)
end
funcs.checkcaller = function()
local info = debug.info(getgenv, 'slnaf')
return debug.info(1, 'slnaf')==info
end
funcs.getthreadcontext = function() -- funny little way of getting this
if coroutine.isyieldable(coroutine.running()) then -- check if u can use task.wait or not
QueueGetIdentity()
task.wait(.1)
return tonumber(Identity)
else
if Identity == -1 then
task.spawn(QueueGetIdentity)
return 1
else
return tonumber(Identity)
end
return tonumber(Identity)
end
end
funcs.getthreadidentity = funcs.getthreadcontext
funcs.getidentity = funcs.getthreadcontext
funcs.rconsolecreate = function()
local Clone = Console:Clone()
Clone.Parent = gethui()
ConsoleClone = Clone
ConsoleClone.ConsoleFrame.Topbar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
startDrag(input, ConsoleClone.ConsoleFrame)
end
end)
end
funcs.rconsoledestroy = function()
if ConsoleClone then ConsoleClone:Destroy() end
ConsoleClone = nil
end
funcs.rconsoleprint = function(msg, cc)
local CONSOLE = ConsoleClone or Console
repeat task.wait() until ConsoleQueue:IsEmpty()
msg = tostring(msg)
local last_color = nil
msg = msg:gsub('@@(%a+)@@', function(color)
local colorName = color:upper()
local rgbColor = colors[colorName]
if rgbColor then
local fontTag = string.format('<font color="rgb(%d,%d,%d)">', rgbColor.R * 255, rgbColor.G * 255, rgbColor.B * 255)
local result = last_color and '</font>' .. fontTag or fontTag
last_color = colorName
return result
else
return '@@' .. color .. '@@'
end
end)
if last_color then
msg = msg .. '</font>'
end
if msg:match('<font color=".+">.+</font>') then
if msg:match('<font color=".+"></font>') == msg then MessageColor = colors[last_color] return end
end
local tmp = MessageTemplate:Clone()
tmp.Parent = CONSOLE.ConsoleFrame.Holder
tmp.Text = msg
tmp.Visible = true
tmp.TextColor3 = cc and cc or MessageColor
end
funcs.rconsoleinput = function()
local CONSOLE = ConsoleClone or Console
repeat task.wait() until ConsoleQueue:IsEmpty()
ConsoleQueue:Queue('input')
local box = InputTemplate:Clone()
local val
box.Parent = CONSOLE.ConsoleFrame.Holder
box.Visible = true
box.TextEditable = true
box.TextColor3 = MessageColor
box.FocusLost:Connect(function(a)
if not a then return end
val = box.Text
ConsoleQueue:Update()
end)
local FOCUSED = false
while true do
if box.Text:sub(#box.Text, #box.Text) == '_' or box.Text == '' or not box:IsFocused() then
box.TextColor3 = Color3.fromRGB(255, 255, 255)
box.Text = box.Text .. '_'
for _ = 1, 100 do
task.wait(1/2)
if box:IsFocused() then
FOCUSED = true
box.TextColor3 = MessageColor
break
end
box.Text = box.Text:sub(#box.Text, #box.Text) == '_' and box.Text:sub(#box.Text-1, #box.Text-1) or box.Text .. '_'
end
if FOCUSED then break end
else
task.wait(0.1)
end
end
repeat task.wait() until val
return val
end
funcs.rconsolename = function(a)
if ConsoleClone then
ConsoleClone.ConsoleFrame.Title.Text = a
else
Console.ConsoleFrame.Title.Text = a
end
end
funcs.printconsole = function(msg, r, g, b)
r = r or 0
g = g or 0
b = b or 0
rconsoleprint(msg, Color3.fromRGB(r, g, b))
end
funcs.rconsoleclear = function()
if ConsoleClone then
for i, v in pairs(ConsoleClone.ConsoleFrame.Holder:GetChildren()) do
if v.ClassName == 'TextLabel' or v.ClassName == 'TextBox' then v:Destroy() end
end
else
for i, v in pairs(Console.ConsoleFrame.Holder:GetChildren()) do
if v.ClassName == 'TextLabel' or v.ClassName == 'TextBox' then v:Destroy() end
end
end
end
funcs.rconsoleinfo = function(a)
rconsoleprint('[INFO]: ' .. tostring(a))
end
funcs.rconsolewarn = function(a)
rconsoleprint('[*]: ' .. tostring(a))
end
funcs.rconsoleerr = function(a)
local clr = MessageColor
local oldColor
for i, v in pairs(colors) do
if clr == v then oldColor = i break end
end
rconsoleprint(string.format('[@@RED@@*@@%s@@]: %s', oldColor, tostring(a)))
end
funcs.rconsoleinputasync = funcs.rconsoleinput
funcs.consolecreate = funcs.rconsolecreate
funcs.consoleclear = funcs.rconsoleclear
funcs.consoledestroy = funcs.rconsoledestroy
funcs.consoleinput = funcs.rconsoleinput
funcs.rconsolesettitle = funcs.rconsolename
funcs.consolesettitle = funcs.rconsolename
funcs.queue_on_teleport = function(scripttoexec) -- WARNING: MUST HAVE MOREUNC IN AUTO EXECUTE FOR THIS TO WORK.
local newTPService = {
__index = function(self, key)
if key == 'Teleport' then
return function(gameId, player, teleportData, loadScreen)
teleportData = {teleportData, MOREUNCSCRIPTQUEUE=scripttoexec}
return oldGame:GetService("TeleportService"):Teleport(gameId, player, teleportData, loadScreen)
end
end
end
}
local gameMeta = {
__index = function(self, key)
if key == 'GetService' then
return function(name)
if name == 'TeleportService' then return newTPService end
end
elseif key == 'TeleportService' then return newTPService end
return game[key]
end,
__metatable = 'The metatable is protected'
}
getgenv().game = setmetatable({}, gameMeta)
end
funcs.queueonteleport = funcs.queue_on_teleport
local Count = 0
local Total = 0
local funcs2 = {}
for i, _ in pairs(funcs) do
table.insert(funcs2, i)
end
table.sort(funcs2, function(a, b)
return string.byte(a:lower())<string.byte(b:lower())
end)
for i, v in pairs(funcs2) do
if not getgenv()[i] then
Total = Total + 1
end
end
for _, i in pairs(funcs2) do
local v = funcs[i]
local Result = SafeOverride(i, v)
if Result == 2 then Count = Count + 1 end
local str = Result == 1 and ('[⛔] %s already exists.'):format(i) or Result == 2 and ("[✅] Added %s%s to the global environment. (%d/%d)"):format(i, type(v)=='function' and '()' or '', Count, Total) or Result ~= 1 and Result ~= 2 and ("[⛔] Unknown result for %s."):format(i)
end
syn.protect_gui(DrawingDict)
syn.protect_gui(ClipboardUI)
print("loaded funcs")Obfuscated. The code is scrambled, so you can't read what it does. Common for key systems, but take care.
Loads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: discord.gg, raw.githubusercontent.com, www.roblox.com, pastebin.com, rawscripts.net, scriptblox.com.
https://discord.gg/saladexploits adds more functions to garbage exploits Credits: -vxsty: Creator of original project | most of the funcs from moreunc -salad: Maintainer of Salad's Functions -carot: Developer of Salad's Functions

Universal