Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.pullEvent = os.pullEventRaw
- --load APIS
- os.loadAPI("os/APIS/A")
- os.loadAPI("os/APIS/buf")
- --Vars------------------------------------------------------------
- local w,h = term.getSize()
- local bsetup = nil
- local user = nil
- local pass = nil
- local AdminPass = nil
- local conf = nil
- local bsetup = buf.createBuffer()
- --config stuff
- local conf = A.getT("os/files/config")
- local ver = conf["VER"]
- --local functions
- local function setT(scr,save)
- fs.delete(scr)
- local file = fs.open(scr,"w")
- file.write(textutils.serialize(save))
- file.close()
- end
- local function check()
- for i=0,100,5 do
- buf.increnetLoadbar(bufbar,i,true)
- sleep(.01)
- end
- end
- local function preload()
- --setup load screen
- buf.bc(colors.blue)
- buf.clsB(bsetup)
- buf.drawImageASCII(bsetup,5,4,"os/images/AsciiArt",colors.blue,colors.grey)
- bufbar = buf.createLoadbar(bsetup,5,math.floor(h/2+2),math.floor(w-4),math.floor(h/2+3),colors.gray,colors.green,0)
- buf.drawLoadbar(bufbar)
- buf.drawBuffer(bsetup)
- check()
- --setup main screen
- buf.tc(colors.white)
- buf.clsB(bsetup,colors.white)
- buf.drawImage(bsetup,1,1,"os/images/setup")
- buf.clsLx(bsetup,1)
- buf.wCentered(bsetup,"Welcome",1)
- buf.wLeft(bsetup,"SuperOS Setup!",1)
- buf.wRight(bsetup,"V:"..ver,1)
- buf.clsLx(bsetup,h)
- return true
- end
- local function dm()
- buf.drawFilledBox(bsetup,1,2,w,h-1,colors.white,colors.black," ")
- buf.drawBuffer(bsetup)
- ---------
- end
- --Handel Main Events
- local function SetAdmin()
- local run = true
- local UnConfermedAdminPass = nil
- local ConfermAdminPass = nil
- while run do
- dm()
- buf.tc(colors.red)
- buf.bc(colors.white)
- buf.wCentered(bsetup,"Admin Setup",3)
- buf.wCentered(bsetup,"UserName: Admin ",5)
- buf.wCentered(bsetup,"PassWord: ",7)
- buf.wCentered(bsetup,"Conferm PassWord: ",8)
- buf.drawBuffer(bsetup)
- term.setCursorPos(math.floor(w/2-18/2)+11,7)
- term.setTextColor(colors.red)
- term.setBackgroundColor(colors.white)
- UnConfermedAdminPass = read("*")
- term.setCursorPos(math.floor(w/2-18/2)+11,8)
- ConfermAdminPass = read("*")
- if UnConfermedAdminPass ~= ConfermAdminPass then
- --incorrect match
- buf.wCentered(bsetup,"Passwords Do Not Match!",10)
- buf.wCentered(bsetup,"Please Try Again! ",11)
- buf.drawBuffer(bsetup)
- sleep(0.5)
- else
- --correct match
- AdminPass = ConfermAdminPass
- local src = "os/users/Admin/Uconfig"
- local Aconf = A.getT(src)
- Aconf["PW"] = AdminPass
- A.setT(src,Aconf)
- --End grafical stuff
- buf.pos(math.floor(w/2-18/2)+11,7)
- buf.bWriteL(bsetup,string.rep("*",#AdminPass))
- buf.pos(math.floor(w/2-18/2)+11,8)
- buf.bWriteL(bsetup,string.rep("*",#AdminPass))
- buf.wCentered(bsetup,"Password Saved",11,colors.green)
- buf.drawBuffer(bsetup)
- sleep(1)
- run = false
- end
- end
- dm()
- end
- local function CreateUser()
- local function create()
- local run = true
- local UnConfermedUserPass = nil
- local ConfermUserPass = nil
- while run do
- dm()
- buf.tc(colors.red)
- buf.bc(colors.white)
- buf.wCentered(bsetup,"User Setup",3)
- buf.wCentered(bsetup,"UserName: ",5)
- buf.wCentered(bsetup,"PassWord: ",7)
- buf.wCentered(bsetup,"Conferm PassWord: ",8)
- buf.drawBuffer(bsetup)
- if user ~= nil then
- buf.pos(math.floor(w/2-18/2)+11,5)
- buf.bWriteL(bsetup,user,colors.red,colors.white)
- else
- term.setCursorPos(math.floor(w/2-18/2)+11,5)
- term.setTextColor(colors.red)
- term.setBackgroundColor(colors.white)
- user = read()
- buf.pos(math.floor(w/2-18/2)+11,5)
- buf.bWriteL(bsetup,user,colors.red,colors.white)
- end
- buf.drawBuffer(bsetup)
- term.setTextColor(colors.red)
- term.setBackgroundColor(colors.white)
- term.setCursorPos(math.floor(w/2-18/2)+11,7)
- UnConfermedUserPass = read("*")
- term.setCursorPos(math.floor(w/2-18/2)+11,8)
- ConfermUserPass = read("*")
- if UnConfermedUserPass ~= ConfermUserPass then
- --incorrect match
- buf.wCentered(bsetup,"Passwords Do Not Match!",10)
- buf.wCentered(bsetup,"Please Try Again! ",11)
- buf.drawBuffer(bsetup)
- sleep(0.5)
- else
- --correct match
- pass = ConfermUserPass
- if fs.exists("os/users/"..user) == false then
- fs.copy("os/files/UserData","os/users/"..user)
- local Cpath = A.getT("os/users/"..user.."/Uconfig")
- Cpath["PW"] = pass
- setT("os/users/"..user.."/Uconfig",Cpath)
- buf.wCentered(bsetup,"User File created",11,colors.green)
- run = false
- else
- user = nil
- UnConfermedUserPass = nil
- ConfermUserPass = nil
- buf.wCentered(bsetup,"User Creation Failed",11,colors.red)
- end
- --End grafical stuff
- buf.pos(math.floor(w/2-18/2)+11,7)
- buf.bWriteL(bsetup,string.rep("*",#pass))
- buf.pos(math.floor(w/2-18/2)+11,8)
- buf.bWriteL(bsetup,string.rep("*",#pass))
- buf.drawBuffer(bsetup)
- sleep(2)
- end
- end
- dm()
- end
- local function CheckUser()
- dm()
- buf.drawImage(bsetup,1,1,"os/images/update")
- local passage = "Create Another User?"
- buf.pos(math.floor(w/2-#passage/2)+1,6)
- buf.bc(colors.blue)
- buf.tc(colors.white)
- buf.bWriteL(bsetup,passage)
- buf.pos(17,8)
- buf.bc(colors.green)
- buf.tc(colors.red)
- buf.bWriteL(bsetup,"YES!")
- buf.pos(30,8)
- buf.bc(colors.red)
- buf.tc(colors.green)
- buf.bWriteL(bsetup,"NO!")
- buf.drawBuffer(bsetup)
- while true do
- local arg = { os.pullEvent() }
- if arg[1]=="mouse_click" then
- if arg[2]==1 then
- if arg[3]>=14 and arg[3]<=24 then
- if arg[4]>=8 and arg[4]<=11 then
- return true
- end
- elseif arg[3]>=26 and arg[3]<=36 then
- if arg[4]>=8 and arg[4]<=11 then
- return false
- end
- end
- end
- elseif arg[1]=="key" then
- if arg[2]==28 then
- return true
- end
- end
- end
- end
- create()
- while CheckUser() do
- user = nil
- UnConfermedUserPass = nil
- ConfermUserPass = nil
- create()
- end
- end
- local function main()
- preload()
- SetAdmin()
- CreateUser()
- dm()
- end
- local ok, err = pcall(main)
- if not ok then
- A.Error(err)
- else
- fs.delete("os/files/setup")
- fs.delete("os/images/setup")
- if fs.exists("Installer") then
- fs.delete("Installer")
- end
- os.reboot()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement