Run it
Copy the script and paste it into your executor.
Players = :()
UIS = :()
TweenService = :()
RunService = :()
player = Players.LocalPlayer
guiParent = (gethui ()) :()
old = guiParent:()
old old:()
.()
gui = .()
gui.Name =
gui.ResetOnSpawn =
gui.ZIndexBehavior = .ZIndexBehavior.Global
gui.IgnoreGuiInset =
gui.Parent = guiParent
Themes = {
Dark = {
name = ,
bg1 = .(, , ),
bg2 = .(, , ),
surface = .(, , ),
surface2 = .(, , ),
border = .(, , ),
accent = .(, , ),
accent2 = .(,, ),
accentDk = .(, , ),
text = .(, , ),
textDim = .(, , ),
textMut = .(, , ),
green = .(, , ),
red = .(, , ),
yellow = .(, , ),
term = .(, , ),
termTxt = .(, , ),
close = .(, , ),
minimize = .(, , ),
maximize = .(, , ),
winTitle = .(, , ),
gradA = .(,,),
gradB = .(,,),
dotCol = .(,,),
},
Hacker = {
name = ,
bg1 = .(, , ),
bg2 = .(, , ),
surface = .(, , ),
surface2 = .(, , ),
border = .(, , ),
accent = .(, , ),
accent2 = .(, , ),
accentDk = .(, , ),
text = .(, , ),
textDim = .(, , ),
textMut = .(, , ),
green = .(, , ),
red = .(, , ),
yellow = .(, , ),
term = .(, , ),
termTxt = .(, , ),
close = .(, , ),
minimize = .(, , ),
maximize = .(, , ),
winTitle = .(, , ),
gradA = .(,,),
gradB = .(,,),
dotCol = .(,,),
},
Sakura = {
name = ,
bg1 = .(, , ),
bg2 = .(, , ),
surface = .(, , ),
surface2 = .(, , ),
border = .(, , ),
accent = .(, , ),
accent2 = .(, , ),
accentDk = .(, , ),
text = .(, , ),
textDim = .(, , ),
textMut = .(, , ),
green = .(, , ),
red = .(, , ),
yellow = .(, , ),
term = .(, , ),
termTxt = .(, , ),
close = .(, , ),
minimize = .(, , ),
maximize = .(, , ),
winTitle = .(, , ),
gradA = .(,,),
gradB = .(,,),
dotCol = .(,,),
},
}
T = Themes.Dark
ActiveTheme =
(obj, props, t, style)
TweenService:(obj,
TweenInfo.(t , style .EasingStyle.Quad, .EasingDirection.Out),
props):()
(cls, props, parent)
o = .(cls)
k,v (props)
(() o[k] = v )
parent o.Parent = parent
o
(p, r)
(, {CornerRadius = .(, r )}, p)
(p, col, thick, trans)
(, {Color = col T.border, Thickness = thick , Transparency = trans }, p)
(p, px)
u = .()
u.PaddingLeft = .(, px)
u.PaddingRight = .(, px)
u.PaddingTop = .(, px)
u.PaddingBottom = .(, px)
u.Parent = p
(p, a, b, rot)
g = .()
g.Color = ColorSequence.(a, b)
g.Rotation = rot
g.Parent = p
g
(btn, norm, hov, prop)
prop = prop
btn.MouseEnter:(() (btn, {[prop]=hov}) )
btn.MouseLeave:(() (btn, {[prop]=norm}) )
(parent, zIdx)
s = (, {
Size = .(, , , ),
Position = .(, -, , -),
BackgroundColor3 = .(,,),
BackgroundTransparency = ,
ZIndex = zIdx - ,
BorderSizePixel = ,
}, parent)
(s, )
s
notifContainer = (, {
Size = .(, , , ),
Position = .(, -, , ),
BackgroundTransparency = ,
ZIndex = ,
}, gui)
(, {
Padding = .(, ),
VerticalAlignment = .VerticalAlignment.Top,
SortOrder = .SortOrder.LayoutOrder,
}, notifContainer)
(title, text, duration, icon)
nf = (, {
Size = .(, , , ),
BackgroundColor3 = T.bg2,
BorderSizePixel = ,
ZIndex = ,
BackgroundTransparency = ,
}, notifContainer)
(nf, )
(nf, T.accent, , )
bar = (, {
Size = .(, , , -),
Position = .(, , , ),
BackgroundColor3 = T.accent,
BorderSizePixel = ,
ZIndex = ,
}, nf)
(bar, )
(, {
Size = .(, , , ),
Position = .(, , , ),
BackgroundTransparency = ,
Text = icon ,
TextSize = ,
ZIndex = ,
}, nf)
(, {
Size = .(, -, , ),
Position = .(, , , ),
BackgroundTransparency = ,
Text = title,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = T.text,
TextXAlignment = .TextXAlignment.Left,
ZIndex = ,
}, nf)
(, {
Size = .(, -, , ),
Position = .(, , , ),
BackgroundTransparency = ,
Text = text,
Font = .Font.Gotham,
TextSize = ,
TextColor3 = T.textDim,
TextXAlignment = .TextXAlignment.Left,
TextWrapped = ,
ZIndex = ,
}, nf)
(nf, {BackgroundTransparency = }, )
.(duration , ()
(nf, {BackgroundTransparency = , Size = .(, , , )}, )
.(, () nf:() )
)
FS = {}
CWD =
(t, content)
{t=t, content=content , children={}, time=.()}
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
FS[] = ()
(parent, child)
FS[parent]
.(FS[parent].children, child)
(, )
(, )
(, )
(, )
(, )
(, )
(,)
(,)
(, )
(path, content, parent)
FS[path] = (, content)
parent (parent, path)
(, , )
(, , )
(, , )
(, ..player.Name.., )
(, , )
(, , )
(, , )
(, ..os.().., )
(, , )
(, ..player.Name.., )
(path)
path ==
path:(,) ==
path = .. path:()
path:(,) ~=
path = (CWD == ..path) (CWD....path)
parts = {}
seg path:()
seg == .(parts)
seg ~= .(parts, seg)
(#parts == ) (..table.(parts,))
(path)
nd = FS[(path)]
nd nd.t == nd.content
(path, content)
abs = (path)
FS[abs]
FS[abs].content = content
FS[abs].time = .()
FS[abs] = (, content)
parentPath = abs:()
FS[parentPath] FS[parentPath].t ==
.(FS[parentPath].children, abs)
(path)
node = FS[(path)]
node node.t == node.children
(path)
abs = (path)
FS[abs] ,
FS[abs] = ()
parentPath = abs:()
FS[parentPath] FS[parentPath].t ==
.(FS[parentPath].children, abs)
Kernel = { procs={}, pid=, boot=.() }
(name, mem, sys)
id = Kernel.pid; Kernel.pid+=
Kernel.procs[id] = {
pid=id, name=name, state=,
mem=mem .(,), cpu=,
start=.(), sys=sys
}
id
(pid)
Kernel.procs[pid] ,
Kernel.procs[pid].sys ,
Kernel.procs[pid] =
(, , )
(, , )
(, , )
(, , )
(, , )
RunService.Heartbeat:((dt)
_, p (Kernel.procs)
p.cpu += dt * .(,)/
)
desktop = (, {
Size=.(,,,),
BackgroundColor3=T.bg1,
BorderSizePixel=,
ZIndex=,
}, gui)
desktopGrad = (desktop, T.gradA, T.gradB, )
dots = (, {
Size=.(,,,),
BackgroundTransparency=,
ZIndex=,
}, desktop)
rows, cols = ,
r=, rows
cc=, cols
(, {
Size=.(,,,),
Position=.(cc/cols, , r/rows, ),
BackgroundColor3=T.dotCol,
BackgroundTransparency=,
BorderSizePixel=,
ZIndex=,
}, dots)
Z =
WINS = {}
OpenWinNames = {}
(handle, win)
drag, dstart, dpos = , ,
handle.InputBegan:((i)
i.UserInputType == .UserInputType.MouseButton1
drag=; dstart=i.Position; dpos=win.Position
i.Changed:(()
i.UserInputState==.UserInputState.End drag=
)
)
UIS.InputChanged:((i)
drag i.UserInputType==.UserInputType.MouseMovement
d=i.Position-dstart
win.Position=.(dpos.X.Scale, dpos.X.Offset+d.X,
dpos.Y.Scale, dpos.Y.Offset+d.Y)
)
refreshTaskbar
(title, w, h, x, y)
Z+=
z = Z
win = (, {
Size=.(,w,,h),
Position=.(,x ,,y ),
BackgroundColor3=T.surface,
BorderSizePixel=, ZIndex=z,
ClipsDescendants=,
}, gui)
(win, )
(win, T.accent, , )
(win, z)
win.InputBegan:((i)
i.UserInputType==.UserInputType.MouseButton1
Z+=; win.ZIndex=Z
)
bar = (, {
Size=.(,,,),
BackgroundColor3=T.winTitle,
BorderSizePixel=, ZIndex=z+,
}, win)
(, {
Size=.(,,,),
Position=.(,,,-),
BackgroundColor3=T.accent,
BackgroundTransparency=,
BorderSizePixel=, ZIndex=z+,
}, bar)
(bar, )
(, {
Size=.(,,,),
Position=.(,,,),
BackgroundColor3=T.winTitle,
BorderSizePixel=, ZIndex=z+,
}, bar)
(col, xoff, sym, cb)
b = (, {
Size=.(,,,),
Position=.(,xoff,,-),
BackgroundColor3=col,
Text=, ZIndex=z+, BorderSizePixel=,
}, bar)
(b,)
lbl=(, {
Size=.(,,,),
BackgroundTransparency=,
Text=sym, TextColor3=.(,,),
Font=.Font.GothamBold, TextSize=,
Visible=, ZIndex=z+,
},b)
b.MouseEnter:(() lbl.Visible= )
b.MouseLeave:(() lbl.Visible= )
b.MouseButton1Click:(cb)
b
mini=
maxi=
orig=.(,w,,h)
origPos=.(,x ,,y )
body
(T.close, -, , ()
(win,{Size=.(,w,,),BackgroundTransparency=},)
.(, ()
win:()
WINS[title]=
OpenWinNames[title]=
refreshTaskbar ()
)
)
(T.minimize, -, , ()
mini
(win,{Size=orig},)
body body.Visible=
mini=
(win,{Size=.(,w,,)},)
.(,()
body body.Visible=
)
mini=
)
(T.maximize, -, , ()
maxi
(win,{Size=orig, Position=origPos},)
maxi=
origPos=win.Position
orig=win.Size
(win,{Size=.(,,,-), Position=.(,,,)},)
maxi=
mini
mini=
body body.Visible=
)
(, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=title, Font=.Font.GothamBold,
TextSize=, TextColor3=T.text,
TextXAlignment=.TextXAlignment.Left,
ZIndex=z+,
}, bar)
body = (, {
Size=.(,,,-),
Position=.(,,,),
BackgroundTransparency=,
ZIndex=z+, ClipsDescendants=,
}, win)
(bar, win)
win.Size=.(,w,,)
win.BackgroundTransparency=
(win,{Size=.(,w,,h), BackgroundTransparency=},,.EasingStyle.Back)
WINS[title]=win
OpenWinNames[title]=
refreshTaskbar ()
win, body, z
cmdHistory = {}
Fortunes = {
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
}
(cmd, out)
args={}
a cmd:() .(args,a)
cc=args[]
cc cc==
.(cmdHistory, cmd)
cc==
(, T.accent)
(, T.accent)
(, T.accent)
(, T.accent2)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.accent2)
(, T.accent2)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.text)
(, T.accent)
cc==
up=.()-Kernel.boot
h=.(up/)
m=.(up%/)
cnt=; mem=
_,p (Kernel.procs) cnt+=; mem+=p.mem
(, T.text)
(..player.Name.., T.accent)
(, T.accent)
(, T.text)
(, T.text)
(..string.(, h, m), T.text)
(, T.text)
(..ActiveTheme, T.text)
(..cnt, T.text)
(..mem.., T.text)
(..player.DisplayName, T.text)
(..game.PlaceId, T.text)
(, T.text)
colors =
(colors.., T.accent)
(, T.text)
cc==
(..Fortunes[.(#Fortunes)], T.yellow)
cc==
(, T.accent)
i, cmd2 (cmdHistory)
(.(, i, cmd2), T.text)
cc==
path = args[] (args[]) CWD
(p, prefix)
nd = FS[p]
nd nd.t ~=
ch = nd.children
i, cp (ch)
child = FS[cp]
child
segs = cp:()
nm = segs[#segs]
isLast = (i == #ch)
connector = isLast
icon = child.t ==
(prefix .. connector .. icon .. nm, child.t == T.accent2 T.text)
child.t ==
newPrefix = prefix .. (isLast )
(cp, newPrefix)
segs = path:()
( .. (segs[#segs] ~= segs[#segs] ), T.accent)
(path, )
cc==
args[] (, T.yellow);
ok, err = (args[])
ok
(..(args[]), T.textDim)
(..(err), T.red)
cc==
args[] args[] (, T.yellow);
src = (args[])
dst = (args[])
FS[src] (..args[].., T.red);
FS[dst] = FS[src]
FS[dst].time = .()
FS[src] =
_, nd (FS)
nd.t ==
i, ch (nd.children)
ch == src nd.children[i] = dst;
(..src....dst, T.textDim)
cc==
args[] args[] (, T.yellow);
src = (args[])
dst = (args[])
FS[src] FS[src].t ~= (..args[].., T.red);
(dst, FS[src].content)
(..src....dst, T.textDim)
cc==
args[] args[] (, T.yellow);
pattern = args[]
content = ((args[]))
content (..args[].., T.red);
found =
_, ln (content:())
ln:():(pattern:())
(ln, T.green)
found +=
found == (, T.textDim)
cc==
args[] (, T.yellow);
content = ((args[]))
content (, T.red);
lines = content:()
count = (args[])
i = , .(count, #lines)
(lines[i], T.text)
cc==
args[] (, T.yellow);
content = ((args[]))
content (, T.red);
lines = content:()
count = (args[])
i = .(, #lines - count + ), #lines
(lines[i], T.text)
cc==
args[] (, T.yellow);
content = ((args[]))
content (, T.red);
lines = #content:()
words =
_ content:() words +=
bytes = #content
(.(, lines, words, bytes, args[]), T.text)
cc==
path = args[] (args[]) CWD
ch = (path)
ch (..path.., T.red);
#ch== (, T.textDim);
( .. path .. , T.accent)
_, cp (ch)
nd=FS[cp]
nd
segs=cp:()
nm=segs[#segs]
nd.t==
(..nm.., T.accent2)
(.(, nm, #nd.content), T.text)
cc==
p = args[] (args[])
FS[p] FS[p].t==
CWD=p; (..CWD, T.textDim)
(..(args[]).., T.red)
cc==
(CWD, T.text)
cc==
args[] (, T.yellow);
content=((args[]))
content
_,ln (content:()) (ln, T.text)
(..args[].., T.red)
cc==
full=.(args,,)
lpart, rpart=full:()
lpart rpart
((rpart), lpart..)
(..rpart, T.textDim)
(full, T.text)
cc==
args[] (, T.yellow);
abs=(args[])
FS[abs]
(abs,); (..abs, T.textDim)
(, T.textDim)
cc==
args[] (, T.yellow);
abs=(args[])
FS[abs] (, T.red);
FS[abs].t== (, T.red);
FS[abs]=
_, nd (FS)
nd.t==
i,ch (nd.children)
ch==abs .(nd.children,i);
(..abs, T.textDim)
cc==
(.(,,,,), T.accent)
(..():(), T.textMut)
sorted={}
_,p (Kernel.procs) .(sorted,p)
.(sorted,(a,b) a.pid<b.pid )
_,p (sorted)
(.(,
p.pid, p.name, p.state, p.mem), p.state== T.green T.textDim)
cc==
pid=(args[])
pid (, T.yellow);
ok, err=(pid)
ok (..pid.., T.green)
(..(err), T.red)
cc==
total=; used=; cnt=
_,p (Kernel.procs) used+=p.mem; cnt+=
pct=.(used/total*)
up=.()-Kernel.boot
(, T.accent)
(.(, up), T.text)
(.(, cnt), T.text)
(.(, used, total, pct), T.text)
bar=():(.(pct/))..():(-.(pct/))
(..bar.., pct> T.red pct> T.yellow T.green)
cc==
total=; used=
_,p (Kernel.procs) used+=p.mem
pct=.(used/total*)
(.(, used, total, pct), T.text)
(..():(.(pct/))..():(-.(pct/)).., pct> T.red T.accent)
cc==
up=.()-Kernel.boot
(.(, .(up/), .(up%/), .(up%)), T.text)
cc==
(.(), T.text)
cc== (player.Name, T.text)
cc== (() , T.text)
cc== (..os.().., T.text)
cc==
cc==
(..cc.., T.red)
openTerminal, openNotepad, openTaskManager, openBrowser, openFiles
openCalc, openSettings, openSysMonitor
openTerminal = ()
WINS[] WINS[].Parent
WINS[].Visible=;
win,body,z = (, , , , )
tbg = (, {
Size=.(,,,),
BackgroundColor3=T.term,
BorderSizePixel=, ZIndex=z+,
}, body)
outScroll = (, {
Size=.(,,,-),
BackgroundTransparency=, BorderSizePixel=,
ScrollBarThickness=, ScrollBarImageColor3=T.accent,
AutomaticCanvasSize=.AutomaticSize.Y,
CanvasSize=.(,,,), ZIndex=z+,
}, tbg)
(, {Padding=.(,)}, outScroll)
(outScroll, )
(txt, col)
lbl = (, {
Size=.(,,,),
AutomaticSize=.AutomaticSize.Y,
BackgroundTransparency=, Text=txt,
Font=.Font.Code, TextSize=,
TextColor3=col T.termTxt,
TextXAlignment=.TextXAlignment.Left,
TextWrapped=, ZIndex=z+,
}, outScroll)
.(()
outScroll.CanvasPosition=.(,outScroll.AbsoluteCanvasSize.Y)
)
lbl
inputRow = (, {
Size=.(,,,), Position=.(,,,-),
BackgroundColor3=.(,,),
BorderSizePixel=, ZIndex=z+,
}, tbg)
(, {
Size=.(,,,),
BackgroundColor3=T.accent, BackgroundTransparency=,
BorderSizePixel=, ZIndex=z+,
}, inputRow)
promptLbl = (, {
Size=.(,,,), AutomaticSize=.AutomaticSize.X,
Position=.(,,,), BackgroundTransparency=,
Text=player.Name....CWD..,
Font=.Font.Code, TextSize=, TextColor3=T.accent2, ZIndex=z+,
}, inputRow)
inputBox = (, {
Size=.(,-,,-), Position=.(,,,),
BackgroundTransparency=, Text=, PlaceholderText=,
PlaceholderColor3=T.textMut, Font=.Font.Code, TextSize=,
TextColor3=T.termTxt, TextXAlignment=.TextXAlignment.Left,
ClearTextOnFocus=, ZIndex=z+,
}, inputRow)
(, T.accent)
(, T.accent)
(, T.textDim)
(, T.textDim)
(, T.accent)
(, T.text)
(() , T.text)
hist={}; hidx=
inputBox.FocusLost:((enter)
enter
cmd2=inputBox.Text; inputBox.Text=
cmd2==
.(hist,cmd2); hidx=#hist+
(player.Name....CWD....cmd2, T.textDim)
r=(cmd2, addOut)
r==
_,ch (outScroll:())
ch:() ch:()
r==
win:(); WINS[]=; OpenWinNames[]=
refreshTaskbar ()
promptLbl.Text=player.Name....CWD..
.(() inputBox:() )
)
UIS.InputBegan:((i,gp)
gp inputBox:()
i.KeyCode==.KeyCode.Up
hidx=.(,hidx-); inputBox.Text=hist[hidx]
i.KeyCode==.KeyCode.Down
hidx=.(#hist+,hidx+); inputBox.Text=hist[hidx]
)
.(() inputBox:() )
(, )
openNotepad = ()
WINS[] WINS[].Parent WINS[].Visible=;
win,body,z = (, , , , )
curFile =
bg=(,{Size=.(,,,),BackgroundColor3=T.surface,
BorderSizePixel=,ZIndex=z+},body)
tb=(,{Size=.(,,,),
BackgroundColor3=T.surface2,BorderSizePixel=,ZIndex=z+},bg)
fileLbl=(,{
Size=.(,-,,),Position=.(,,,),
BackgroundTransparency=,Text=..curFile,
Font=.Font.Gotham,TextSize=,TextColor3=T.textDim,
TextXAlignment=.TextXAlignment.Left,ZIndex=z+},tb)
saveBtn=(,{
Size=.(,,,), Position=.(,-,,-),
BackgroundColor3=T.surface, Text=,TextColor3=T.text,
Font=.Font.Gotham,TextSize=, ZIndex=z+,BorderSizePixel=},tb)
(saveBtn,); (saveBtn,T.border,,)
(saveBtn,T.surface,T.surface2)
ta=(,{
Size=.(,-,,-), Position=.(,,,),
BackgroundColor3=T.bg1, Text=(curFile) ,
TextColor3=T.text, Font=.Font.Code,TextSize=,
TextXAlignment=.TextXAlignment.Left,
TextYAlignment=.TextYAlignment.Top,
MultiLine=,ClearTextOnFocus=,
TextWrapped=,ZIndex=z+,BorderSizePixel=},bg)
(ta,); (ta,); (ta,T.border,,)
saveBtn.MouseButton1Click:(()
(curFile, ta.Text)
fileLbl.Text=..curFile..
(, ..curFile, , )
.(,() fileLbl.Text=..curFile )
)
openTaskManager = ()
WINS[] WINS[].Parent
WINS[].Visible=;
win,body,z = (, , , , )
bg=(,{Size=.(,,,),BackgroundColor3=T.surface,
BorderSizePixel=,ZIndex=z+},body)
hdr=(,{Size=.(,,,),
BackgroundColor3=T.winTitle,BorderSizePixel=,ZIndex=z+},bg)
(hdr, T.border, , )
cols={
{t=, w=, x=},
{t=,w=,x=},
{t=,w=, x=},
{t=, w=, x=},
{t=, w=, x=},
}
_,col (cols)
(,{
Size=.(col.w,,,), Position=.(col.x,,,),
BackgroundTransparency=, Text=col.t,Font=.Font.GothamBold,TextSize=,
TextColor3=T.accent2,TextXAlignment=.TextXAlignment.Left,
ZIndex=z+},hdr)
list=(,{
Size=.(,,,-), Position=.(,,,),
BackgroundTransparency=,BorderSizePixel=,
ScrollBarThickness=,ScrollBarImageColor3=T.accent,
AutomaticCanvasSize=.AutomaticSize.Y,
CanvasSize=.(,,,),ZIndex=z+},bg)
(,{Padding=.(,)},list)
(list,)
rows={}
()
_,r (rows) r:() ; rows={}
sorted={}
_,p (Kernel.procs) .(sorted,p)
.(sorted,(a,b) a.pid<b.pid )
i,p (sorted)
row=(,{
Size=.(,,,),
BackgroundColor3=i%== T.surface2 T.surface,
BorderSizePixel=,ZIndex=z+},list)
(row,)
datas={(p.pid), p.name, p.state, p.mem..}
ci,col (cols)
ci <=
(,{
Size=.(col.w,,,), Position=.(col.x,,,),
BackgroundTransparency=, Text=datas[ci],
Font=.Font.Code,TextSize=,
TextColor3=ci== (p.state== T.green T.textDim) T.text,
TextXAlignment=.TextXAlignment.Left, ZIndex=z+},row)
p.sys
kb=(,{
Size=.(,,,), Position=.(,,,-),
BackgroundColor3=T.red, Text=,
TextColor3=.(,,), Font=.Font.GothamBold,
TextSize=, ZIndex=z+, BorderSizePixel=},row)
(kb,)
kb.MouseButton1Click:(()
(p.pid)
(, ..p.name.., , )
)
.(rows,row)
statBar=(,{
Size=.(,,,), Position=.(,,,-),
BackgroundColor3=T.winTitle, BorderSizePixel=,ZIndex=z+},bg)
statLbl=(,{
Size=.(,-,,),Position=.(,,,),
BackgroundTransparency=,Text=,
Font=.Font.Code,TextSize=,TextColor3=T.textDim,
TextXAlignment=.TextXAlignment.Left, RichText=,ZIndex=z+},statBar)
ramBg=(,{
Size=.(,-,,),Position=.(,,,),
BackgroundColor3=T.surface,BorderSizePixel=,ZIndex=z+},statBar)
(ramBg,)
ramBar=(,{
Size=.(,,,),Position=.(,,,),
BackgroundColor3=T.accent,BorderSizePixel=,ZIndex=z+},statBar)
(ramBar,)
conn=RunService.Heartbeat:(()
total=; used=; cnt=
_,p (Kernel.procs) used+=p.mem; cnt+=
pct=.(used/total*)
statLbl.Text=.(,
cnt, used, total, pct, .(.()-Kernel.boot))
(ramBar,{Size=.(used/total,,,)},)
ramBar.BackgroundColor3=pct> T.red pct> T.yellow T.accent
)
.(()
win win.Parent (); .()
conn:()
)
()
openBrowser = ()
WINS[] WINS[].Parent WINS[].Visible=;
win,body,z = (, , , , )
bg=(,{Size=.(,,,),
BackgroundColor3=.(,,),
BorderSizePixel=,ZIndex=z+},body)
addrRow=(,{
Size=.(,-,,), Position=.(,,,),
BackgroundColor3=.(,,),
BorderSizePixel=,ZIndex=z+},bg)
(addrRow,); (addrRow,T.accent,,)
addrBox=(,{
Size=.(,-,,),Position=.(,,,),
BackgroundTransparency=, Text=,
Font=.Font.Gotham,TextSize=,
TextColor3=.(,,),
ClearTextOnFocus=,ZIndex=z+},addrRow)
page=(,{
Size=.(,-,,-), Position=.(,,,),
BackgroundColor3=.(,,), BorderSizePixel=,
ScrollBarThickness=, AutomaticCanvasSize=.AutomaticSize.Y,
CanvasSize=.(,,,),ZIndex=z+},bg)
(page,); (page,T.border,,)
(,{Padding=.(,)},page)
(page,)
pages={
[]={
{h=, t=},
{h=, t=},
{h=, t=},
{lnk=}, {lnk=},
{lnk=}, {lnk=},
{lnk=},
},
[]={
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=..os.()},
{h=, t=..player.Name....player.DisplayName..},
{h=, t=..player.UserId},
{lnk=},
},
[]={
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{lnk=},
},
[]={
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{lnk=},
},
[]={
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{lnk=},
},
[]={
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{h=, t=},
{lnk=},
},
}
(url)
_,ch (page:())
ch:() ch:()
pg=pages[url]
pg
(,{Size=.(,,,),BackgroundTransparency=,
Text=,
Font=.Font.GothamBold,TextSize=,
TextColor3=.(,,),
TextXAlignment=.TextXAlignment.Left,ZIndex=z+},page)
_,item (pg)
item.lnk
b=(,{
Size=.(,,,),
BackgroundColor3=.(,,),
Text=..item.lnk,
Font=.Font.Gotham,TextSize=,
TextColor3=.(,,),
TextXAlignment=.TextXAlignment.Left,
BorderSizePixel=,ZIndex=z+},page)
(b,); (b,)
b.MouseButton1Click:(() addrBox.Text=item.lnk; (item.lnk) )
item.h==
(,{Size=.(,,,),AutomaticSize=.AutomaticSize.Y,
BackgroundTransparency=,Text=item.t,
Font=.Font.GothamBold,TextSize=,
TextColor3=.(,,),
TextXAlignment=.TextXAlignment.Left,TextWrapped=,ZIndex=z+},page)
item.h==
(,{Size=.(,,,),AutomaticSize=.AutomaticSize.Y,
BackgroundTransparency=,Text=item.t,
Font=.Font.GothamBold,TextSize=,
TextColor3=.(,,),
TextXAlignment=.TextXAlignment.Left,ZIndex=z+},page)
(,{Size=.(,,,),AutomaticSize=.AutomaticSize.Y,
BackgroundTransparency=,Text=item.t,
Font=.Font.Code,TextSize=,
TextColor3=.(,,),
TextXAlignment=.TextXAlignment.Left,TextWrapped=,ZIndex=z+},page)
()
addrBox.FocusLost:((e) e (addrBox.Text) )
openFiles = ()
WINS[] WINS[].Parent WINS[].Visible=;
win,body,z = (, , , , )
viewPath=
bg=(,{Size=.(,,,),BackgroundColor3=T.surface,
BorderSizePixel=,ZIndex=z+},body)
bread=(,{Size=.(,,,),
BackgroundColor3=T.surface2,BorderSizePixel=,ZIndex=z+},bg)
pathLbl=(,{
Size=.(,-,,),Position=.(,,,),
BackgroundTransparency=, Text=,
Font=.Font.Gotham,TextSize=,TextColor3=T.text,
TextXAlignment=.TextXAlignment.Left,ZIndex=z+},bread)
flist=(,{
Size=.(,-,,-), Position=.(,,,),
BackgroundTransparency=,BorderSizePixel=,
ScrollBarThickness=,ScrollBarImageColor3=T.accent,
AutomaticCanvasSize=.AutomaticSize.Y,
CanvasSize=.(,,,),ZIndex=z+},bg)
(,{Padding=.(,)},flist)
(path)
viewPath=path; pathLbl.Text=..path
_,ch (flist:())
ch:() ch:()
path~=
segs=path:(); .(segs)
par=.(segs,); par== par=
upb=(,{Size=.(,,,),
BackgroundColor3=T.surface2, Text=,BorderSizePixel=,ZIndex=z+},flist)
(upb,)
(,{Size=.(,-,,),Position=.(,,,),
BackgroundTransparency=, Text=,
Font=.Font.Gotham,TextSize=,TextColor3=T.accent2,
TextXAlignment=.TextXAlignment.Left,ZIndex=z+},upb)
(upb,T.surface2,T.surface)
upb.MouseButton1Click:(() (par) )
nd=FS[path]
nd
_,cp (nd.children)
child=FS[cp]
child
segs=cp:(); nm=segs[#segs]
isDir=child.t==
row=(,{Size=.(,,,),
BackgroundColor3=T.surface, Text=,BorderSizePixel=,ZIndex=z+},flist)
(row,); (row,T.border,,)
(row,T.surface,T.surface2)
(,{Size=.(,-,,),Position=.(,,,),
BackgroundTransparency=,
Text=(isDir )..nm,
Font=.Font.Gotham,TextSize=,
TextColor3=isDir T.accent2 T.text,
TextXAlignment=.TextXAlignment.Left,ZIndex=z+},row)
isDir
(,{Size=.(,,,),Position=.(,-,,),
BackgroundTransparency=, Text=#child.content..,
Font=.Font.Code,TextSize=,TextColor3=T.textMut, ZIndex=z+},row)
row.MouseButton1Click:(()
isDir (cp)
)
()
openCalc = ()
WINS[] WINS[].Parent
WINS[].Visible=;
win,body,z = (, , , , )
bg=(,{Size=.(,,,),BackgroundColor3=T.bg1,
BorderSizePixel=,ZIndex=z+},body)
display=(,{
Size=.(,-,,), Position=.(,,,),
BackgroundColor3=T.surface, Text=,
Font=.Font.Code, TextSize=, TextColor3=T.text,
TextXAlignment=.TextXAlignment.Right,
ZIndex=z+, BorderSizePixel=},bg)
(display,); (display,)
expr =
lastResult =
()
display.Text = (expr == ) expr
buttons = {
{, , , },
{, , , },
{, , , },
{, , , },
{, , , },
}
grid = (,{
Size=.(,-,,-), Position=.(,,,),
BackgroundTransparency=, ZIndex=z+},bg)
ri, row (buttons)
ci, label (row)
isOp = (label == label == label == label == label == )
isSpecial = (label == label == label == label == )
btnColor = isOp T.accent isSpecial T.surface2 T.surface
txtColor = isOp .(,,) T.text
btn = (,{
Size = .(, -, , -),
Position = .((ci-)*, , (ri-)*, ),
BackgroundColor3 = btnColor,
Text = label,
Font = .Font.GothamBold,
TextSize = ,
TextColor3 = txtColor,
ZIndex = z+,
BorderSizePixel = ,
}, grid)
(btn, )
btn.MouseButton1Click:(()
label ==
expr = ; ()
label ==
expr = expr:(, -); ()
label ==
expr:(,) ==
expr = expr:()
expr = .. expr
()
label ==
eval = expr:(,):(,)
fn = ( .. eval)
fn
ok, result = (fn)
ok
lastResult = (result)
display.Text = lastResult
expr = lastResult
display.Text =
expr =
display.Text =
expr =
expr = expr .. label
()
)
(, )
openSettings = ()
WINS[] WINS[].Parent
WINS[].Visible=;
win,body,z = (, , , , )
bg=(,{Size=.(,,,),BackgroundColor3=T.surface,
BorderSizePixel=,ZIndex=z+},body)
(,{
Size=.(,-,,), Position=.(,,,),
BackgroundTransparency=, Text=,
Font=.Font.GothamBold, TextSize=, TextColor3=T.text,
TextXAlignment=.TextXAlignment.Left, ZIndex=z+},bg)
themeList = (,{
Size=UDim2.new(1,-16,0,280), Position=UDim2.new(0,8,0,48),
BackgroundTransparency=1, ZIndex=z+1},bg)
c("UIListLayout",{Padding=UDim.new(0,8)},themeList)
local themeData = {
{name="Dark", desc="Classic dark theme", icon="🌙", preview={Color3.fromRGB(8,10,22), Color3.fromRGB(88,130,255)}},
{name="Hacker", desc="Matrix. Green code.", icon="💻", preview={Color3.fromRGB(2,4,2), Color3.fromRGB(0,255,65)}},
{name="Sakura", desc="Soft pink theme", icon="🌸", preview={Color3.fromRGB(25,10,18), Color3.fromRGB(255,100,160)}},
}
for _, td in ipairs(themeData) do
local row = c("Frame",{
Size=UDim2.new(1,0,0,75),
BackgroundColor3=T.surface2,
BorderSizePixel=0, ZIndex=z+2},themeList)
corner(row,10); stroke(row, T.border, 1, .4)
-- Color preview
local preview = c("Frame",{
Size=UDim2.new(0,50,0,50), Position=UDim2.new(0,12,0.5,-25),
BackgroundColor3=td.preview[1], BorderSizePixel=0, ZIndex=z+3},row)
corner(preview,8); stroke(preview, td.preview[2], 2, 0)
c("TextLabel",{
Size=UDim2.new(0,30,0,30), Position=UDim2.new(0,10,0,10),
BackgroundTransparency=1, Text=td.icon,
TextSize=24, ZIndex=z+4},preview)
c("TextLabel",{
Size=UDim2.new(1,-160,0,22), Position=UDim2.new(0,74,0,12),
BackgroundTransparency=1, Text=td.name,
Font=Enum.Font.GothamBold, TextSize=16, TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left, ZIndex=z+3},row)
c("TextLabel",{
Size=UDim2.new(1,-160,0,18), Position=UDim2.new(0,74,0,36),
BackgroundTransparency=1, Text=td.desc,
Font=Enum.Font.Gotham, TextSize=12, TextColor3=T.textDim,
TextXAlignment=Enum.TextXAlignment.Left, ZIndex=z+3},row)
local active = (ActiveTheme == td.name)
local applyBtn = c("TextButton",{
Size=UDim2.new(0,80,0,30), Position=UDim2.new(1,-92,0.5,-15),
BackgroundColor3=active and T.green or T.accentDk,
Text=active and "✓ Active" or "Apply",
TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold, TextSize=12,
ZIndex=z+3, BorderSizePixel=0},row)
corner(applyBtn,6)
applyBtn.MouseButton1Click:Connect(function()
if Themes[td.name] then
ActiveTheme = td.name
T = Themes[td.name]
notify("Settings", "Theme '"..td.name.."' applied!\nRestart script for full effect.", 5, "🎨")
end
end)
end
end
-- ── SYSTEM MONITOR (NEW) ─────────────────────────────────────
openSysMonitor = function()
if WINS["Monitor"] and WINS["Monitor"].Parent then
WINS["Monitor"].Visible=true; return
end
local win,body,z = newWindow(" 📈 System Monitor", 380, 340, 280, 120)
local bg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,
BorderSizePixel=0,ZIndex=z+1},body)
local labels = {}
local info = {
{lbl="OS:", key="os"},
{lbl="Version:", key="ver"},
{lbl="Kernel:", key="kern"},
{lbl="Uptime:", key="up"},
{lbl="Processes:", key="procs"},
{lbl="RAM:", key="ram"},
{lbl="Player:", key="player"},
{lbl="Display:", key="display"},
{lbl="Game ID:", key="game"},
{lbl="FPS:", key="fps"},
}
for i, item in ipairs(info) do
c("TextLabel",{
Size=UDim2.new(0,100,0,24), Position=UDim2.new(0,12,0,10+(i-1)*28),
BackgroundTransparency=1, Text=item.lbl,
Font=Enum.Font.GothamBold, TextSize=13, TextColor3=T.accent2,
TextXAlignment=Enum.TextXAlignment.Left, ZIndex=z+2},bg)
labels[item.key] = c("TextLabel",{
Size=UDim2.new(1,-130,0,24), Position=UDim2.new(0,115,0,10+(i-1)*28),
BackgroundTransparency=1, Text="...",
Font=Enum.Font.Code, TextSize=13, TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left, ZIndex=z+2},bg)
end
local lastTick = os.clock()
local fps = 60
local conn = RunService.Heartbeat:Connect(function(dt)
fps = math.floor(1/dt)
end)
task.spawn(function()
while win and win.Parent do
local up = os.clock()-Kernel.boot
local cnt=0; local mem=0
for _,p in pairs(Kernel.procs) do cnt+=1; mem+=p.mem end
labels.os.Text = "LuaOS 3.0.0 Aurora"
labels.ver.Text = "3.0.0 Enhanced"
labels.kern.Text = "Luau (Roblox Runtime)"
labels.up.Text = string.format("%02d:%02d:%02d", math.floor(up/3600), math.floor(up%3600/60), math.floor(up%60))
labels.procs.Text = tostring(cnt)
labels.ram.Text = string.format("%dMB / 512MB (%d%%)", mem, math.floor(mem/512*100))
labels.player.Text = player.DisplayName.." (@"..player.Name..")"
labels.display.Text = player.DisplayName
labels.game.Text = tostring(game.PlaceId)
labels.fps.Text = tostring(fps).." FPS"
task.wait(0.5)
end
conn:Disconnect()
end)
end
-- ── DESKTOP ICONS ──────────────────────────────────────────────
local ICONS={
{lbl="Terminal", ico="⌨", fn=openTerminal, pos=UDim2.new(0,18,0,18)},
{lbl="Notepad", ico="📝", fn=openNotepad, pos=UDim2.new(0,18,0,112)},
{lbl="Tasks", ico="📊", fn=openTaskManager, pos=UDim2.new(0,18,0,206)},
{lbl="Browser", ico="🌐", fn=openBrowser, pos=UDim2.new(0,18,0,300)},
{lbl="Files", ico="📁", fn=openFiles, pos=UDim2.new(0,18,0,394)},
{lbl="Calculator",ico="🧮",fn=openCalc, pos=UDim2.new(0,110,0,18)},
{lbl="Settings", ico="⚙", fn=openSettings, pos=UDim2.new(0,110,0,112)},
{lbl="Monitor", ico="📈", fn=openSysMonitor, pos=UDim2.new(0,110,0,206)},
}
for _,ic in ipairs(ICONS) do
local fr=c("Frame",{
Size=UDim2.new(0,76,0,82), Position=ic.pos,
BackgroundColor3=T.surface, BackgroundTransparency=0.3,
BorderSizePixel=0,ZIndex=2},desktop)
corner(fr,10); stroke(fr,T.border,1,.4)
c("TextLabel",{Size=UDim2.new(1,0,0,48),Position=UDim2.new(0,0,0,4),
BackgroundTransparency=1,Text=ic.ico,
Font=Enum.Font.GothamBold,TextSize=30,ZIndex=3},fr)
c("TextLabel",{Size=UDim2.new(1,-4,0,26),Position=UDim2.new(0,2,0,50),
BackgroundTransparency=1,Text=ic.lbl,
Font=Enum.Font.Gotham,TextSize=10,TextColor3=T.text,
TextWrapped=true,ZIndex=3},fr)
local btn=c("TextButton",{Size=UDim2.new(1,0,1,0),BackgroundTransparency=1,
Text="",ZIndex=4},fr)
btn.MouseEnter:Connect(function()
tw(fr,{BackgroundTransparency=0.1, BackgroundColor3=T.surface2})
end)
btn.MouseLeave:Connect(function()
tw(fr,{BackgroundTransparency=0.3, BackgroundColor3=T.surface})
end)
btn.MouseButton1Click:Connect(ic.fn)
end
-- ── TASKBAR ───────────────────────────────────────────────────
local taskbar=c("Frame",{
Size=UDim2.new(1,0,0,44), Position=UDim2.new(0,0,1,-44),
BackgroundColor3=T.bg1, BorderSizePixel=0,ZIndex=50},gui)
c("Frame",{Size=UDim2.new(1,0,0,1),
BackgroundColor3=T.accent,BackgroundTransparency=0.6,
BorderSizePixel=0,ZIndex=51},taskbar)
-- Start button
local startBtn=c("TextButton",{
Size=UDim2.new(0,90,0,32), Position=UDim2.new(0,6,0.5,-16),
BackgroundColor3=T.accentDk, Text="⊞ START",
TextColor3=Color3.new(1,1,1), Font=Enum.Font.GothamBold,TextSize=14,
ZIndex=51,BorderSizePixel=0},taskbar)
corner(startBtn,6)
-- Open windows on taskbar
local taskWinArea = c("Frame",{
Size=UDim2.new(0,500,0,32), Position=UDim2.new(0,106,0.5,-16),
BackgroundTransparency=1, ZIndex=51},taskbar)
c("UIListLayout",{
FillDirection=Enum.FillDirection.Horizontal,
Padding=UDim.new(0,4),
},taskWinArea)
refreshTaskbar = function()
for _,ch in ipairs(taskWinArea:GetChildren()) do
if ch:IsA("TextButton") then ch:Destroy() end
end
for title, _ in pairs(OpenWinNames) do
if WINS[title] and WINS[title].Parent then
local short = title:gsub("^%s+",""):sub(1,12)
local tb = c("TextButton",{
Size=UDim2.new(0,90,1,0),
BackgroundColor3=T.surface2,
Text=short, TextColor3=T.text,
Font=Enum.Font.Gotham, TextSize=11,
ZIndex=52, BorderSizePixel=0,
},taskWinArea)
corner(tb,5)
hover(tb, T.surface2, T.surface)
tb.MouseButton1Click:Connect(function()
local w = WINS[title]
if w then w.Visible=true; Z+=1; w.ZIndex=Z end
end)
end
end
end
-- Clock
local clockFrame=c("Frame",{
Size=UDim2.new(0,90,1,0), Position=UDim2.new(1,-96,0,0),
BackgroundTransparency=1,ZIndex=51},taskbar)
local clockMain=c("TextLabel",{
Size=UDim2.new(1,0,0,22),Position=UDim2.new(0,0,0,4),
BackgroundTransparency=1, Text=os.date("%H:%M"),
Font=Enum.Font.GothamBold,TextSize=16,TextColor3=T.text,
ZIndex=52},clockFrame)
local clockDate=c("TextLabel",{
Size=UDim2.new(1,0,0,14),Position=UDim2.new(0,0,0,24),
BackgroundTransparency=1, Text=os.date("%m/%d/%Y"),
Font=Enum.Font.Gotham,TextSize=11,TextColor3=T.textDim,
ZIndex=52},clockFrame)
task.spawn(function()
while gui and gui.Parent do
task.wait(1)
clockMain.Text=os.date("%H:%M")
clockDate.Text=os.date("%m/%d/%Y")
end
end)
-- Logo
c("TextLabel",{
Size=UDim2.new(0,80,1,0), Position=UDim2.new(0.5,-40,0,0),
BackgroundTransparency=1, Text="LuaOS",
Font=Enum.Font.GothamBold,TextSize=13,TextColor3=T.textMut,
ZIndex=51},taskbar)
-- ── START MENU ─────────────────────────────────────────────────
local smOpen=false
local sm=c("Frame",{
Size=UDim2.new(0,280,0,460),
Position=UDim2.new(0,-290,1,-44),
BackgroundColor3=T.bg2,
BorderSizePixel=0,ZIndex=60, Visible=false},gui)
corner(sm,12); stroke(sm,T.accent,1,.4)
local smHead=c("Frame",{
Size=UDim2.new(1,0,0,70),
BackgroundColor3=T.accentDk,
BorderSizePixel=0,ZIndex=61},sm)
corner(smHead,12)
c("Frame",{Size=UDim2.new(1,0,0.5,0),Position=UDim2.new(0,0,0.5,0),
BackgroundColor3=T.accentDk,BorderSizePixel=0,ZIndex=61},smHead)
c("TextLabel",{
Size=UDim2.new(1,-12,0,28),Position=UDim2.new(0,12,0,10),
BackgroundTransparency=1, Text="👤 "..player.Name,
Font=Enum.Font.GothamBold,TextSize=16,TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=62},smHead)
c("TextLabel",{
Size=UDim2.new(1,-12,0,16),Position=UDim2.new(0,12,0,40),
BackgroundTransparency=1, Text="LuaOS 3.0.0 Aurora — Enhanced Edition",
Font=Enum.Font.Gotham,TextSize=11,TextColor3=Color3.fromRGB(160,190,255),
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=62},smHead)
local smApps={
{ico="⌨", lbl="Terminal", fn=openTerminal},
{ico="📝", lbl="Notepad", fn=openNotepad},
{ico="📊", lbl="Task Manager", fn=openTaskManager},
{ico="🌐", lbl="Browser", fn=openBrowser},
{ico="📁", lbl="File Manager", fn=openFiles},
{ico="🧮", lbl="Calculator", fn=openCalc},
{ico="⚙", lbl="Settings", fn=openSettings},
{ico="📈", lbl="System Monitor", fn=openSysMonitor},
}
local smList=c("Frame",{
Size=UDim2.new(1,-12,0,300),
Position=UDim2.new(0,6,0,76),
BackgroundTransparency=1,ZIndex=61},sm)
c("UIListLayout",{Padding=UDim.new(0,3)},smList)
for _,app in ipairs(smApps) do
local row=c("TextButton",{
Size=UDim2.new(1,0,0,34),
BackgroundColor3=T.bg2,
Text="",BorderSizePixel=0,ZIndex=62},smList)
corner(row,7); hover(row,T.bg2,T.surface)
c("TextLabel",{Size=UDim2.new(0,36,1,0),Position=UDim2.new(0,8,0,0),
BackgroundTransparency=1,Text=app.ico,
Font=Enum.Font.GothamBold,TextSize=18,ZIndex=63},row)
c("TextLabel",{Size=UDim2.new(1,-50,1,0),Position=UDim2.new(0,46,0,0),
BackgroundTransparency=1,Text=app.lbl,
Font=Enum.Font.Gotham,TextSize=13,TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=63},row)
row.MouseButton1Click:Connect(function()
smOpen=false
tw(sm,{Position=UDim2.new(0,-290,1,-44)},.2)
task.delay(.21,function() sm.Visible=false end)
app.fn()
end)
end
-- Separator
c("Frame",{Size=UDim2.new(1,-12,0,1),Position=UDim2.new(0,6,0,385),
BackgroundColor3=T.border,BackgroundTransparency=.4,
BorderSizePixel=0,ZIndex=61},sm)
-- Shutdown button
local shutBtn=c("TextButton",{
Size=UDim2.new(1,-12,0,40), Position=UDim2.new(0,6,0,394),
BackgroundColor3=Color3.fromRGB(160,30,30),
Text="⏻ Shutdown LuaOS",
TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=13,
ZIndex=62,BorderSizePixel=0},sm)
corner(shutBtn,7)
hover(shutBtn,Color3.fromRGB(160,30,30),Color3.fromRGB(210,45,45))
shutBtn.MouseButton1Click:Connect(function()
smOpen=false; sm.Visible=false
local ov=c("Frame",{
Size=UDim2.new(1,0,1,0),
BackgroundColor3=Color3.new(0,0,0),
BackgroundTransparency=1, ZIndex=9999},gui)
tw(ov,{BackgroundTransparency=0},1)
task.delay(1,function()
c("TextLabel",{
Size=UDim2.new(1,0,0,60),Position=UDim2.new(0,0,0.42,0),
BackgroundTransparency=1, Text="LuaOS has shut down",
Font=Enum.Font.GothamBold,TextSize=22,
TextColor3=T.accent,ZIndex=10000},ov)
c("TextLabel",{
Size=UDim2.new(1,0,0,30),Position=UDim2.new(0,0,0.52,0),
BackgroundTransparency=1, Text="v3.0.0 Aurora — Thanks for using!",
Font=Enum.Font.Gotham,TextSize=14,
TextColor3=T.textDim,ZIndex=10000},ov)
end)
task.delay(4,function() gui:Destroy() end)
end)
-- Start menu logic
local function toggleSM()
smOpen=not smOpen
if smOpen then
sm.Visible=true
sm.Position=UDim2.new(0,-290,1,-44)
tw(sm,{Position=UDim2.new(0,6,1,-sm.Size.Y.Offset-44)},.22,Enum.EasingStyle.Back)
else
tw(sm,{Position=UDim2.new(0,-290,1,-44)},.18)
task.delay(.2,function() sm.Visible=false end)
end
end
startBtn.MouseButton1Click:Connect(toggleSM)
hover(startBtn, T.accentDk, T.accent)
desktop.InputBegan:Connect(function(i)
if smOpen and i.UserInputType==Enum.UserInputType.MouseButton1 then
smOpen=false
tw(sm,{Position=UDim2.new(0,-290,1,-44)},.18)
task.delay(.2,function() sm.Visible=false end)
end
end)
-- ── BOOT SCREEN ─────────────────────────────────────────────
local boot=c("Frame",{
Size=UDim2.new(1,0,1,0),
BackgroundColor3=Color3.fromRGB(3,4,10),
ZIndex=9000},gui)
local bootLogo=c("TextLabel",{
Size=UDim2.new(1,0,0,90), Position=UDim2.new(0,0,0.35,0),
BackgroundTransparency=1, Text="LuaOS",
Font=Enum.Font.GothamBold,TextSize=72,
TextColor3=T.accent,ZIndex=9001},boot)
local bootSub=c("TextLabel",{
Size=UDim2.new(1,0,0,24), Position=UDim2.new(0,0,0.35,90),
BackgroundTransparency=1, Text="v3.0.0 Aurora · Enhanced Edition",
Font=Enum.Font.Gotham,TextSize=16,
TextColor3=T.textDim,ZIndex=9001},boot)
local bootVer=c("TextLabel",{
Size=UDim2.new(1,0,0,20), Position=UDim2.new(0,0,0.35,115),
BackgroundTransparency=1, Text="Powered by Luau Runtime",
Font=Enum.Font.Gotham,TextSize=12,
TextColor3=T.textMut,ZIndex=9001},boot)
local pbBg=c("Frame",{
Size=UDim2.new(0,360,0,4), Position=UDim2.new(0.5,-180,0.72,0),
BackgroundColor3=T.surface2, BorderSizePixel=0,ZIndex=9001},boot)
corner(pbBg,2)
local pbFill=c("Frame",{
Size=UDim2.new(0,0,1,0),
BackgroundColor3=T.accent,
BorderSizePixel=0,ZIndex=9002},pbBg)
corner(pbFill,2)
local pbStatus=c("TextLabel",{
Size=UDim2.new(0,360,0,20), Position=UDim2.new(0.5,-180,0.72,10),
BackgroundTransparency=1, Text="Initializing...",
Font=Enum.Font.Code,TextSize=12,
TextColor3=T.textMut,ZIndex=9001},boot)
local steps={
{t="Initializing kernel v3.0...", p=0.12},
{t="Mounting file system...", p=0.26},
{t="Loading theme: "..ActiveTheme.."...", p=0.38},
{t="Starting system services...", p=0.52},
{t="Initializing window manager...", p=0.64},
{t="Starting notification system...", p=0.76},
{t="Authenticating "..player.Name.."...", p=0.90},
{t="Ready! Welcome.", p=1.00},
}
task.spawn(function()
for _,s in ipairs(steps) do
pbStatus.Text=s.t
tw(pbFill,{Size=UDim2.new(s.p,0,1,0)},.4)
task.wait(.38)
end
task.wait(.3)
local function fadeOut(obj)
if obj:IsA("TextLabel") then tw(obj,{TextTransparency=1},.5) end
if obj:IsA("Frame") or obj:IsA("TextLabel") then
tw(obj,{BackgroundTransparency=1},.5)
end
for _,ch in ipairs(obj:GetChildren()) do fadeOut(ch) end
end
fadeOut(bootLogo); fadeOut(bootSub); fadeOut(bootVer)
fadeOut(pbBg); fadeOut(pbStatus)
task.wait(.3)
tw(boot,{BackgroundTransparency=1},.5)
task.wait(.55)
boot:Destroy()
-- Welcome notification
task.delay(0.5, function()
notify("Welcome!", "LuaOS v3.0 Aurora loaded.\n"..player.DisplayName..", enjoy!", 5, "👋")
end)
end)LuaOS v3.0 Aurora - Full Desktop OS for Roblox yeah so i made a whole operating system that runs in roblox executors. it's actually pretty sick what's included: got 3 themes you can swap between - dark mode, hacker green (matrix style), and this pink sakura theme that looks clean af apps: terminal with like 25+ actual working commands notepad to write stuff task manager where you can see processes and kill them fake browser with pages file explorer calculator that actually works system monitor showing fps and ram settings to change themes the terminal is legit supports commands like ls, cd, cat, grep, mkdir, rm, mv, cp, neofetch (yes theres neofetch lol), tree, ps, kill, top, and a bunch more. even has command history with arrow keys other stuff: windows can be dragged around, minimized, maximized taskbar at the bottom shows what's open notifications pop up has a whole file system you can navigate process manager running in background cool boot animation when it starts start menu like windows clock that actually updates basically spent way too much time making this way more detailed than it needed to be but whatever, it works pretty well how to use: paste the whole thing into y

Universal