Advertisement
Guest User

I hope this works this time

a guest
Apr 21st, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. local termWidth, termHeight = term.getSize()
  2. local keepRunning = 1
  3. local reactor = peripheral.find("BigReactors-Reactor")
  4. local monitor = peripheral.find("monitor")
  5. local selectedItem = 1
  6. local onMainMenu = true
  7.  
  8. local input = nil
  9.  
  10. -- Begin Main menu --
  11.  
  12. function Choice1()
  13. term.clear()
  14. term.setCursorPos(1,1)
  15. print("Reactor Enabled.\n")
  16. reactor.setActive(true)
  17. sleep(1)
  18. end
  19.  
  20. function monitorOutput()
  21. -- Define Statistical Values --
  22. active = reactor.getActive()
  23. energy = reactor.getEnergyStored()
  24. fuel = reactor.getFuelAmount()
  25. maxfuel = reactor.getFuelAmountMax()
  26. waste = reactor.getWasteAmount()
  27. reactivity = reactor.getFuelReactivity()
  28. rate = reactor.getEnergyProducedLastTick()
  29.  
  30. -- Begin Display --
  31. term.clear()
  32. term.setCursorPos(1,1)
  33. monitor.write("Reactor Active: "..active..)
  34. monitor.write("Stored Energy: "..energy.." RF")
  35. monitor.write("Fuel Reactivity"..reactivity.." percent")
  36. monitor.write("Total Fuel: "..fuel.." mB")
  37. monitor.write("Total Waste: "..waste.." mB")
  38. monitor.write("Total Contents: "..fuel+waste.." mB of"..maxfuel.." mB")
  39. monitor.write("Energy Per Tick: "..rate.." RF last tick")
  40. end
  41. end
  42.  
  43. function Choice2()
  44. term.clear()
  45. term.setCursorPos(1,1)
  46. print("Reactor Disabled\n")
  47. reactor.setActive(false)
  48. sleep(1)
  49. end
  50.  
  51. function Statistics()
  52. -- Define Statistical Values --
  53. active = reactor.getActive()
  54. energy = reactor.getEnergyStored()
  55. fuel = reactor.getFuelAmount()
  56. maxfuel = reactor.getFuelAmountMax()
  57. waste = reactor.getWasteAmount()
  58. reactivity = reactor.getFuelReactivity()
  59. rate = reactor.getEnergyProducedLastTick()
  60.  
  61. -- Begin Display --
  62. term.clear()
  63. term.setCursorPos(1,1)
  64. Print("Reactor Active: "..active..)
  65. Print("Stored Energy: "..energy.." RF")
  66. Print("Fuel Reactivity"..reactivity.." percent")
  67. Print("Total Fuel: "..fuel.." mB")
  68. Print("Total Waste: "..waste.." mB")
  69. Print("Total Contents: "..fuel+waste.." mB of"..maxfuel.." mB")
  70. Print("Energy Per Tick: "..rate.." RF last tick")
  71. end
  72.  
  73. function Choice3()
  74. term.clear()
  75. term.setCursorPos(1,1)
  76. statistics()
  77. sleep(1)
  78. end
  79.  
  80. function Exit()
  81. print("Shutting down. Goodbye.")
  82. os.sleep(2)
  83. os.shutdown()
  84. end
  85.  
  86. mainMenu = {
  87. [1] = { text = "Turn Reactor On", handler = Choice1 },
  88. [2] = { text = "Turn Reactor Off", handler = Choice2 },
  89. [3] = { text = "Detailed Status", handler = Choice3 },
  90. [4] = { text = "Shut Down", handler = Exit }
  91. }
  92.  
  93. function printMenu( menu )
  94. for i=1,#menu do
  95. if i == selectedItem then
  96. print(">> "..menu[i].text)
  97. else
  98. print(" "..menu[i].text)
  99. end
  100. end
  101. end
  102.  
  103. function onKeyPressed( key, menu )
  104. if key == keys.enter then
  105. onItemSelected(menu)
  106. elseif key == keys.up then
  107. if selectedItem > 1 then
  108. selectedItem = selectedItem - 1
  109. end
  110. elseif key == keys.down then
  111. if selectedItem < #menu then
  112. selectedItem = selectedItem + 1
  113. end
  114. end
  115. end
  116.  
  117. function onItemSelected( menu )
  118. menu[selectedItem].handler()
  119. end
  120.  
  121. function main()
  122. while onMainMenu do
  123. term.clear()
  124. term.setCursorPos(1,1)
  125. print(colors.red, "Bardus Specifications Basic Underground Transcription Terminal\nProject Greenlight.\n")
  126. printMenu(mainMenu)
  127. event, key = os.pullEvent("key")
  128. onKeyPressed(key,mainMenu)
  129. end
  130. end
  131.  
  132. -- End menu --
  133.  
  134. monitorOutput()
  135. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement