Watchful11

Untitled

Nov 15th, 2014
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.99 KB | None | 0 0
  1. sleep(5)
  2. print('ReactorControl Engaged. View Monitor.')
  3. rednet.open("top")
  4. emptyflag=0
  5. offlineflag=0
  6. flashflag=0
  7.  
  8. reactor=peripheral.wrap('BigReactors-Reactor_1')
  9. monitor=peripheral.wrap('monitor_3')
  10. mon2 = peripheral.wrap('monitor_4')
  11.  
  12. monitor.setTextScale(1)
  13. monitor.setBackgroundColor(colors.black)
  14. sleep(3)
  15.  
  16. while true do
  17. monitor.clear()
  18. monitor.setCursorPos(1,1)
  19. monitor.setTextColor(colors.white)
  20. monitor.write('Fuel Level:')
  21. monitor.setCursorPos(1,2)
  22. monitor.setTextColor(colors.yellow)
  23. ;monitor.write(math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Fuel')
  24. monitor.setCursorPos(1,3)
  25. monitor.setTextColor(colors.lightBlue)
  26. monitor.write(math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Waste')
  27. monitor.setCursorPos(1,5)
  28. monitor.setTextColor(colors.white)
  29. monitor.write('Control Rod Levels:')
  30. monitor.setTextColor(colors.green)
  31. monitor.setCursorPos(1,6)
  32. monitor.write('Rod 1: '..(100-(reactor.getControlRodLevel(0)))..'% Depth')
  33. monitor.setCursorPos(1,7)
  34. monitor.write('Rod 2: '..(100-(reactor.getControlRodLevel(1)))..'% Depth')
  35. monitor.setCursorPos(1,8)
  36. monitor.write('Rod 3: '..(100-(reactor.getControlRodLevel(2)))..'% Depth')
  37. monitor.setCursorPos(1,9)
  38. monitor.write('Rod 4: '..(100-(reactor.getControlRodLevel(3)))..'% Depth')
  39. monitor.setCursorPos(1,10)
  40. monitor.write('Rod 5: '..(100-(reactor.getControlRodLevel(4)))..'% Depth')
  41. monitor.setCursorPos(1,12)
  42. monitor.setTextColor(colors.white)
  43. monitor.write('Temperature:')
  44. monitor.setCursorPos(1,13)
  45. monitor.setTextColor(colors.lightGray)
  46. monitor.write('Casing: ')
  47. if reactor.getCasingTemperature()>=650 then
  48. monitor.setTextColor(colors.purple)
  49. else if reactor.getCasingTemperature()>=950 then
  50. monitor.setTextColor(colors.red)
  51. else
  52. monitor.setTextColor(colors.green)
  53. end
  54. end
  55. monitor.write(reactor.getCasingTemperature()..'C')
  56.  
  57. monitor.setCursorPos(1,14)
  58. monitor.setTextColor(colors.yellow)
  59. monitor.write('Fuel: ')
  60. if reactor.getFuelTemperature()>=650 then
  61. monitor.setTextColor(colors.purple)
  62. else if reactor.getFuelTemperature()>=950 then
  63. monitor.setTextColor(colors.red)
  64. else
  65. monitor.setTextColor(colors.green)
  66. end
  67. end
  68. monitor.write(reactor.getFuelTemperature()..'C')
  69.  
  70. monitor.setCursorPos(1,16)
  71. monitor.setTextColor(colors.white)
  72. monitor.write('Flux:')
  73. monitor.setCursorPos(1,17)
  74. monitor.setTextColor(colors.green)
  75. monitor.write(reactor.getEnergyStored()..' RF Stored ')
  76.  
  77. if reactor.getEnergyProducedLastTick()>=500 and reactor.getEnergyProducedLastTick()<2000 then
  78. monitor.setTextColor(colors.orange)
  79. end
  80.  
  81. if reactor.getEnergyProducedLastTick()>=2000 then
  82. monitor.setTextColor(colors.red)
  83. end
  84. monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t')
  85.  
  86. monitor.setCursorPos(1,19)
  87. monitor.setTextColor(colors.orange)
  88. monitor.write('Warnings:')
  89.  
  90. if flashflag==0 then
  91. flashflag=1
  92. if offlineflag==1 then
  93. monitor.setCursorPos(1,20)
  94. monitor.setTextColor(colors.lightGray)
  95. monitor.write('OFFLINE - Manual Override')
  96. mon2.clear()
  97. mon2.setCursorPos(1,2)
  98. mon2.setTextColor(colors.red)
  99. mon2.setTextScale(2)
  100. mon2.write("Offline")
  101. rednet.send(22,"Offline")
  102. end
  103. if emptyflag==1 then
  104. monitor.setCursorPos(1,20)
  105. monitor.setTextColor(colors.pink)
  106. monitor.write('OFFLINE - Fuel Exhausted')
  107. mon2.clear()
  108. mon2.setCursorPos(1,2)
  109. mon2.setTextColor(colors.red)
  110. mon2.setTextScale(2)
  111. mon2.write("Offline")
  112. rednet.send(22,"Offline")
  113. end
  114. if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>75 then
  115. monitor.setCursorPos(1,20)
  116. monitor.setTextColor(colors.yellow)
  117. monitor.write('ONLINE - Low Power Mode')
  118. mon2.clear()
  119. mon2.setCursorPos(1,2)
  120. mon2.setTextScale(3)
  121. mon2.setTextColor(colors.green)
  122. mon2.write("ONLINE")
  123. rednet.send(22,"Online ")
  124. end
  125. if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=75 then
  126. monitor.setCursorPos(1,20)
  127. monitor.setTextColor(colors.orange)
  128. monitor.write('ONLINE - High Power Mode')
  129. mon2.clear()
  130. mon2.setCursorPos(1,2)
  131. mon2.setTextColor(colors.green)
  132. mon2.setTextScale(3)
  133. mon2.write("ONLINE")
  134. rednet.send(22,"Online ")
  135. end
  136. else
  137. flashflag=0
  138. monitor.setCursorPos(1,20)
  139. monitor.clearLine()
  140. end
  141.  
  142. if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then
  143. reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000)))
  144. else
  145. reactor.setAllControlRodLevels(0)
  146. end
  147.  
  148. if reactor.getFuelAmount()<=100 and offlineflag==0 then
  149. reactor.setAllControlRodLevels(100)
  150. reactor.setActive(false)
  151. emptyflag=1
  152. else
  153. emptyflag=0
  154. end
  155.  
  156. if rs.getInput('bottom')==false and emptyflag==0 then
  157. reactor.setActive(true)
  158. offlineflag=0
  159. end
  160.  
  161. if rs.getInput('bottom')==true and emptyflag==0 then
  162. reactor.setActive(false)
  163. reactor.setAllControlRodLevels(100)
  164. offlineflag=1
  165. end
  166. sleep(1)
  167. end
Advertisement
Add Comment
Please, Sign In to add comment