Advertisement
Guest User

control

a guest
Jul 22nd, 2014
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.07 KB | None | 0 0
  1. print('ReactorControl Engaged. View Monitor')
  2.  
  3. emptyflag=0
  4. offlineflag=0
  5. flashflag=0
  6.  
  7. reactor=peripheral.wrap('bottom*)
  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.setCursorPos(1,6)
  29. monitor.write('Rod 1:  '..(100-reactor.getControlRodLevel(0)))..'% Depth')
  30. monitor.setCursorPos(1,7)
  31. monitor.write('Rod 2:  '..(100-reactor.getControlRodLevel(1)))..'% Depth')
  32. monitor.setCursorPos(1,8)
  33. monitor.write('Rod 3:  '..(100-reactor.getControlRodLevel(2)))..'% Depth')
  34. monitor.setCursorPos(1,9)
  35. monitor.write('Rod 4:  '..(100-reactor.getControlRodLevel(3)))..'% Depth')
  36. monitor.setCursorPos(1,10)
  37. monitor.write('Rod 5:  '..(100-reactor.getControlRodLevel(4)))..'% Depth')
  38. monitor.setCursorPos(1,12)
  39. monitor.setTextColor(colors.white)
  40. monitor.write('temperature')
  41. monitor.setCursorPos(1,13)
  42. monitor.setTextColor(colors.lightGray)
  43. monitor.write('casing: ')
  44. if reactor.getCasingTemperatur()>=650 then
  45. monitor.settextColor(colors.purple)
  46. else if reactor.getCasingTemperature()>=950 then
  47. monitor.setTextColor(colors.red)
  48. else
  49. monitor.setTextColor(colors.green)
  50. end
  51. end
  52. monitor.write(reactor.getCasingTemperature()..'C')
  53.  
  54. monitor.setCursorPos(1,14)
  55. monitor.setTextColor(colors.yellow)
  56. monitor.write('Fuel: ')
  57. if reactor.getFuelTemperature()>=650 then
  58. monitor.setTextColor(colors.purple)
  59. else if reactor.getFuelTemperature()>=950 then
  60. monitor.setTextColor(colors.red)
  61. else
  62. monitor.setTextColor(colors.green)
  63. end
  64. end
  65. monitor.write(reactor.getFuelTemperature()..'C')
  66.  
  67. monitor.setCursorPos(1,16)
  68. monitor.setTextColor(colors.white)
  69. monitor.write('Flux:')
  70. monitor.setCursorPos(1,17)
  71. monitor.setTextColor(colors.green)
  72. monitor.write(reactor.getEnergyStored()..' RFStored      ')
  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,19)
  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,20)
  91. monitor.setTextColor(colors.lightGray)
  92. monitor.write('OFFLINE - Manual Override')
  93. end
  94. if emptyflag==1 then
  95. monitor.setCursorPos(1,20)
  96. monitor.setTextColor(colors.pink)
  97. monitor.write('OFFLINE - Fuel Exhausted')
  98. end
  99. if emptyflag==0 and offlineflag==0 and reactor.getControlRolLevel(0)>75 then
  100. monitor.setCursorPos(1,20)
  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,20)
  106. monitor.setTextColor(colors.orange)
  107. monitor.write('ONLINE - High Power Mode')
  108. end
  109. else
  110. flashflag=0
  111. monitor.setCursorPos(1,20)
  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