Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function os.pullEvent()
- local event, p1, p2, p3, p4, p5 = os.pullEventRaw()
- if event == "terminate" then
- shell.run("startup")
- end
- return event, p1, p2, p3, p4, p5
- end
- sid = 0
- run = true
- version = "v. 1.2.1 Beta"
- file = fs.open("ShadOS/version", "w")
- file.write(tostring(version))
- file.close()
- -- ShadOS Update Code by PaymentOption --
- rednet.open("top")
- rednet.open("right")
- rednet.open("left")
- rednet.open("back")
- rednet.open("bottom")
- function cPrint(height, string)
- local w,h = term.getSize()
- local xPos = w/2 - string.len(string)/2
- term.setCursorPos(xPos, height)
- term.write(string)
- end
- function rPrint(height, string)
- local w,h = term.getSize()
- local xPos = w - string.len(string)
- term.setCursorPos(xPos, height)
- term.write(string)
- end
- function printBorder()
- local w,h = term.getSize()
- write(" ".. string.rep('*', w-2).."\n")
- for i=1, h-2 do write(" "..'*'..string.rep(" ", w-4)..'*'.."\n") end
- write(" ".. string.rep('*', w-2))
- end
- function clear() term.clear(); term.setCursorPos(1,1) end
- function checkUpdate()
- local updateServer = 505
- term.clear()
- term.setCursorPos(1,1)
- printBorder()
- term.setCursorPos(3,2)
- print("Checking for Updates...")
- rPrint(17, "Current Version: "..version.." *")
- sleep(2)
- rednet.send(updateServer, "checkUpdate")
- sender, message = rednet.receive(0.8)
- if sender == updateServer and message == "ready" then
- rednet.send(updateServer, version)
- sender, message = rednet.receive(0.8)
- if sender == updateServer and message == "false" then
- term.setCursorPos(3,3); term.write("No updates found."); cPrint(6, "OS Up to date!"); sleep(1.3) return
- else
- rednet.send(updateServer, "ready")
- sender, message = rednet.receive(0.8)
- if sender == updateServer then
- term.setCursorPos(3,3); print("Updating...")
- fs.delete("startup"); local file = fs.open("startup", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/main"); file = fs.open("ShadOS/main", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/change"); file = fs.open("ShadOS/change", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/originalos"); file = fs.open("ShadOS/originalos", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Programs/calc"); file = fs.open("ShadOS/Programs/calc", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Programs/irc"); file = fs.open("ShadOS/Programs/irc", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Programs/menu"); file = fs.open("ShadOS/Programs/menu", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Games/laserblast"); file = fs.open("ShadOS/Games/laserblast", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Games/rpg"); file = fs.open("ShadOS/Games/rpg", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Games/shadomon"); file = fs.open("ShadOS/Games/shadomon", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Games/menu"); file = fs.open("ShadOS/Games/menu", "w"); file.write(tostring(message)); file.close()
- sender, message = rednet.receive(0.8)
- fs.delete("ShadOS/Movies/menu"); file = fs.open("ShadOS/Movies/menu", "w"); file.write(tostring(message)); file.close()
- cPrint(6, "Successfully updated!"); sleep(1.3); clear(); os.reboot()
- else cPrint(6, "Failure: Request no acknowledged"); sleep(1.3); clear() end
- end
- else cPrint(6, "Failure: Request no acknowledged"); sleep(1.3); clear() end
- end
- checkUpdate()
- -----------------------------------------
- function createMenu(id, text)
- if sid == id then
- write("> ")
- else
- write("* ")
- end
- print(text)
- end
- function logo()
- term.clear()
- term.setCursorPos(1,1)
- write"================================================\n| -_-/ ,, |\\ ,-||-, -_-/ |\n| (_ / || _ \\\\ ('||| ) (_ / |\n| (_ --_ ||/\\\\ < \\, / \\\\ (( |||--)) (_ --_ |\n| --_ ) || || /-|| || || (( |||--)) --_ ) |\n| _/ )) || || (( || || || ( / | ) _/ )) |\n| (_-_- \\\\ |/ \\/\\\\ \\\\/ -____- (_-_- |\n============_/=================================="
- time = os.time()
- term.setCursorPos(1,18)
- write(version)
- term.setCursorPos(41,18)
- write(textutils.formatTime(time))
- end
- while true do
- logo()
- if fs.exists("ShadOS/user") and fs.exists("ShadOS/pass") then
- term.setCursorPos(12,10)
- write("==========Log In==========")
- term.setCursorPos(12,13)
- write("==========================")
- term.setCursorPos(12,11)
- write("User: ")
- term.setCursorPos(12,12)
- write("Pass: ")
- term.setCursorPos(18,11)
- username = read()
- term.setCursorPos(18,12)
- password = read("*")
- uFile = fs.open("ShadOS/user", "r")
- user = uFile.readAll()
- uFile.close()
- pFile = fs.open("ShadOS/pass", "r")
- pass = pFile.readAll()
- pFile.close()
- if username == (user) and password == (pass) then
- term.clear()
- term.setCursorPos(1,1)
- sleep(.1)
- break
- else
- term.clearLine(10)
- term.clearLine(11)
- term.clearLine(12)
- term.setCursorPos(12,10)
- write("==========================")
- term.setCursorPos(12,13)
- write("==========================")
- term.setCursorPos(12,11)
- write(" Failed ")
- term.setCursorPos(12,12)
- write(" Log In ")
- sleep(2)
- os.reboot()
- end
- else
- term.setCursorPos(12,10)
- write("=========Register=========")
- term.setCursorPos(12,13)
- write("==========================")
- term.setCursorPos(12,11)
- write("User: ")
- term.setCursorPos(12,12)
- write("Pass: ")
- term.setCursorPos(18,11)
- username = read()
- term.setCursorPos(18,12)
- password = read("*")
- if string.len(username) > 15 or string.len(password) > 15 then os.reboot()
- else
- local user = fs.open("ShadOS/user", "w")
- user.write(username)
- user.close()
- local pass = fs.open("ShadOS/pass", "w")
- pass.write(password)
- pass.close()
- term.clear()
- term.setCursorPos(1,1)
- sleep(.1)
- break
- end
- end
- end
- shell.run("ShadOS/main")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement