Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cap = peripheral.find("tile_blockcapacitorbank_name")
- mon = peripheral.find("monitor")
- rea = peripheral.find("BigReactors-Reactor")
- local numCapacitors = 4
- local enciendeA = 40
- local apagaA = 90
- local energia = 0
- local energiaGuardada = 0
- local energiaMax = 0
- local enegiaGuardadaPorCiento = 0
- local produccionRF = 0
- local usoFuel = 0
- local tempCore = 0
- local reactorOnline = false
- local fuel = 0
- function enciende()
- rea.setActive(true)
- end
- function apaga()
- rea.setActive(false)
- end
- function comma_value(cantidad)
- local formateo = cantidad
- local swap = false
- if formateo < 0 then
- formateo = formateo*-1
- swap = true
- end
- while true do
- formateo, k = string.gsub(formateo, "^(%d+)(%d%d%d)", '%1,%2')
- if k == 0 then
- break
- end
- end
- if swap then
- formateo = "-"..formateo
- end
- return formateo
- end
- function muestraEnergia()
- mon.clear()
- mon.setCursorPos(1,1)
- mon.write("Uso de Energia: ")
- if energia < 0 then
- mon.setTextColor(colors.red)
- else
- mon.setTextColor(colors.lime)
- end
- mon.write(comma_value(math.floor(energia)).." RF/T")
- mon.setTextColor(colors.white)
- mon.setCursorPos(1,2)
- mon.write("Energia Almacenada: ")
- if energiaGuardadaPorCiento < 40 then
- mon.setTextColor(colors.red)
- elseif energiaGuardadaPorCiento >= 41 and energiaGuardadaPorCiento <= 80 then
- mon.setTextColor(colors.yellow)
- else
- mon.setTextColor(colors.lime)
- end
- mon.write(energiaGuardadaPorCiento.."%")
- mon.setTextColor(colors.white)
- mon.setCursorPos(1,3)
- mon.write("El Reactor esta: ")
- if reactorOnline then
- mon.setTextColor(colors.lime)
- mon.write("ENCENDIDO")
- else
- mon.setTextColor(colors.red)
- mon.write("APAGADO")
- end
- mon.setTextColor(colors.white)
- mon.setCursorPos(1,4)
- mon.write("Generacion de Rastafaris: ")
- mon.setTextColor(colors.lime)
- mon.write(comma_value(math.floor(produccionRF)).." RF/T")
- mon.setTextColor(colors.white)
- mon.setCursorPos(1,5)
- mon.write("Temperatura Interna: "..math.floor(tempCore).." °C")
- mon.setCursorPos(1,6)
- mon.write("Uso de Combustible: "..usoFuel.." MB/T")
- mon.setTextColor(colors.white)
- mon.setCursorPos(1,7)
- mon.write("Combustible: ")
- if fuel >= 80 then
- mon.setTextColor(colors.lime)
- mon.write(fuel.."%")
- elseif fuel <= 79 and fuel > 20 then
- mon.setTextColor(colors.yellow)
- mon.write(fuel.."%")
- else
- mon.setTextColor(colors.red)
- mon.write(fuel.."%")
- end
- end
- function compruebaEnergia()
- local energiaTemporal = 0
- energiaGuardada = cap.getEnergyStored()
- energiaMax = cap.getMaxEnergyStored()
- energiaGuardadaPorCiento = math.floor((energiaGuardada/energiaMax)*100)
- produccionRF = rea.getEnergyProducedLastTick()
- usoFuel = rea.getFuelConsumedLastTick()
- usoFuel = math.floor(usoFuel*100)
- usoFuel = usoFuel/100
- tempCore = rea.getFuelTemperature()
- reactorOnline = rea.getActive()
- energiaTemporal = cap.getEnergyStored()
- sleep(0.1)
- energia = (cap.getEnergyStored()-energiaTemporal)/2
- energia = energia*numCapacitors
- fuel = ((rea.getFuelAmount()*100)/rea.getFuelAmountMax())
- fuel = math.floor(fuel)+1
- end
- function autoReactor()
- rea.setAllControlRodLevels(0)
- if energiaGuardadaPorCiento < enciendeA then
- if not reactorOnline then
- enciende()
- end
- end
- if energiaGuardadaPorCiento > apagaA then
- if reactorOnline then
- apaga()
- end
- end
- end
- function muestraInfo()
- compruebaEnergia()
- muestraEnergia()
- autoReactor()
- end
- while true do
- muestraInfo()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement