Advertisement
Guest User

Untitled

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