Posted 17 July 2015 - 09:01 AM
I have a program to control a Big Reactor, if i active the function to show information in a advanced monitor, the computer reboot, but if i desactive, the program works. I wrote another program to see if the monitors work and they show text
This is the code :
[indent=1]
print("running…")
cap = peripheral.find("tile_blockcapacitorbank_name")
mon = peripheral.wrap("right")
–mon = peripheral.find("monitor")
rea = peripheral.find("BigReactors-Reactor")
local numCapacitors = 2
local enciendeA = 50
local apagaA = 95
local energia = 0
local energiaGuardada = 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
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("Usa 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 < 55 then
mon.setTextColor(colors.red)
elseif energiaGuardadaPorCiento >= 55 and energiaGuardadaPorCierto <=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("Este 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 RedstoneFluix: ")
mon.setTextColor(colors.lime)
mon.weite(comma_value(math.floor(produccionRF)).."RF/T")
mon.setTextColor(colors.white)
mon.serCursorPos(1,5)
mon.write("Temperatura interna: "..math.floor(tempCore).."c")
mon.setCursorPos(1,6)
mon.write("Uso de Combustible: "..usoFuel.."MB/T")
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
end
function autoReactor()
rea.setAllControlRodLevels(0)
if energiaGuardadaPorCiento < enciendeA then
if not reactorOnline then
enciende()
end
end
if energiaGuardadaPorCiento > apagaA then
apaga()
end
end
function muestraInfo()
compruebaEnergia()
muestraEnergia()
autoReactor()
end
while true do
muestraInfo()
end
[/indent]
This is the code :
[indent=1]
print("running…")
cap = peripheral.find("tile_blockcapacitorbank_name")
mon = peripheral.wrap("right")
–mon = peripheral.find("monitor")
rea = peripheral.find("BigReactors-Reactor")
local numCapacitors = 2
local enciendeA = 50
local apagaA = 95
local energia = 0
local energiaGuardada = 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
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("Usa 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 < 55 then
mon.setTextColor(colors.red)
elseif energiaGuardadaPorCiento >= 55 and energiaGuardadaPorCierto <=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("Este 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 RedstoneFluix: ")
mon.setTextColor(colors.lime)
mon.weite(comma_value(math.floor(produccionRF)).."RF/T")
mon.setTextColor(colors.white)
mon.serCursorPos(1,5)
mon.write("Temperatura interna: "..math.floor(tempCore).."c")
mon.setCursorPos(1,6)
mon.write("Uso de Combustible: "..usoFuel.."MB/T")
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
end
function autoReactor()
rea.setAllControlRodLevels(0)
if energiaGuardadaPorCiento < enciendeA then
if not reactorOnline then
enciende()
end
end
if energiaGuardadaPorCiento > apagaA then
apaga()
end
end
function muestraInfo()
compruebaEnergia()
muestraEnergia()
autoReactor()
end
while true do
muestraInfo()
end
[/indent]