Advertisement
Guest User

startup

a guest
Mar 31st, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.39 KB | None | 0 0
  1. --os.pullEvent = os.pullEventRaw
  2. local backups = {}
  3. backups["fs"] = fs
  4. backups["io"] = io
  5. m = peripheral.find("monitor")
  6. m.setTextScale(2)
  7. function clear()
  8.   m.clear()
  9.   m.setCursorPos(1, 1)
  10. end
  11. function mwrite(str)
  12.   x, y = m.getCursorPos()
  13.   m.write(str)
  14.   y = y + 1
  15.   m.setCursorPos(1, y)
  16. end
  17. while true do
  18.   if fs.exists("disk/startup") then
  19.     clear()
  20.     f = fs.open("disk/startup","r")
  21.     data = {}
  22.     line = f.readLine()
  23.     repeat
  24.       data[#data + 1] = line
  25.       line = f.readLine()
  26.     until not line
  27.     f.close()
  28.    
  29.     if data[1] == "--lua" then
  30.       --code = "fs = nil\nio = nil\n"
  31.       --for i,v in pairs(data) do
  32.         --code = code..v.."\n"
  33.         tEnv = getfenv()
  34.         tEnv.fs = {}
  35.         tEnv.io = {}
  36.         ntv = term.redirect(m)
  37.         os.run(tEnv,"disk/startup")
  38.  
  39. --      pcall(loadstring(code))
  40.       term.redirect(ntv)
  41.       fs = backups.fs
  42.       io = backups.io
  43.     else
  44.       for i,v in pairs(data) do
  45.       mwrite(v)
  46.     end
  47.   end
  48.   rs.setOutput("top",false)
  49. elseif fs.exists("disk") then
  50.   rs.setOutput('top',false)
  51. elseif rs.getInput('left') then
  52.   clear()
  53.   mwrite("Mass Ejecting.")
  54.   for i=1,100 do
  55.     sleep(0)
  56.     disk.eject()
  57.   end
  58. else
  59.   clear()
  60.   m.write("No Disk.")
  61.   rs.setOutput('top',true)
  62. end
  63. if rs.getInput("back") then
  64.   disk.eject("drive_42")
  65.   clear()
  66.   m.write("Ejecting.")
  67. end
  68.   sleep(1)
  69. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement