Advertisement
9551

Untitled

Jan 16th, 2024
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. local monitor_source = peripheral.find("monitor")
  2. local monitor = window.create(monitor_source,1,1,monitor_source.getSize())
  3. local reactor = peripheral.find("fissionReactorLogicAdapter")
  4. local turbine = peripheral.find("turbineValve")
  5.  
  6. local updateRate = 1 -- seconds until computer updates values
  7.  
  8. monitors.clear()
  9.  
  10. monitors.setCursorPos(13, 2)
  11. monitors.setTextColor(colors.orange)
  12. monitors.write("- INFO PANEL -")
  13.  
  14. while (true) do
  15. if (reactor.getStatus()) then
  16. if (math.floor(reactor.getTemperature() - 273.15) > 700) then
  17. reactor.scram()
  18. print("The reactor has been shut down because of high temperatures!")
  19. chatBox.sendMessageToPlayer("The reactor has been shut down because of high temperatures!", user)
  20. end
  21.  
  22. if (reactor.getCoolantFilledPercentage() * 100 <= 60.0) then
  23. reactor.scram()
  24. print("The reactor has been shut down because is running low of coolant")
  25. chatBox.sendMessageToPlayer("The reactor has been shut down because is running low of coolant", user)
  26. end
  27.  
  28. if (reactor.getWasteFilledPercentage() >= 0.90) then
  29. reactor.scram()
  30. print("The reactor has been shut down because is almost full of waste")
  31. chatBox.sendMessageToPlayer("The reactor has been shut down because is full of waste", user)
  32. end
  33.  
  34. if (reactor.getFuelFilledPercentage() <= 0.30) then
  35. reactor.scram()
  36. print("The reactor has been shut down because is running low of fuel")
  37. chatBox.sendMessageToPlayer("The reactor has been shut down because is running low of fuel", user)
  38. end
  39.  
  40. if (reactor.getDamagePercent() >= 60) then
  41. reactor.scram()
  42. print("The reactor has been shut down because is too damaged")
  43. chatBox.sendMessageToPlayer("The reactor has been shut down because is too damaged", user)
  44. end
  45. end
  46.  
  47. monitors.setCursorPos(2, 5)
  48. monitors.setTextColor(colors.green)
  49. monitors.write("[REACTOR] (")
  50. monitors.write(reactor.getDamagePercent())
  51. monitors.write("%)")
  52.  
  53. monitors.setCursorPos(32, 1)
  54. if (reactor.getStatus()) then
  55. monitors.clearLine()
  56. monitors.setTextColor(colors.lime)
  57. monitors.write("ONLINE")
  58. else
  59. monitors.clearLine()
  60. monitors.setTextColor(colors.red)
  61. monitors.write("OFFLINE")
  62. end
  63.  
  64. monitors.setTextColor(colors.white)
  65.  
  66. monitors.setCursorPos(2, 7)
  67. monitors.clearLine()
  68. monitors.write("Temp:\n")
  69. monitors.write(math.floor(reactor.getTemperature() - 273.15))
  70. monitors.write(" °C")
  71.  
  72. monitors.setCursorPos(2, 8)
  73. monitors.clearLine()
  74. monitors.write("A. Burn Rate:\n")
  75. monitors.write(reactor.getActualBurnRate())
  76. monitors.write(" mB/t")
  77.  
  78. monitors.setCursorPos(2, 9)
  79. monitors.clearLine()
  80. monitors.write("Heating Rate:\n")
  81. monitors.write(math.floor(reactor.getHeatingRate()))
  82. monitors.write(" mB/t")
  83.  
  84. monitors.setCursorPos(2, 10)
  85. monitors.clearLine()
  86. monitors.write("H. Coolant: ")
  87. monitors.write(math.floor(reactor.getHeatedCoolantFilledPercentage() * 100))
  88. monitors.write(" %")
  89.  
  90. monitors.setCursorPos(2, 11)
  91. monitors.clearLine()
  92. monitors.write("Fuel:\n")
  93. monitors.write(math.floor(reactor.getFuelFilledPercentage() * 100))
  94. monitors.write("%")
  95.  
  96. monitors.setCursorPos(2, 12)
  97. monitors.clearLine()
  98. monitors.write("Coolant: ")
  99. monitors.write(math.floor(reactor.getCoolantFilledPercentage() * 100))
  100. monitors.write("%")
  101.  
  102. monitors.setCursorPos(2, 13)
  103. monitors.clearLine()
  104. monitors.write("Waste:\n")
  105. monitors.write(math.floor(reactor.getWasteFilledPercentage() * 100))
  106. monitors.write("%")
  107.  
  108. monitors.setCursorPos(2, 15)
  109. monitors.setTextColor(colors.blue)
  110. monitors.write("[TURBINE]")
  111.  
  112. monitors.setTextColor(colors.white)
  113.  
  114. monitors.setCursorPos(2, 17)
  115. monitors.clearLine()
  116. monitors.write("Production Rate:\n")
  117. monitors.write(math.floor(turbine.getProductionRate() * 0.4))
  118. monitors.write(" FE/t")
  119.  
  120. monitors.setCursorPos(2, 18)
  121. monitors.clearLine()
  122. monitors.write("Flow Rate: ")
  123. monitors.write(math.floor(turbine.getFlowRate()))
  124. monitors.write(" mB/t")
  125.  
  126. monitors.setCursorPos(2, 19)
  127. monitors.clearLine()
  128. monitors.write("Energy: ")
  129. monitors.write(math.floor(turbine.getEnergy() * 0.4))
  130. monitors.write(" FE")
  131.  
  132. monitor.setVisible(true)
  133. sleep(updateRate)
  134. monitor.setVisible(false)
  135. end
  136.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement