Advertisement
Guest User

reactor

a guest
Nov 27th, 2015
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.88 KB | None | 0 0
  1. cap = peripheral.find("tile_blockcapacitorbank_name")
  2. mon = peripheral.find("monitor")
  3. rea = peripheral.find("BigReactors-Reactor")
  4.  
  5. local numCapacitors = 3
  6. local enciendeA = 50
  7. local apagA = 50
  8.  
  9. local energia = 0
  10. local energiaGuardada = 0
  11. local energiaMax = 0
  12. local enegiaGuardadaPorCiento = 0
  13. local produccionRF = 0
  14. local usoFuel = 0
  15. local tempCore = 0
  16. local reactorOnline = false
  17.  
  18. function enciende()
  19.   rea.setActive(true)
  20. end
  21.  
  22. function apaga()
  23.   rea.setActive(false)
  24. end
  25.  
  26. function comma_value(cantidad)
  27.         local formateo = cantidad
  28.         local swap = false
  29.         if formateo < 0 then
  30.                 formateo = formateo*-1
  31.                 swap = true
  32.         end
  33.         while true do
  34.         formateo, k = string.gsub(formateo, "^(%d+)(%d%d%d)", '%1,%2')
  35.                 if k == 0 then
  36.                         break
  37.                 end
  38.         end
  39.         if swap then
  40.                 formateo = "-"..formateo
  41.         end
  42. end
  43.  
  44.  
  45. function muestraEnergia()
  46. mon.clear()
  47. mon.setCursorPos(1,1)
  48. mon.write("Uso de Energia: ")
  49.         if energia < 0 then
  50.                  mon.setTextColor(colors.red)
  51.         else
  52.                  mon.setTextColor(colors.lime)
  53.         end
  54.        
  55. mon.write(comma_value(math.floor(energia)).."RF/T")
  56. mon.setTextColor(colors.white)
  57. mon.setCursorPos(1,2)
  58. mon.write("Energia Almacenada: ")
  59.         if energiaGuardadaPorCiento < 55 then
  60.                  mon.setTextColor(colors.red)
  61.         elseif energiaGuardadaPorCiento >= 55 and energiaGuardadaPorCiento <=85 then
  62.                mon.setTextColor(colors.yellow)
  63.         else
  64.                mon.setTextColor(colors.lime)
  65.         end
  66.        
  67. mon.write(energiaGuardadaPorCiento.."%")
  68. mon.setTextColor(colors.white)
  69. mon.setCursorPos(1,3)
  70. mon.write("El Reactor esta: ")
  71.         if reactorOnline then
  72.                 mon.setTextColor(colors.lime)
  73.                 mon.write("ENCENDIDO")
  74.         else
  75.                 mon.setTextColor(colors.red)
  76.                 mon.write("APAGADORL")
  77.         end
  78.      
  79. mon.setTextColor(colors.white)
  80. mon.setCursorPos(1,4)
  81. mon.write("Generacion de Rastafaris: ")
  82. mon.setTextColor(colors.lime)
  83. mon.write(comma_value(math.floor(produccionRF)).."RF/T")              
  84. mon.setTextColor(colors.white)
  85. mon.setCursorPos(1,5)
  86. mon.write("Temperatura intenna: "..math.floor(tempCore).."c")
  87. mon.setCursorPos(1,6)
  88. mon.write("Uso de Combustible: "..usoFuel.."MB/T")
  89.  
  90.  
  91. end
  92.  
  93.  
  94. function compruebaEnergia()
  95.        local energiaTemporal = 0
  96.        energiaGuardada = cap.getEnergyStored()
  97.        energiaMax = cap.getMaxEnergyStored()
  98.        energiaGuardadaPorCiento = math.floor((energiaGuardada/energiaMax)*100)
  99.        produccionRF = rea.getEnergyProducedLastTick()
  100.        usoFuel = rea.getFuelConsumedLastTick()
  101.        usoFuel = math.floor(usoFuel*100)
  102.        usoFuel = usoFuel/100
  103.        tempCore = rea.getFuelTemperature()
  104.        reactorOnline = rea.getActive()
  105.        energiaTemporal = cap.getEnergyStored()
  106.        sleep(0.1)
  107.        energia = (cap.getEnergyStored()-energiaTemporal)/2
  108.        energia = energia*numCapacitors
  109. end
  110.  
  111. function autoReactor()
  112.         rea.setAllControlRodLevels(0)
  113.         if energiaGuardadaPorCiento < enciendeA then
  114.                 if not reactorOnline then
  115.                           enciende()
  116.                 end
  117.         end
  118.         if energiaGuardadaPorCiento > apagaA then
  119.                 if reactorOnline then
  120.                         apaga()
  121.                 end
  122.         end
  123.        
  124. end
  125.        
  126.  
  127. function muestraInfo()
  128.         -- Esta es la que se repite
  129.         compruebaEnergia()
  130.         muestraEnergia()
  131.         autoReactor()
  132.        
  133.  
  134. end      
  135.  
  136.  
  137. while true do
  138.  muestraInfo()
  139. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement