Advertisement
Jacob_Evans

Untitled

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