Advertisement
awsumben13

NovaNet installer

May 28th, 2014
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1.  
  2. if not http then
  3. error( "Needs the http API" )
  4. end
  5.  
  6. local url = "https://raw.github.com/awsumben13/Network/master/"
  7.  
  8. local function download( file, path )
  9. local u = url..file
  10. local response = http.get( u )
  11. if response then
  12. local content = response.readAll( )
  13. response.close( )
  14. local h = fs.open( path, "w" )
  15. h.write( content )
  16. h.close( )
  17. end
  18. end
  19.  
  20. local files = {
  21. "network";
  22. "gui";
  23. "script";
  24. }
  25.  
  26. local programs = {
  27. "server";
  28. "router";
  29. "send";
  30. "receive";
  31. "DNS";
  32. "FTP";
  33. "webserver";
  34. "browser";
  35. }
  36.  
  37. local selected = 1
  38.  
  39. local function draw( )
  40. term.setBackgroundColour( 32768 )
  41. term.clear( )
  42. term.setCursorPos( 1, 1 )
  43. term.write( "NovaNet download page." )
  44. term.setCursorPos( 1, 3 )
  45. term.write( "Files:" )
  46. for i = 1,#files do
  47. term.setCursorPos( 3, i + 3 )
  48. term.write( files[i] )
  49. end
  50. term.setCursorPos( 1, 5 + #files )
  51. term.write( "Programs:" )
  52. for i = 1,#programs do
  53. term.setCursorPos( 3, i + 5 + #files )
  54. term.write( programs[i] )
  55. end
  56. term.setCursorPos( 3, #programs + #files + 7 )
  57. term.write( "Exit" )
  58. local pos = selected + 3
  59. if selected > 3 then
  60. pos = pos + 2
  61. end
  62. if selected > #files + #programs then
  63. pos = pos + 1
  64. end
  65. term.setCursorPos( 1, pos )
  66. term.write( ">" )
  67. end
  68.  
  69. draw( )
  70. while true do
  71. local ev = { os.pullEvent( ) }
  72. if ev[1] == "key" then
  73. if ev[2] == keys.up and selected > 1 then
  74. selected = selected - 1
  75. elseif ev[2] == keys.down and selected < #files + #programs + 1 then
  76. selected = selected + 1
  77. elseif ev[2] == keys.enter then
  78. if selected == #files + #programs + 1 then
  79. break
  80. elseif selected <= #files then
  81. download( files[selected], files[selected] )
  82. else
  83. fs.makeDir( "programs" )
  84. download( "programs/"..programs[selected - #files], "programs/"..programs[selected - #files] )
  85. end
  86. end
  87. end
  88. draw( )
  89. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement