Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function getTime()
- time = textutils.formatTime(os.time(), true)
- end
- function getPeripherals()
- sides = {"top", "bottom", "left", "right", "back"}
- for i, side in pairs(rs.getSides()) do
- local peripheral = peripheral.getType(side)
- if peripheral == "drive" then
- drive = side elseif
- peripheral == "modem" then
- modem = side
- end
- end
- if modem == nil then
- print("There is no modem attached!")
- print("Shutting down in 10 seconds")
- sleep(10)
- os.shutdown()
- elseif drive == nil then
- print("There is no disk drive attached!")
- print("Shutting down in 10 seconds")
- sleep(10)
- os.shutdown()
- end
- end
- function updater()
- if autoUpdate == true then
- file = fs.open("saves/updater/update", "r" )
- file.readLine()
- file.readLine()
- file.readLine()
- file.readLine()
- file.readLine()
- newestVersion = file.readLine()
- file.close()
- newestVersion = tonumber(newestVersion)
- if newestVersion > currentVersion then
- clear()
- print("There is a new update available")
- print("Current version:", currentVersion, " Newest version", newestVersion)
- sleep(1)
- fs.delete("startup")
- pb("7gFxwLtqs", "startup")
- file = fs.open("saves/updater/version", "w" )
- file.write(newestVersion)
- file.close()
- os.reboot()
- else
- print("The newest version is already installed")
- end
- end
- end
- function pb(paste, file)
- response = http.get("http://pastebin.com/raw/"..paste)
- sResponse = response.readAll()
- response.close()
- file = fs.open(file, "w" )
- file.write(sResponse)
- file.close()
- end
- function start()
- settings.set("shell.allow_disk_startup", false)
- settings.save(".settings")
- getPeripherals()
- rednet.open(modem)
- getTime()
- write(time)
- print(": Booted up")
- sleep(1)
- getTime()
- write(time)
- print(": Getting ID")
- rednet.broadcast("sendID", "kj24fg2hz5fhj4xc3gg2c45")
- id, junk = rednet.receive("sdgh1465d+d86hd+h7fh4")
- getTime()
- write(time)
- print(": ID received")
- getTime()
- write(time)
- print(": Getting protocol")
- rednet.send(id, "doorCtrl", "kj24fg2hz5fhj4xc3gg2c45")
- id, doorCtrl = rednet.receive("d567s25f,3j3n5fcd25f3y5")
- getTime()
- write(time)
- print(": Protocol received")
- while true do
- sleep(0.1)
- inserted = disk.isPresent(drive)
- if inserted == true then
- getTime()
- write(time)
- print(": Disk inserted")
- exists = fs.exists("disk/saves/door/loginData")
- if exists == true then
- getTime()
- write(time)
- print(": Login Data found")
- file = fs.open("disk/saves/door/loginData","r")
- sessionKey = file.readLine()
- file.close()
- checkCred()
- if secure == "yes" then
- redstone.setOutput("top", true)
- getTime()
- write(time)
- print(": Door opened wih key", sessionKey)
- disk.eject("left")
- sleep(3)
- redstone.setOutput("top", false)else
- print("Invalid session key")
- end else
- print("Login data not found")
- disk.eject("left")
- end
- fs.delete("disk/saves/door/loginData")
- sleep(10)
- end
- end
- end
- function checkCred()
- rednet.send(2, sessionKey, doorCtrl)
- id, secure = rednet.receive(doorCtrl)
- end
- start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement