Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local turbine
- turbine = peripheral.find("BigReactors-Turbine")
- local mon
- mon = peripheral.wrap("back")
- rednet.open("bottom")
- rednet.host("hq")
- TankTimeout = 1
- local NumTanks = 7
- local Tanks = {"tk01", "tk02", "tk03", "tk04", "tkA1", "tkA2", "tkA3"}
- local Fluid = {"oil", "oil", "oil", "oil", "stm", "gas", "dsl"}
- local MxAmt = {6400, 6400, 6400, 6400, 6400, 6400, 6400}
- local CrStp = {0, 0, 0, 0, 0, 0, 0}
- local MxStp = {4, 4, 4, 4, 4, 4, 4}
- local MxOil = 0
- local CrOil = 0
- local MxStm = 0
- local CrStm = 0
- local MxGas = 0
- local CrGas = 0
- local MxDsl = 0
- local CrDsl = 0
- function UpdateTurbine()
- mon.setCursorPos(1,1)
- mon.write("RPM")
- speed = turbine.getRotorSpeed()
- speed = math.floor(speed)
- mon.setCursorPos(1,2)
- mon.write(tostring(speed))
- mon.setCursorPos(1,4)
- mon.write("Steam Flow")
- flow = turbine.getFluidFlowRate()
- mon.setCursorPos(1,5)
- mon.write(tostring(flow) + " mb/t")
- mon.setCursorPos(1,7)
- mon.write("Steam Flow")
- powerOut = turbine.getEnergyProducedLastTick()
- mon.setCursorPos(1,8)
- mon.write(tostring(math.floor(powerOut)) + " RF/t")
- end
- function UpdateFluids()
- mon.setCursorPos(17,1)
- mon.write("Oil Stored")
- mon.setCursorPos(17,2)
- mon.write("~" + CrOil + " B")
- mon.setCursorPos(17,3)
- mon.write(tostring(CrOil / MxOil) + "%")
- mon.setCursorPos(17,5)
- mon.write("Gasoline Stored")
- mon.setCursorPos(17,6)
- mon.write("~" + CrGas + " B")
- mon.setCursorPos(17,7)
- mon.write(tostring(CrGas / MxGas) + "%")
- mon.setCursorPos(17,9)
- mon.write("Diesel Stored")
- mon.setCursorPos(17,10)
- mon.write("~" + CrDsl + " B")
- mon.setCursorPos(17,11)
- mon.write(tostring(CrDsl / MxDsl) + "%")
- mon.setCursorPos(17,13)
- mon.write("Steam Stored")
- mon.setCursorPos(17,14)
- mon.write("~" + CrStm + " B")
- mon.setCursorPos(17,15)
- mon.write(tostring(CrStm / MxStm) + "%")
- end
- for i = 1, NumTanks do
- if (Fluid[i] == "oil") then
- MxOil = MxOil + MxAmt[i]
- elseif (Fluid[i] == "stm") then
- MxStm = MxStm + MxAmt[i]
- elseif (Fluid[i] == "gas") then
- MxGas = MxGas + MxAmt[i]
- elseif (Fluid[i] == "dsl") then
- MxDsl = MxDsl + MxAmt[i]
- end
- while (true) do
- CrOil = 0
- CrStm = 0
- CrGas = 0
- CrDsl = 0
- for i = 1, NumTanks do
- rednet.broadcast(Tanks[i], "tanks")
- senderID, msg, protocol = rednet.receive("tanks", TankTimeout)
- CrStp[i] = tonumber(msg)
- if (Fluid[i] == "oil") then
- CrOil = CrOil + (CrStp[i] / MxStp[i] * MxAmt[i])
- elseif (Fluid[i] == "stm") then
- CrStm = CrStm + (CrStp[i] / MxStp[i] * MxAmt[i])
- elseif (Fluid[i] == "gas") then
- CrGas = CrGas + (CrStp[i] / MxStp[i] * MxAmt[i])
- elseif (Fluid[i] == "dsl") then
- CrDsl = CrDsl + (CrStp[i] / MxStp[i] * MxAmt[i])
- end
- end
- mon.clear()
- UpdateTurbine()
- UpdateFluids()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement