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=,
Visible=,
}, gui)
desktopGrad = (desktop, T.gradA, T.gradB, )
taskbar=(,{
Size=.(,,,), Position=.(,,,-),
BackgroundColor3=T.bg1, BorderSizePixel=,ZIndex=,
Visible=,
},gui)
PASSWORD_FILE =
userPassword =
isLoggedIn =
(pass)
(PASSWORD_FILE, pass)
userPassword = pass
()
saved = (PASSWORD_FILE)
saved saved ~=
userPassword = saved
()
setupScreen = (, {
Size=.(,,,),
BackgroundColor3=T.bg1,
ZIndex=,
}, gui)
(setupScreen, T.gradA, T.gradB, )
container = (, {
Size=.(,,,),
Position=.(,-,,-),
BackgroundColor3=T.surface,
BorderSizePixel=,
ZIndex=,
}, setupScreen)
(container, )
(container, T.accent, , )
(container, )
(, {
Size=.(,,,),
Position=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.GothamBold,
TextSize=,
TextColor3=T.text,
ZIndex=,
}, container)
(, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.Gotham,
TextSize=,
TextColor3=T.textDim,
TextWrapped=,
ZIndex=,
}, container)
(, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.GothamBold,
TextSize=,
TextColor3=T.text,
TextXAlignment=.TextXAlignment.Left,
ZIndex=,
}, container)
usernameBox = (, {
Size=.(,-,,),
Position=.(,,,),
BackgroundColor3=T.bg1,
BorderSizePixel=,
ZIndex=,
}, container)
(usernameBox, )
(usernameBox, T.border, , )
(, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=player.Name,
Font=.Font.Code,
TextSize=,
TextColor3=T.text,
TextXAlignment=.TextXAlignment.Left,
ZIndex=,
}, usernameBox)
(, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.GothamBold,
TextSize=,
TextColor3=T.text,
TextXAlignment=.TextXAlignment.Left,
ZIndex=,
}, container)
passInput = (, {
Size=.(,-,,),
Position=.(,,,),
BackgroundColor3=T.bg1,
Text=,
PlaceholderText=,
PlaceholderColor3=T.textMut,
Font=.Font.Code,
TextSize=,
TextColor3=T.text,
ClearTextOnFocus=,
BorderSizePixel=,
ZIndex=,
}, container)
(passInput, )
(passInput, T.border, , )
(passInput, )
errorLbl = (, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.Gotham,
TextSize=,
TextColor3=T.red,
ZIndex=,
}, container)
createBtn = (, {
Size=.(,-,,),
Position=.(,,,-),
BackgroundColor3=T.accent,
Text=,
TextColor3=.(,,),
Font=.Font.GothamBold,
TextSize=,
BorderSizePixel=,
ZIndex=,
}, container)
(createBtn, )
(createBtn, T.accent, T.accent2)
()
pass = passInput.Text
pass ==
errorLbl.Text =
#pass <
errorLbl.Text =
(pass)
(setupScreen, {BackgroundTransparency=}, )
_,ch (setupScreen:())
ch:()
(ch, {BackgroundTransparency=}, )
ch:() ch:() ch:()
(ch, {TextTransparency=}, )
.(, ()
setupScreen:()
isLoggedIn =
desktop.Visible =
taskbar.Visible =
(, ..player.DisplayName.., , )
)
createBtn.MouseButton1Click:(tryCreate)
passInput.FocusLost:((e) e () )
.(, () passInput:() )
()
loginScreen = (, {
Size=.(,,,),
BackgroundColor3=T.bg1,
ZIndex=,
}, gui)
(loginScreen, T.gradA, T.gradB, )
container = (, {
Size=.(,,,),
Position=.(,-,,-),
BackgroundColor3=T.surface,
BorderSizePixel=,
ZIndex=,
}, loginScreen)
(container, )
(container, T.accent, , )
(container, )
avatarBg = (, {
Size=.(,,,),
Position=.(,-,,),
BackgroundColor3=T.accent,
BorderSizePixel=,
ZIndex=,
}, container)
(avatarBg, )
(, {
Size=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.GothamBold,
TextSize=,
ZIndex=,
}, avatarBg)
(, {
Size=.(,,,),
Position=.(,,,),
BackgroundTransparency=,
Text=player.Name,
Font=.Font.GothamBold,
TextSize=,
TextColor3=T.text,
ZIndex=,
}, container)
passInput = (, {
Size=.(,-,,),
Position=.(,,,),
BackgroundColor3=T.bg1,
Text=,
PlaceholderText=,
PlaceholderColor3=T.textMut,
Font=.Font.Code,
TextSize=,
TextColor3=T.text,
ClearTextOnFocus=,
BorderSizePixel=,
ZIndex=,
}, container)
(passInput, )
(passInput, T.border, , )
(passInput, )
errorLbl = (, {
Size=.(,-,,),
Position=.(,,,),
BackgroundTransparency=,
Text=,
Font=.Font.Gotham,
TextSize=,
TextColor3=T.red,
ZIndex=,
}, container)
loginBtn = (, {
Size=.(,-,,),
Position=.(,,,-),
BackgroundColor3=T.accent,
Text=,
TextColor3=.(,,),
Font=.Font.GothamBold,
TextSize=,
BorderSizePixel=,
ZIndex=,
}, container)
(loginBtn, )
(loginBtn, T.accent, T.accent2)
attempts =
()
pass = passInput.Text
pass ==
errorLbl.Text =
pass == userPassword
(loginScreen, {BackgroundTransparency=}, )
_,ch (loginScreen:())
ch:()
(ch, {BackgroundTransparency=}, )
ch:() ch:() ch:()
(ch, {TextTransparency=}, )
.(, ()
loginScreen:()
isLoggedIn =
desktop.Visible =
taskbar.Visible =
(, ..player.DisplayName, , )
)
attempts +=
passInput.Text =
errorLbl.Text = ..attempts..
(container, {Position=.(,-,,-)}, )
(container, {Position=.(,-,,-)}, )
(container, {Position=.(,-,,-)}, )
loginBtn.MouseButton1Click:(tryLogin)
passInput.FocusLost:((e) e () )
.(, () passInput:() )
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, openRoblox, openPaint
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=Enum.Font.GothamBold,TextSize=16,
TextColor3=Color3.fromRGB(200,40,40),
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+3},page)
return
end
for _,item in ipairs(pg) do
if item.lnk then
local b=c("TextButton",{
Size=UDim2.new(1,0,0,28),
BackgroundColor3=Color3.fromRGB(230,238,255),
Text="🔗 "..item.lnk,
Font=Enum.Font.Gotham,TextSize=13,
TextColor3=Color3.fromRGB(20,80,220),
TextXAlignment=Enum.TextXAlignment.Left,
BorderSizePixel=0,ZIndex=z+3},page)
corner(b,5); pad(b,6)
b.MouseButton1Click:Connect(function() addrBox.Text=item.lnk; render(item.lnk) end)
elseif item.h==1 then
c("TextLabel",{Size=UDim2.new(1,0,0,0),AutomaticSize=Enum.AutomaticSize.Y,
BackgroundTransparency=1,Text=item.t,
Font=Enum.Font.GothamBold,TextSize=22,
TextColor3=Color3.fromRGB(20,60,180),
TextXAlignment=Enum.TextXAlignment.Left,TextWrapped=true,ZIndex=z+3},page)
elseif item.h==2 then
c("TextLabel",{Size=UDim2.new(1,0,0,0),AutomaticSize=Enum.AutomaticSize.Y,
BackgroundTransparency=1,Text=item.t,
Font=Enum.Font.GothamBold,TextSize=15,
TextColor3=Color3.fromRGB(50,100,200),
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+3},page)
else
c("TextLabel",{Size=UDim2.new(1,0,0,0),AutomaticSize=Enum.AutomaticSize.Y,
BackgroundTransparency=1,Text=item.t,
Font=Enum.Font.Code,TextSize=13,
TextColor3=Color3.fromRGB(30,40,70),
TextXAlignment=Enum.TextXAlignment.Left,TextWrapped=true,ZIndex=z+3},page)
end
end
end
render("luaos://home")
addrBox.FocusLost:Connect(function(e) if e then render(addrBox.Text) end end)
end
-- ── FILE MANAGER ──────────────────────────────────────────────
openFiles = function()
if WINS["Files"] and WINS["Files"].Parent then WINS["Files"].Visible=true; return end
local win,body,z = newWindow(" 📁 File Manager", 500, 420, 220, 100)
local viewPath="/"
local bg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,
BorderSizePixel=0,ZIndex=z+1},body)
local bread=c("Frame",{Size=UDim2.new(1,0,0,34),
BackgroundColor3=T.surface2,BorderSizePixel=0,ZIndex=z+2},bg)
local pathLbl=c("TextLabel",{
Size=UDim2.new(1,-8,1,0),Position=UDim2.new(0,8,0,0),
BackgroundTransparency=1, Text="📂 /",
Font=Enum.Font.Gotham,TextSize=12,TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+3},bread)
local flist=c("ScrollingFrame",{
Size=UDim2.new(1,-16,1,-50), Position=UDim2.new(0,8,0,40),
BackgroundTransparency=1,BorderSizePixel=0,
ScrollBarThickness=3,ScrollBarImageColor3=T.accent,
AutomaticCanvasSize=Enum.AutomaticSize.Y,
CanvasSize=UDim2.new(0,0,0,0),ZIndex=z+2},bg)
c("UIListLayout",{Padding=UDim.new(0,3)},flist)
local function renderDir(path)
viewPath=path; pathLbl.Text="📂 "..path
for _,ch in ipairs(flist:GetChildren()) do
if ch:IsA("GuiObject") then ch:Destroy() end
end
if path~="/" then
local segs=path:split("/"); table.remove(segs)
local par=table.concat(segs,"/"); if par=="" then par="/" end
local upb=c("TextButton",{Size=UDim2.new(1,0,0,34),
BackgroundColor3=T.surface2, Text="",BorderSizePixel=0,ZIndex=z+3},flist)
corner(upb,6)
c("TextLabel",{Size=UDim2.new(1,-10,1,0),Position=UDim2.new(0,10,0,0),
BackgroundTransparency=1, Text="⬆ ..",
Font=Enum.Font.Gotham,TextSize=13,TextColor3=T.accent2,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+4},upb)
hover(upb,T.surface2,T.surface)
upb.MouseButton1Click:Connect(function() renderDir(par) end)
end
local nd=FS[path]
if not nd then return end
for _,cp in ipairs(nd.children) do
local child=FS[cp]
if not child then continue end
local segs=cp:split("/"); local nm=segs[#segs]
local isDir=child.t=="dir"
local row=c("TextButton",{Size=UDim2.new(1,0,0,34),
BackgroundColor3=T.surface, Text="",BorderSizePixel=0,ZIndex=z+3},flist)
corner(row,6); stroke(row,T.border,1,.6)
hover(row,T.surface,T.surface2)
c("TextLabel",{Size=UDim2.new(1,-10,1,0),Position=UDim2.new(0,10,0,0),
BackgroundTransparency=1,
Text=(isDir and "📁 " or "📄 ")..nm,
Font=Enum.Font.Gotham,TextSize=13,
TextColor3=isDir and T.accent2 or T.text,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+4},row)
if not isDir then
c("TextLabel",{Size=UDim2.new(0,60,1,0),Position=UDim2.new(1,-65,0,0),
BackgroundTransparency=1, Text=#child.content.."B",
Font=Enum.Font.Code,TextSize=11,TextColor3=T.textMut, ZIndex=z+4},row)
end
row.MouseButton1Click:Connect(function()
if isDir then renderDir(cp) end
end)
end
end
renderDir("/")
end
-- ── CALCULATOR (NEW) ───────────────────────────────────────────
openCalc = function()
if WINS["Calculator"] and WINS["Calculator"].Parent then
WINS["Calculator"].Visible=true; return
end
local win,body,z = newWindow(" 🧮 Calculator", 280, 400, 300, 100)
local bg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.bg1,
BorderSizePixel=0,ZIndex=z+1},body)
-- Display
local display=c("TextLabel",{
Size=UDim2.new(1,-16,0,70), Position=UDim2.new(0,8,0,8),
BackgroundColor3=T.surface, Text="0",
Font=Enum.Font.Code, TextSize=32, TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Right,
ZIndex=z+2, BorderSizePixel=0},bg)
corner(display,8); pad(display,12)
local expr = ""
local lastResult = ""
local function updateDisplay()
display.Text = (expr == "" and "0") or expr
end
local buttons = {
{"C", "⌫", "%", "÷"},
{"7", "8", "9", "×"},
{"4", "5", "6", "-"},
{"1", "2", "3", "+"},
{"±", "0", ".", "="},
}
local grid = c("Frame",{
Size=UDim2.new(1,-16,1,-96), Position=UDim2.new(0,8,0,86),
BackgroundTransparency=1, ZIndex=z+1},bg)
for ri, row in ipairs(buttons) do
for ci, label in ipairs(row) do
local isOp = (label == "÷" or label == "×" or label == "-" or label == "+" or label == "=")
local isSpecial = (label == "C" or label == "⌫" or label == "%" or label == "±")
local btnColor = isOp and T.accent or isSpecial and T.surface2 or T.surface
local txtColor = isOp and Color3.new(1,1,1) or T.text
local btn = c("TextButton",{
Size = UDim2.new(0.25, -6, 0.2, -6),
Position = UDim2.new((ci-1)*0.25, 3, (ri-1)*0.2, 3),
BackgroundColor3 = btnColor,
Text = label,
Font = Enum.Font.GothamBold,
TextSize = 20,
TextColor3 = txtColor,
ZIndex = z+2,
BorderSizePixel = 0,
}, grid)
corner(btn, 8)
btn.MouseButton1Click:Connect(function()
if label == "C" then
expr = ""; updateDisplay()
elseif label == "⌫" then
expr = expr:sub(1, -2); updateDisplay()
elseif label == "±" then
if expr:sub(1,1) == "-" then
expr = expr:sub(2)
else
expr = "-" .. expr
end
updateDisplay()
elseif label == "=" then
local eval = expr:gsub("×","*"):gsub("÷","/")
local fn = loadstring("return " .. eval)
if fn then
local ok, result = pcall(fn)
if ok then
lastResult = tostring(result)
display.Text = lastResult
expr = lastResult
else
display.Text = "Error"
expr = ""
end
else
display.Text = "Error"
expr = ""
end
else
expr = expr .. label
updateDisplay()
end
end)
end
end
kspawn("calc", 2)
end
-- ── SETTINGS (NEW) ─────────────────────────────────────────────
openSettings = function()
if WINS["Settings"] and WINS["Settings"].Parent then
WINS["Settings"].Visible=true; return
end
local win,body,z = newWindow(" ⚙ Settings", 420, 380, 250, 100)
local bg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,
BorderSizePixel=0,ZIndex=z+1},body)
c("TextLabel",{
Size=UDim2.new(1,-16,0,30), Position=UDim2.new(0,8,0,10),
BackgroundTransparency=1, Text="🎨 Choose a theme",
Font=Enum.Font.GothamBold, TextSize=16, TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left, ZIndex=z+2},bg)
local themeList = c("Frame",{
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
-- ── ROBLOX APP (NEW) ──────────────────────────────────────────
openRoblox = function()
if WINS["Roblox"] and WINS["Roblox"].Parent then
WINS["Roblox"].Visible=true; return
end
local win,body,z = newWindow(" 🎮 Roblox", 580, 460, 150, 80)
local bg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,
BorderSizePixel=0,ZIndex=z+1},body)
-- Header
local hdr=c("Frame",{Size=UDim2.new(1,0,0,50),
BackgroundColor3=T.surface2,BorderSizePixel=0,ZIndex=z+2},bg)
c("TextLabel",{
Size=UDim2.new(1,-16,0,30), Position=UDim2.new(0,12,0,10),
BackgroundTransparency=1, Text="🎮 Play Games",
Font=Enum.Font.GothamBold, TextSize=18, TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left, ZIndex=z+3},hdr)
-- Games grid
local gamesScroll=c("ScrollingFrame",{
Size=UDim2.new(1,-16,1,-66), Position=UDim2.new(0,8,0,58),
BackgroundTransparency=1,BorderSizePixel=0,
ScrollBarThickness=3,ScrollBarImageColor3=T.accent,
AutomaticCanvasSize=Enum.AutomaticSize.Y,
CanvasSize=UDim2.new(0,0,0,0),ZIndex=z+2},bg)
local grid=c("UIGridLayout",{
CellSize=UDim2.new(0,170,0,130),
CellPadding=UDim2.new(0,8,0,8),
SortOrder=Enum.SortOrder.LayoutOrder,
},gamesScroll)
pad(gamesScroll,4)
-- Game data
local games={
{name="Obby", desc="Jump to the top!", icon="🏃", color=Color3.fromRGB(255,100,100)},
{name="Guess Number", desc="1-100 guessing game", icon="🔢", color=Color3.fromRGB(100,180,255)},
{name="Clicker", desc="Click to win!", icon="🖱️", color=Color3.fromRGB(255,200,50)},
{name="Memory", desc="Match the cards", icon="🃏", color=Color3.fromRGB(200,100,255)},
{name="Maze Runner", desc="Find the exit!", icon="🌀", color=Color3.fromRGB(50,220,150)},
{name="Tic-Tac-Toe", desc="Classic X and O", icon="⭕", color=Color3.fromRGB(255,150,100)},
}
for _,game in ipairs(games) do
local card=c("Frame",{
BackgroundColor3=T.bg1,
BorderSizePixel=0,ZIndex=z+3},gamesScroll)
corner(card,8); stroke(card,T.border,1,.5)
-- Game icon/header
local iconBg=c("Frame",{
Size=UDim2.new(1,0,0,60),
BackgroundColor3=game.color,
BorderSizePixel=0,ZIndex=z+4},card)
corner(iconBg,8)
c("Frame",{Size=UDim2.new(1,0,0.5,0),Position=UDim2.new(0,0,0.5,0),
BackgroundColor3=game.color,BorderSizePixel=0,ZIndex=z+4},iconBg)
c("TextLabel",{
Size=UDim2.new(1,0,1,0),
BackgroundTransparency=1, Text=game.icon,
Font=Enum.Font.GothamBold,TextSize=32,ZIndex=z+5},iconBg)
-- Game info
c("TextLabel",{
Size=UDim2.new(1,-12,0,20), Position=UDim2.new(0,6,0,66),
BackgroundTransparency=1, Text=game.name,
Font=Enum.Font.GothamBold,TextSize=13,TextColor3=T.text,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+4},card)
c("TextLabel",{
Size=UDim2.new(1,-12,0,16), Position=UDim2.new(0,6,0,86),
BackgroundTransparency=1, Text=game.desc,
Font=Enum.Font.Gotham,TextSize=10,TextColor3=T.textDim,
TextXAlignment=Enum.TextXAlignment.Left,ZIndex=z+4},card)
-- Play button
local playBtn=c("TextButton",{
Size=UDim2.new(1,-12,0,22), Position=UDim2.new(0,6,1,-28),
BackgroundColor3=T.accentDk, Text="▶ Play",
TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=11,
ZIndex=z+4,BorderSizePixel=0},card)
corner(playBtn,5)
hover(playBtn,T.accentDk,T.accent)
playBtn.MouseButton1Click:Connect(function()
-- Launch game
if game.name == "Guess Number" then
-- Guess Number Game
local gWin,gBody,gz=newWindow(" 🔢 Guess the Number", 350, 280, 250, 150)
local gBg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,BorderSizePixel=0,ZIndex=gz+1},gBody)
local target=math.random(1,100)
local attempts=0
c("TextLabel",{Size=UDim2.new(1,-16,0,30),Position=UDim2.new(0,8,0,10),
BackgroundTransparency=1,Text="Guess a number between 1 and 100!",
Font=Enum.Font.Gotham,TextSize=13,TextColor3=T.text,
TextWrapped=true,ZIndex=gz+2},gBg)
local resultLbl=c("TextLabel",{Size=UDim2.new(1,-16,0,60),Position=UDim2.new(0,8,0,50),
BackgroundTransparency=1,Text="",
Font=Enum.Font.GothamBold,TextSize=16,TextColor3=T.accent,
TextWrapped=true,ZIndex=gz+2},gBg)
local input=c("TextBox",{Size=UDim2.new(1,-16,0,40),Position=UDim2.new(0,8,0,120),
BackgroundColor3=T.bg1,Text="",PlaceholderText="Enter your guess...",
Font=Enum.Font.Code,TextSize=18,TextColor3=T.text,
PlaceholderColor3=T.textMut,ZIndex=gz+2,BorderSizePixel=0},gBg)
corner(input,6); stroke(input,T.border,1,.5)
local guessBtn=c("TextButton",{Size=UDim2.new(1,-16,0,36),Position=UDim2.new(0,8,0,170),
BackgroundColor3=T.accent,Text="Guess!",TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=14,ZIndex=gz+2,BorderSizePixel=0},gBg)
corner(guessBtn,6)
hover(guessBtn,T.accent,T.accent2)
local function checkGuess()
local num=tonumber(input.Text)
if not num then resultLbl.Text="❌ Enter a valid number!"; return end
attempts+=1
if num==target then
resultLbl.TextColor3=T.green
resultLbl.Text="🎉 Correct! You won in "..attempts.." attempts!"
guessBtn.Text="Play Again"
guessBtn.MouseButton1Click:Connect(function()
target=math.random(1,100); attempts=0
resultLbl.Text=""; input.Text=""
guessBtn.Text="Guess!"
end)
elseif num<target then
resultLbl.TextColor3=T.yellow
resultLbl.Text="📈 Too low! Try higher."
else
resultLbl.TextColor3=T.yellow
resultLbl.Text="📉 Too high! Try lower."
end
end
guessBtn.MouseButton1Click:Connect(checkGuess)
input.FocusLost:Connect(function(e) if e then checkGuess() end end)
elseif game.name == "Clicker" then
-- Clicker Game
local cWin,cBody,cz=newWindow(" 🖱️ Clicker Game", 350, 300, 270, 160)
local cBg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,BorderSizePixel=0,ZIndex=cz+1},cBody)
local clicks=0
local cps=0
local lastClick=os.clock()
local scoreLbl=c("TextLabel",{Size=UDim2.new(1,0,0,60),Position=UDim2.new(0,0,0,20),
BackgroundTransparency=1,Text="0",
Font=Enum.Font.GothamBold,TextSize=42,TextColor3=T.accent,ZIndex=cz+2},cBg)
c("TextLabel",{Size=UDim2.new(1,0,0,20),Position=UDim2.new(0,0,0,80),
BackgroundTransparency=1,Text="Clicks",
Font=Enum.Font.Gotham,TextSize=14,TextColor3=T.textDim,ZIndex=cz+2},cBg)
local cpsLbl=c("TextLabel",{Size=UDim2.new(1,0,0,18),Position=UDim2.new(0,0,0,100),
BackgroundTransparency=1,Text="0 clicks/sec",
Font=Enum.Font.Code,TextSize=12,TextColor3=T.textDim,ZIndex=cz+2},cBg)
local clickBtn=c("TextButton",{Size=UDim2.new(0,200,0,80),Position=UDim2.new(0.5,-100,0,140),
BackgroundColor3=T.accent,Text="CLICK ME!",TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=20,ZIndex=cz+2,BorderSizePixel=0},cBg)
corner(clickBtn,10)
clickBtn.MouseButton1Click:Connect(function()
clicks+=1
scoreLbl.Text=tostring(clicks)
local now=os.clock()
cps=math.floor(1/(now-lastClick))
lastClick=now
cpsLbl.Text=cps.." clicks/sec"
tw(clickBtn,{Size=UDim2.new(0,220,0,90)},.05)
tw(clickBtn,{Size=UDim2.new(0,200,0,80)},.1)
end)
elseif game.name == "Tic-Tac-Toe" then
-- Tic-Tac-Toe Game
local tWin,tBody,tz=newWindow(" ⭕ Tic-Tac-Toe", 360, 420, 280, 120)
local tBg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,BorderSizePixel=0,ZIndex=tz+1},tBody)
local board={0,0,0,0,0,0,0,0,0}
local currentPlayer=1 -- 1=X, 2=O
local gameOver=false
local statusLbl=c("TextLabel",{Size=UDim2.new(1,-16,0,30),Position=UDim2.new(0,8,0,10),
BackgroundTransparency=1,Text="Player X's turn",
Font=Enum.Font.GothamBold,TextSize=16,TextColor3=T.accent,ZIndex=tz+2},tBg)
local gridFrame=c("Frame",{Size=UDim2.new(0,300,0,300),Position=UDim2.new(0.5,-150,0,50),
BackgroundTransparency=1,ZIndex=tz+1},tBg)
local cells={}
local function checkWin()
local lines={{1,2,3},{4,5,6},{7,8,9},{1,4,7},{2,5,8},{3,6,9},{1,5,9},{3,5,7}}
for _,line in ipairs(lines) do
if board[line[1]]~=0 and board[line[1]]==board[line[2]] and board[line[2]]==board[line[3]] then
return board[line[1]]
end
end
for _,v in ipairs(board) do if v==0 then return 0 end end
return -1 -- draw
end
for i=1,9 do
local row=math.floor((i-1)/3)
local col=(i-1)%3
local cell=c("TextButton",{
Size=UDim2.new(0,95,0,95),
Position=UDim2.new(0,col*100,0,row*100),
BackgroundColor3=T.bg1,Text="",
Font=Enum.Font.GothamBold,TextSize=40,
TextColor3=T.text,ZIndex=tz+2,BorderSizePixel=0},gridFrame)
corner(cell,8); stroke(cell,T.border,1,.5)
hover(cell,T.bg1,T.surface2)
cells[i]=cell
cell.MouseButton1Click:Connect(function()
if gameOver or board[i]~=0 then return end
board[i]=currentPlayer
cell.Text=currentPlayer==1 and "X" or "O"
cell.TextColor3=currentPlayer==1 and T.accent or T.green
local winner=checkWin()
if winner>0 then
gameOver=true
statusLbl.Text=(winner==1 and "Player X" or "Player O").." wins! 🎉"
statusLbl.TextColor3=T.green
elseif winner==-1 then
gameOver=true
statusLbl.Text="It's a draw!"
statusLbl.TextColor3=T.yellow
else
currentPlayer=currentPlayer==1 and 2 or 1
statusLbl.Text="Player "..(currentPlayer==1 and "X" or "O").."'s turn"
end
end)
end
local resetBtn=c("TextButton",{Size=UDim2.new(1,-16,0,36),Position=UDim2.new(0,8,1,-46),
BackgroundColor3=T.accentDk,Text="🔄 New Game",TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=14,ZIndex=tz+2,BorderSizePixel=0},tBg)
corner(resetBtn,6)
hover(resetBtn,T.accentDk,T.accent)
resetBtn.MouseButton1Click:Connect(function()
board={0,0,0,0,0,0,0,0,0}
currentPlayer=1
gameOver=false
statusLbl.Text="Player X's turn"
statusLbl.TextColor3=T.accent
for _,cell in ipairs(cells) do cell.Text="" end
end)
else
notify("Roblox", "Game '"..game.name.."' coming soon!", 3, "🎮")
end
end)
end
kspawn("roblox", 4)
end
-- ── PAINT APP (NEW) ────────────────────────────────────────────
openPaint = function()
if WINS["Paint"] and WINS["Paint"].Parent then
WINS["Paint"].Visible=true; return
end
local win,body,z = newWindow(" 🎨 Paint", 620, 480, 160, 70)
local bg=c("Frame",{Size=UDim2.new(1,0,1,0),BackgroundColor3=T.surface,
BorderSizePixel=0,ZIndex=z+1},body)
-- Toolbar
local toolbar=c("Frame",{Size=UDim2.new(1,0,0,44),
BackgroundColor3=T.surface2,BorderSizePixel=0,ZIndex=z+2},bg)
local currentColor=Color3.fromRGB(255,255,255)
local brushSize=4
local painting=false
-- Color palette
local colors={
Color3.fromRGB(255,255,255), Color3.fromRGB(0,0,0),
Color3.fromRGB(255,0,0), Color3.fromRGB(0,255,0),
Color3.fromRGB(0,0,255), Color3.fromRGB(255,255,0),
Color3.fromRGB(255,0,255), Color3.fromRGB(0,255,255),
Color3.fromRGB(255,128,0), Color3.fromRGB(128,0,255),
}
for i,col in ipairs(colors) do
local cbtn=c("TextButton",{
Size=UDim2.new(0,24,0,24),
Position=UDim2.new(0,8+(i-1)*28,0,10),
BackgroundColor3=col,Text="",
ZIndex=z+3,BorderSizePixel=0},toolbar)
corner(cbtn,4); stroke(cbtn,T.border,2,.3)
cbtn.MouseButton1Click:Connect(function()
currentColor=col
end)
end
-- Brush sizes
local sizes={2,4,8,12}
for i,sz in ipairs(sizes) do
local sbtn=c("TextButton",{
Size=UDim2.new(0,32,0,24),
Position=UDim2.new(0,300+(i-1)*36,0,10),
BackgroundColor3=T.bg1,Text="",
ZIndex=z+3,BorderSizePixel=0},toolbar)
corner(sbtn,4); stroke(sbtn,T.border,1,.5)
-- Size indicator dot
c("Frame",{
Size=UDim2.new(0,sz,0,sz),
Position=UDim2.new(0.5,-sz/2,0.5,-sz/2),
BackgroundColor3=T.text,
ZIndex=z+4,BorderSizePixel=0},sbtn)
sbtn.MouseButton1Click:Connect(function()
brushSize=sz
end)
end
-- Clear button
local clearBtn=c("TextButton",{Size=UDim2.new(0,70,0,28),Position=UDim2.new(1,-78,0,8),
BackgroundColor3=T.red,Text="🗑 Clear",TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=11,ZIndex=z+3,BorderSizePixel=0},toolbar)
corner(clearBtn,5)
-- Canvas
local canvas=c("Frame",{Size=UDim2.new(1,-16,1,-60),Position=UDim2.new(0,8,0,52),
BackgroundColor3=Color3.new(1,1,1),BorderSizePixel=0,ZIndex=z+2},bg)
corner(canvas,8); stroke(canvas,T.border,1,.5)
local pixels=c("Frame",{Size=UDim2.new(1,0,1,0),
BackgroundTransparency=1,ZIndex=z+3},canvas)
clearBtn.MouseButton1Click:Connect(function()
for _,p in ipairs(pixels:GetChildren()) do p:Destroy() end
end)
-- Drawing logic
canvas.InputBegan:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1 then
painting=true
end
end)
canvas.InputEnded:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1 then
painting=false
end
end)
canvas.InputChanged:Connect(function(i)
if painting and i.UserInputType==Enum.UserInputType.MouseMovement then
local pos=UIS:GetMouseLocation()
local canvasPos=canvas.AbsolutePosition
local relX=pos.X-canvasPos.X
local relY=pos.Y-canvasPos.Y
if relX>=0 and relX<=canvas.AbsoluteSize.X and relY>=0 and relY<=canvas.AbsoluteSize.Y then
local dot=c("Frame",{
Size=UDim2.new(0,brushSize,0,brushSize),
Position=UDim2.new(0,relX-brushSize/2,0,relY-brushSize/2),
BackgroundColor3=currentColor,
BorderSizePixel=0,ZIndex=z+4},pixels)
corner(dot,brushSize/2)
end
end
end)
kspawn("paint", 3)
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)},
{lbl="Roblox", ico="🎮", fn=openRoblox, pos=UDim2.new(0,110,0,300)},
{lbl="Paint", ico="🎨", fn=openPaint, pos=UDim2.new(0,110,0,394)},
}
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 CONTENTS ──────────────────────────────────────────
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,575),
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},
{ico="🎮", lbl="Roblox", fn=openRoblox},
{ico="🎨", lbl="Paint", fn=openPaint},
}
local smList=c("Frame",{
Size=UDim2.new(1,-12,0,370),
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,455),
BackgroundColor3=T.border,BackgroundTransparency=.4,
BorderSizePixel=0,ZIndex=61},sm)
-- Lock button
local lockBtn=c("TextButton",{
Size=UDim2.new(1,-12,0,38), Position=UDim2.new(0,6,0,464),
BackgroundColor3=Color3.fromRGB(200,120,30),
Text="🔒 Lock LuaOS",
TextColor3=Color3.new(1,1,1),
Font=Enum.Font.GothamBold,TextSize=13,
ZIndex=62,BorderSizePixel=0},sm)
corner(lockBtn,7)
hover(lockBtn,Color3.fromRGB(200,120,30),Color3.fromRGB(230,140,50))
lockBtn.MouseButton1Click:Connect(function()
smOpen=false; sm.Visible=false
desktop.Visible=false
taskbar.Visible=false
isLoggedIn=false
showLoginScreen()
end)
-- Shutdown button
local shutBtn=c("TextButton",{
Size=UDim2.new(1,-12,0,38), Position=UDim2.new(0,6,0,510),
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()
-- Check if password exists, show setup or login
if loadPassword() then
-- Password exists, show login screen
showLoginScreen()
else
-- First time setup
showPasswordSetup()
end
end)Added games and paint to it lol