Advertisement
BrainGamer

BrainInstaller (OpenComputers)

Sep 17th, 2016
5,561
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.23 KB | None | 0 0
  1. -- BrainInstaller
  2. -- used to download other programs by BrainGamer
  3.  
  4. local comp = require("component")
  5. local term = require("term")
  6. local computer = require("computer")
  7. local gpu = comp.gpu
  8.  
  9. os.execute("pastebin get -f BD2FmWh7 /lib/BrainInstallerList.lua")
  10. package.loaded.BrainInstallerList = nil
  11. local list = require("BrainInstallerList")
  12.  
  13. local mX, mY = gpu.getResolution()
  14. mX = mX/3
  15. mY = mY/3
  16. gpu.setResolution(mX,mY)
  17.  
  18. term.clear()
  19. computer.beep(850,0.15)
  20. computer.beep(1000,0.08)
  21.  
  22. ::SELECT::
  23.  
  24. term.clear()
  25. gpu.setBackground(0x111111)
  26. gpu.fill(1,1,mX,mY," ")
  27. gpu.setForeground(0xDD2222)
  28. gpu.set((mX/2)-7,1,"BrainInstaller")
  29. gpu.set((mX/3),3,"Install:")
  30. term.setCursor((mX/3)+9,3)
  31.  
  32. local prog = term.read()
  33. prog = prog:sub(1,-2)
  34. prog = prog:lower()
  35.  
  36. local dl = list[prog]
  37.  
  38. if not list[prog] then
  39.   gpu.set((mX/3),4,"Unknown")
  40.   computer.beep(300,0.15)
  41.   os.sleep(1)
  42.   goto SELECT
  43. else
  44.     gpu.set((mX/3),4,"Downloading")
  45.     computer.beep(900,0.08)
  46. end
  47.  
  48. gpu.setForeground(0x111111)
  49. term.setCursor(1,mY-2)
  50. os.execute("pastebin get -f ".. dl.id .." ".. dl.file)
  51. gpu.setForeground(0xDD2222)
  52. gpu.set((mX/3),5,"Done")
  53. computer.beep(950,0.08)
  54.  
  55. ::AGAIN::
  56. gpu.fill(1,6,mX,mY," ")
  57. gpu.set((mX/3),6,"Again? [Y/N]")
  58. term.setCursor((mX/3)+14,6)
  59. local again = term.read()
  60. again = again:sub(1,-2)
  61. again = again:lower()
  62.  
  63. if again == "y" then
  64.   computer.beep(900,0.05)
  65.   goto SELECT
  66. elseif again == "n" then
  67.  
  68.   package.loaded.BrainInstallerList = nil
  69.   os.remove("/lib/BrainInstallerList.lua")
  70.   computer.beep(900,0.05)
  71. ::REBOOT::
  72.  
  73.   gpu.set((mX/3),7,"Reboot? [Y/N]")
  74.   term.setCursor((mX/3)+14,7)
  75.   local reboot = term.read()
  76.   reboot = reboot:sub(1,-2)
  77.   reboot = reboot :lower()
  78.  
  79.   if reboot == "y" then
  80.     for x=0,3 do
  81.       os.sleep(1)
  82.       gpu.set((mX/3),8,"Rebooting: ".. tostring(3-x))
  83.       computer.beep(750,0.02)
  84.     end
  85.     computer.beep(900,0.05)
  86.     computer.shutdown(true)
  87.   elseif reboot == "n" then
  88.     computer.beep(300,0.2)
  89.     gpu.setBackground(0x000000)
  90.     gpu.setForeground(0xFFFFFF)
  91.     gpu.setResolution(mX*3,mY*3)
  92.     term.clear()
  93.   else
  94.     gpu.fill(mX,7,mX,1," ")
  95.     computer.beep(300,0.15)
  96.     goto REBOOT
  97.   end
  98. else
  99.   computer.beep(300,0.15)
  100.   gpu.fill(mX,6,mX,1," ")
  101.   goto AGAIN
  102. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement