Advertisement
cronoise

BigReactor 27k RF7t

Feb 24th, 2015
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. print('ReactorControl Engaged. View Monitor.')
  2. print('Thank you Vircomore!')
  3.  
  4. emptyflag=0
  5. offlineflag=0
  6. flashflag=0
  7.  
  8. reactor=peripheral.wrap('back')
  9. local monitor=peripheral.wrap('monitor_14')
  10.  
  11. monitor.setTextScale(1)
  12. monitor.setBackgroundColor(colors.black)
  13.  
  14. while true do
  15. monitor.clear()
  16. monitor.setCursorPos(9,1)
  17. monitor.setTextColor(colors.white)
  18. monitor.write('Backup-Reactor')
  19. monitor.setCursorPos(9,2)
  20. monitor.setTextColor(colors.white)
  21. monitor.write('==============')
  22. monitor.setCursorPos(1,4)
  23. monitor.setTextColor(colors.white)
  24. monitor.write('Fuel Level:')
  25. monitor.setCursorPos(1,5)
  26. monitor.setTextColor(colors.yellow)
  27. monitor.write(math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Fuel')
  28. monitor.setCursorPos(1,6)
  29. monitor.setTextColor(colors.lightBlue)
  30. monitor.write(math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Waste')
  31. monitor.setCursorPos(1,8)
  32. monitor.setTextColor(colors.white)
  33. monitor.write('Control Rod Levels:')
  34. monitor.setTextColor(colors.green)
  35. monitor.setCursorPos(1,9)
  36. monitor.write('All Rods:  '..(100-(reactor.getControlRodLevel(0)))..'% Depth')
  37. monitor.setCursorPos(1,11)
  38. monitor.setTextColor(colors.white)
  39. monitor.write('Temperature:')
  40. monitor.setCursorPos(1,12)
  41. monitor.setTextColor(colors.lightGray)
  42. monitor.write('Casing: ')
  43. if reactor.getCasingTemperature()>=1700 then
  44.     monitor.setTextColor(colors.purple)
  45.     else if reactor.getCasingTemperature()>=2240 then
  46.         monitor.setTextColor(colors.red)
  47.     else
  48.     monitor.setTextColor(colors.green)
  49.     end
  50. end
  51. monitor.write(reactor.getCasingTemperature()..'C')
  52.  
  53. monitor.setCursorPos(1,13)
  54. monitor.setTextColor(colors.yellow)
  55. monitor.write('Fuel: ')
  56. if reactor.getFuelTemperature()>=1700 then
  57.   monitor.setTextColor(colors.purple)
  58.   else if reactor.getFuelTemperature()>=2240 then
  59.     monitor.setTextColor(colors.red)
  60.   else
  61.  monitor.setTextColor(colors.green)
  62.   end
  63. end
  64. monitor.write(reactor.getFuelTemperature()..'C')
  65.  
  66. monitor.setCursorPos(1,15)
  67. monitor.setTextColor(colors.white)
  68. monitor.write('Flux:')
  69. monitor.setCursorPos(1,16)
  70. monitor.setTextColor(colors.green)
  71. monitor.write(reactor.getEnergyStored()..' RF Stored      ')
  72.  
  73. if reactor.getEnergyProducedLastTick()>=46000 and reactor.getEnergyProducedLastTick()<60000 then
  74.     monitor.setTextColor(colors.orange)
  75. end
  76.  
  77. if reactor.getEnergyProducedLastTick()>=60000 then
  78.     monitor.setTextColor(colors.red)
  79. end
  80. monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t')
  81.  
  82. monitor.setCursorPos(1,18)
  83. monitor.setTextColor(colors.orange)
  84. monitor.write('Status:')
  85.  
  86. if flashflag==0 then
  87.   flashflag=1
  88.   if offlineflag==1 then
  89.     monitor.setCursorPos(1,19)
  90.     monitor.setTextColor(colors.lightGray)
  91.     monitor.write('OFFLINE - Manual Override')
  92.   end
  93.   if emptyflag==1 then
  94.     monitor.setCursorPos(1,19)
  95.     monitor.setTextColor(colors.pink)
  96.     monitor.write('OFFLINE - Fuel Exhausted')
  97.   end
  98.   if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>74 then
  99.     monitor.setCursorPos(1,19)
  100.     monitor.setTextColor(colors.yellow)
  101.     monitor.write('ONLINE - Efficient-Mode')
  102.   end
  103.   if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=74 then
  104.     monitor.setCursorPos(1,19)
  105.     monitor.setTextColor(colors.orange)
  106.     monitor.write('ONLINE - High Fuel Consumption!')
  107.   end
  108. else
  109.   flashflag=0
  110.   monitor.setCursorPos(1,19)
  111.   monitor.clearLine()
  112. end
  113.  
  114. if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then
  115.     reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000)))
  116. else
  117.     reactor.setAllControlRodLevels(0)
  118. end
  119.  
  120. if reactor.getFuelAmount()<=100 and offlineflag==0 then
  121.     reactor.setAllControlRodLevels(100)
  122.     reactor.setActive(false)
  123.     emptyflag=1
  124. else
  125.     emptyflag=0
  126. end
  127.      
  128. if rs.getInput('bottom')==false and emptyflag==0 then
  129.     reactor.setActive(true)
  130.     offlineflag=0
  131. end
  132.  
  133. if rs.getInput('bottom')==true and emptyflag==0 then
  134.     reactor.setActive(false)
  135.     reactor.setAllControlRodLevels(100)
  136.     offlineflag=1
  137. end    
  138. sleep(1)
  139. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement