Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local cap = peripheral.wrap("tile_blockcapacitorbank_name_0")
- local mon = peripheral.wrap("monitor_1")
- local rea = peripheral.wrap("BigReactors-Reactor_1")
- local numCapacitors = 5
- local enciendeA = 50
- local apagaA = 90
- local energia = 0
- local enegriaGuardada = 0
- local energiaMax = 0
- local energiaGuardadaPorCiento = 0
- local produccionRF = 0
- local usoFuel = 0
- local tempCore = 0
- local reactorOnline = false
- 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
- formatted, 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.writhe("Energia Almacenada: ")
- if energiaGuardadaPorCiento < 55 then
- mon.setTextColor(colors.red)
- elseif energiaGuardadaPorCiento >= 55 and energiaGuardadaPorciento <=85 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 RFs: ")
- 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).."F/T")
- mon.setCursorPos(1,6)
- mon.write("Uso de Combustible: "..usoFuel.."MB/T")
- end
- function compruebaEnergia()
- local energiaTemporal = 0
- energiaGuardada = cap.getEnergyStored()
- energiMax = cap.getMaxEnergyStored()
- produccionRF = rea.getEnergyProducedLastTick()
- energiaGuardadaPorCiento = match.floor((energiaGuardada/energiaMax)*100)
- usoFuel = rea.getFuelConsumedLastTick()
- usoFuel = match.floor(usoFuel*100)
- usoFuel = usoFuel/100
- tempCore = rea.getFuelTemperature()
- reactorOnline = rea.getActive()
- energiaTemporal = cap.getEnergyStored()
- sleep(0.1)
- energia = (cap.getEnergStored()-energiaTemporal)/2
- energia = energia*numCapacitors
- 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()
- -- Esta es la que se repite
- compruebaEnergia()
- muestraEnergia()
- autoReactor()
- end
- while true do
- muestraInfo()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement