Run it
Copy the script and paste it into your executor.
i, _ , ()
i ~= i ~=
()[i]=
B =
, , , , , debug = , , , , .Parent, debug
find, gsub, sub, rep, format, match, gmatch, split, byte, char = .find, .gsub, .sub, .rep, .format, .match, .gmatch, .split, .byte, .char
tfind, tinsert, tconcat, tunpack, tclear = .find, .insert, .concat, .unpack, .clear
cwrap, cyield = .wrap, .yield
DEBUG_INFO = debug.info
Instance_new = .new
UDim2_fromOffset = .fromOffset
deg, sqrt, atan2, random, clamp = .deg, .sqrt, .atan2, .random, .clamp
, , , , assert, , , setfenv, getfenv, , , newproxy = , , , , assert, , , setfenv, getfenv, , , newproxy
, , = .wait, .spawn, .delay
HttpService = :()
ScriptContext = :()
LinkingService = :()
InsertService = :()
UserInputService = :()
UGCValidationService = :()
VirtualInputManager = ()
CoreGui = :()
Players = :()
LocalPlayer = Players.LocalPlayer
RobloxActive =
Mouse = LocalPlayer:()
Camera = .CurrentCamera
HiddenUI = ()
HiddenUI.Name = .. (, (, ))
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
}
UserInputService.WindowFocused:(()
RobloxActive =
)
UserInputService.WindowFocusReleased:(()
RobloxActive =
)
(file)
success, content = (()
InsertService:((, file))
)
success content
JSONDecode = (Text)
HttpService:(Text)
HTTP = {}
cloneref = cloneref (p1)
p1
(()
HiddenUI.Parent = (CoreGui)
)
HiddenUI.Parent = LocalPlayer:()
USER = (ScriptContext:(, ), )
(batch)
LinkingService:(ScriptContext:(batch, ))
()
(f)
()
(f);
i, v , ({
(() .Name ),
(() :().Name ),
(() .DataCost ),
(() Instance_new, ),
(() :().Name ),
(() ().TexturePack ),
(() ().MeshId = )
})
()
i - ;
;
(Args)
Args = Args {};
Url, Method, Headers, Body = Args.Url, Args.Method, Args.Headers, Args.Body
(Url, )
(Method, )
Content = {}
HttpService:({
Url = Url,
Method = Method,
Headers = Headers,
Body = Body
}):((Success, Returned)
Content = Returned
Content.Success = Success
)
()
Content.Success ~=
Content;
(a, b, c)
(a) ~=
a = b
b = c
b
({Url = a, Method = }).Body
Saved = HTTP[a] ({Url = a, Method = }).Body
HTTP[a] = Saved
Saved
base64 = {
encode = (data)
letters =
Part = (data,
,
(x)
r, b = , (x)
i = , , -
r = r .. (b % ^ i - b % ^ (i - ) > )
r
) ..
(
Part,
,
(x)
(#x < )
c =
i = ,
c = c + ((x, i, i) == ^ ( - i) )
(letters, c + , c + )
) .. ({, , })[#data % + ]
,
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)
))
}
HashLib = ((, ))()
Sandbox, ReverseGet = ((, ))()
NIL = {}
DrawingCache = {}
= (, {
HttpGet = httpget,
HttpGetAsync = httpget
})
= ()
= ()
Game =
Workspace =
.DescendantRemoving:((d)
(NIL, d)
)
Bridge = {
Url = ,
Connected = ,
Responses = {}
};
Bridge:()
Bridge.Connected
Response = ({
Url = Bridge.Url,
Method =
}).Body
()
Response ==
Bridge.Connected =
Bridge:(Path, Data, NoEncode)
Bridge:();
Base64 = {};
Data
i, v , Data
Base64[i] = (v) == NoEncode base64.(v) v
json = Data HttpService:(Base64)
Response = Bridge.Responses[Path .. (Data json )]
Response
Response
Response = ({
Url = Bridge.Url .. Path,
Method = Data ,
Headers = Data {
[] =
} ,
Body = json
}).Body
(Response, , ) ==
( .. Path, )
Bridge.Responses[Path .. (Data json )] = Response
Response
BRIDGE_PYTHON = ()
((, ScriptContext:(BRIDGE_PYTHON, )))
Bridge:()
() Bridge.Connected
(FolderPath)
((FolderPath) == , .. (FolderPath))
Bridge:(, {
folder = ,
file = FolderPath,
method =
})
(Name, Content)
((Name) == , .. (Name))
((Content) == , .. (Content))
Bridge:(, {
folder = ,
content = Content,
file = Name,
method =
})
(Path)
Bridge:(, {
folder = ,
file = Path,
method =
})
(Path)
Bridge:(, {
folder = ,
file = Path,
method =
})
(Path)
f = Bridge:(, {
file = Path,
method =
})
f ==
(, )
f
(Path)
files = HttpService:(Bridge:(, {
file = Path,
method =
}))
files ==
(, )
files
(Path)
Bridge:(, {
file = Path,
folder = ,
method =
}) ==
(Path)
Bridge:(, {
file = Path,
folder = ,
method =
}) ==
(Path)
Bridge:(, {
func = ,
file = Path
})
(fn)
(fn, ) ==
(fn)
(fn, ) ~=
(fn)
(...)
(...)
Debug = ({
getinfo = (fn)
i = {}
np, isvrg = (fn, )
i.what = (fn)
i.short_src = (fn, )
i.source = (fn, )
i.name = (fn, )
i.func = (fn) == fn (fn, )
i.numparams = np
i.is_vararg = isvrg
i.currentline = (fn, )
i
}, {
__index = debug
})
(fn)
(fn) Debug.(fn).source == Debug.(()).source (()
_, v , ()
v == fn
)()
(fn)
shawarma = ((...)
b = {()}
b={(((b)))}
)
()
shawarma
(t, a)
((t) == , .. (t))
((a) == , .. (a))
a = (a, , )
f = HashLib[a]
(f, .. a .. )
(t)
(LuaScriptContainer)
(({, }, LuaScriptContainer.ClassName), .. LuaScriptContainer.ClassName)
({
Url = ,
Method = ,
Headers = {
[] =
},
Body = (LuaScriptContainer)
}).Body
(text)
((text) == , .. (text))
(Bridge.Send, Bridge, , {
func = ,
text = text
})
Fonts = {
[] = .Font.Arial,
[] = .Font.BuilderSans,
[] = .Font.Gotham,
[] = .Font.RobotoMono
}
(Class, Properties)
Object = (Class);
i, v , Properties
Object[i] = (v) v
Object
()
(HiddenUI)
UI = (, {
Parent = (),
Name =
})
= {
Fonts = {
UI = ,
System = ,
Plex = ,
Monospace = ,
},
new = (Type)
Object = (, {
Visible = ,
Size = (, ),
BackgroundColor3 = .(, , ),
BackgroundTransparency = ,
BorderSizePixel = ,
ZIndex = ,
Parent = UI
});
self = {
Visible = Object.Visible,
Color = Object.BackgroundColor3,
Transparency = ,
ZIndex = Object.ZIndex,
Remove = () Object:()
}
self.Destroy = self.Remove
(Update, Defaults, Default, Readonly)
Readonly = Readonly {}
()
Default
Object.Visible = self.Visible
Object.BackgroundColor3 = self.Color
Object.BackgroundTransparency = - self.Transparency
Object.ZIndex = (self.ZIndex, -B, B)
()
i, v , Defaults
self[i] = v
proxy = ()
mt = (proxy)
mt.__index = (_, b)
self[b]
mt.__newindex = (_, Key, Value)
(Readonly, Key)
;
self[Key] = Value
()
mt.__metatable =
(DrawingCache, {proxy=proxy, instance = Object})
proxy
Type ==
(()
from, to = self.From, self.To
dX, dY = to.X - from.X, to.Y - from.Y
Object.Size = ((dX ^ + dY ^ ), self.Thickness)
Object.Position = (from.X, from.Y)
Object.Rotation = ((dY, dX))
, {
Thickness = ,
From = .zero,
To = .zero
})
Type ==
Stroke = (, {
Parent = Object,
Color = self.Color,
Enabled = ,
Thickness =
})
(()
Object.Size = .(, self.Size.X, , self.Size.Y)
Object.Position = .(, self.Position.X, , self.Position.Y)
Stroke.Enabled = self.Filled
Stroke.Color = self.Color
Stroke.Thickness = self.Thickness
, {
Size = .zero,
Position = .zero,
Filled = ,
Thickness = ,
Transparency =
})
Type ==
Stroke = (, {
Parent = Object,
Color = self.Color,
Enabled =
})
(, {
Parent = Object,
CornerRadius = .(, )
})
(()
Object.Size = .(self.Radius, self.Radius)
Object.Position = .(self.Position.X, self.Position.Y)
Stroke.Enabled = self.Filled
Stroke.Color = self.Color
Stroke.Thickness = self.Thickness
, {
Thickness = ,
NumSides = ,
Radius = ,
Filled = ,
Position = .zero
})
Type ==
Object:()
Object = (, {
Parent = UI,
Visible = self.Visible,
Size = .(, ),
BackgroundColor3 = self.Color,
BackgroundTransparency = - self.Transparency,
BorderSizePixel = ,
TextStrokeColor3 = self.Color,
TextStrokeTransparency = ,
TextSize = self.Size,
TextWrapped =
})
(()
Object.Size = .(self.Size * , self.Size / )
Object.Position = .(self.Position.X, self.Position.Y)
Object.Text = self.Text
Object.Font = Fonts[self.Font]
Object.TextColor3 = self.Color
Object.BackgroundTransparency = - self.Transparency
self.Center
Object.TextXAlignment = .TextXAlignment.Center
Object.TextYAlignment = .TextYAlignment.Center
Object.TextXAlignment = .TextXAlignment.Left
Object.TextYAlignment = .TextYAlignment.Top
Object.TextStrokeTransparency = self.Outline
Object.TextStrokeColor3 = self.OutlineColor
self.TextBounds = Object.TextBounds
, {
Text = ,
Size = ,
Center = ,
Outline = ,
OutlineColor = self.Color,
Position = .zero,
Font =
}, , {})
}
(a)
_, object , DrawingCache
object.proxy == a
()
_, Object , DrawingCache
Object.instance:()
(a, b)
((a), .. (a))
a[b]
(a, b, c)
((a), .. (a))
a[b] = c
(LuaScriptContainer)
(({, }, LuaScriptContainer.ClassName), .. LuaScriptContainer.ClassName)
LuaScriptContainer:()
()
RobloxActive
(Key)
VirtualInputManager:(, Keys[Key], , )
(Key)
VirtualInputManager:(, Keys[Key], , )
()
VirtualInputManager:(Mouse.X, Mouse.Y, , , , )
()
VirtualInputManager:(Mouse.X, Mouse.Y, , , , )
()
()
()
()
VirtualInputManager:(Mouse.X, Mouse.Y, , , , )
()
VirtualInputManager:(Mouse.X, Mouse.Y, , , , )
()
()
()
(x, y)
VirtualInputManager:(x, y, , )
(x, y)
(Camera.ViewportSize.X * x, Camera.ViewportSize.Y * y)
()
:()
()
NIL
()
list = {}
_, scr , ()
scr:() scr:()
(list, scr)
list
()
,
(a, b)
Success, Value = (()
UGCValidationService:(a, b)
)
(Success, )
Value
(fflag)
Success, Value = (()
:((fflag, , ))
)
(Success, )
Value
(Value)
i, v , Value
()[i] = v
({
listfiles = listfiles,
readfile = readfile,
isfile = isfile,
isfolder = isfolder,
writefile = writefile,
makefolder = makefolder,
delfile = delfile,
delfolder = delfolder,
getsynasset = getcustomasset,
getcustomasset = getcustomasset,
clonefunction = clonefunction,
clonefunc = clonefunction,
iscclosure = iscclosure,
islclosure = islclosure,
isourclosure = isourclosure,
iskrnlclosure = isourclosure,
issynclosure = isourclosure,
= ,
getthreadidentity = getthreadidentity,
crypt = {
hash = hash,
custom = {
hash = hash
},
base64 = base64,
base64_encode = base64.encode,
base64encode = base64.encode,
base64_decode = base64.decode,
base64decode = base64.decode,
},
base64 = base64,
base64_encode = base64.encode,
base64encode = base64.encode,
base64_decode = base64.decode,
base64decode = base64.decode,
debug = Debug,
= ,
= ,
= {
=
},
httpget = httpget,
decompile = decompile,
gethui = gethui,
= ,
= ,
= ,
Game = Game,
Workspace = Workspace,
= ,
cleardrawcache = cleardrawcache,
isrenderobj = isrenderobj,
getrenderproperty = getrenderproperty,
setrenderproperty = setrenderproperty,
setclipboard = setclipboard,
setrbxclipboard = setrbxclipboard,
writeclipboard = setclipboard,
mouse1press = mouse1press,
mouse1release = mouse1release,
mouse1click = mouse1click,
mouse2press = mouse2press,
mouse2release = mouse2release,
mouse2click = mouse2click,
mousemoveabs = mousemoveabs,
mousemoverel = mousemoverel,
keypress = keypress,
keyrelease = keyrelease,
isrbxactive = iswindowactive,
isrobloxactive = iswindowactive,
getinstances = getinstances,
getnilinstances = getnilinstances,
getscripts = getscripts,
getscripthash = getscripthash,
getexecutorname = getexecutorname,
identifyexecutor = getexecutorname,
gethiddenproperty = gethiddenproperty,
getfflag = getfflag
})You must not use this script in executors without credits. MoreUNC v3, the newest version of moreunc, with less functions, but more complex functions. Cons: Slow at file system functions, getcustomasset and such Requires python installed Does not run UNC test successfully, misses the entire syn library, and other functions. Pros: Functions such as decompile (getscriptbytecode required), request, all file system, getcustomasset, setclipboard, Hash library, Sandboxed game (To protect from overriding, make your own loadstring with the __newindex method checking for if key is game.), base64 library optimized, COMPLETELY optimized drawing library, new gethui function This is the *beta* version of MoreUNC v3, I allow everybody to fork this, and add more functions, As I'm not gonna work on it myself too much, I pass my legacy onto you developers. The missing functions are lua-makeable functions from MoreUNC v1, you can just paste them in the new script. Version 1.0.1: Added drawing functions such as `cleardrawcache`, `isrenderobj`, `setrenderproperty`, `getrenderproperty`. Added input functions, such as mouse1click, mouse1press, mouse1release, mouse2click, mouse2press, mouse2rel