Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --os.loadAPI("colors")
- reactor = peripheral.wrap("BigReactors-Reactor_0")
- mon = peripheral.wrap("monitor_0")
- mon.setTextScale(2)
- mon.setBackgroundColor(colors.gray)
- mon.clear()
- mon.setCursorPos(1,1)
- savingToFile = false
- controlRodLevel = 0
- energyProducedLastTick = 0
- energyStored = 0
- cycles = 0
- varCount = 3
- reactorMultiplayer = 100
- function setup()
- term.clear()
- term.setCursorPos(1,1)
- term.write("Do you want to save to file? 1 - yes, 2 - no")
- term.setCursorPos(1,2)
- savingToFile = read()
- term.clear()
- term.setCursorPos(1,1)
- term.write("What is youre multiplayer? 96 for 17kRF/t")
- term.setCursorPos(1,2)
- reactorMultiplayer = read()
- if (savingToFile ~= "1") then
- if (savingToFile ~= "2") then
- term.clear()
- term.setCursorPos(1,2)
- term.setTextColor(colors.red)
- term.write("Oops, a typo, please try again")
- term.setTextColor(colors.white)
- sleep(2)
- setup()
- end
- end
- end
- function round(num, numDecimalPlaces)
- local mult = 10^(numDecimalPlaces or 0)
- return math.floor(num * mult + 0.5) / mult
- end
- function toint(n)
- local s = tostring(n)
- local i, j = s:find('%.')
- if i then
- return tonumber(s:sub(1, i-1))
- else
- return n
- end
- end
- setup()
- while true do
- controlRodLevel = reactor.getControlRodLevel(1)
- energyProducedLastTick = reactor.getEnergyProducedLastTick()
- energyStored = reactor.getEnergyStored()
- varTable = {energyStored, round(energyProducedLastTick, 2), controlRodLevel}
- if(cycles == 5 and savingToFile == "1") then
- local file = fs.open("VarCC", "w")
- for i=1, varCount do
- file.writeLine(varTable[i])
- end
- file.close()
- cycles = 0
- end
- if(savingToFile == "1") then
- cycles = cycles + 1
- end
- if(energyStored >= 9990000) then
- reactor.setActive(false)
- end
- if(energyStored == 0) then
- reactor.setActive(true)
- end
- if(reactorMultiplayer*energyStored*energyStored/25000000000000 >= 100) then
- reactor.setAllControlRodLevels(100)
- elseif(energyStored < 4000000) then
- reactor.setAllControlRodLevels(0)
- else
- reactor.setAllControlRodLevels(reactorMultiplayer*energyStored*energyStored/25000000000000)
- end
- -------------------------------------------------------------------------
- mon.clear()
- mon.setCursorPos(1,1)
- if(true == true) then
- mon.setTextColor(colors.green)
- mon.write("Reactor Active")
- else
- mon.setTextColor(colors.red)
- mon.write("Reactor Inactive")
- end
- mon.setTextColor(colors.white)
- -------------------------------------------------------------------------
- if(energyStored >= 3000000) then
- mon.setTextColor(colors.green)
- else
- mon.setTextColor(colors.red)
- end
- mon.setCursorPos(1,2)
- mon.write("Reactor Storage")
- mon.setTextColor(colors.white)
- mon.write(": ".. tostring(round(energyStored / 10000000 * 100),0) .."%")
- -------------------------------------------------------------------------
- mon.setCursorPos(1,3)
- if(energyStored <= 3000000) then
- mon.setTextColor(colors.red)
- else
- mon.setTextColor(colors.green)
- end
- mon.write("Buffer:")
- mon.setTextColor(colors.white)
- mon.write(energyStored.. "RF")
- -------------------------------------------------------------------------
- mon.setCursorPos(1,4)
- if(energyProducedLastTick >= 10000) then
- mon.setTextColor(colors.red)
- else
- mon.setTextColor(colors.green)
- end
- mon.write("Usage:")
- mon.setTextColor(colors.white)
- mon.write(round(energyProducedLastTick)/1000 .."kRF/t")
- -------------------------------------------------------------------------
- if(reactor.getControlRodLevel(1) >= 50) then
- mon.setTextColor(colors.green)
- else
- mon.setTextColor(colors.red)
- end
- mon.setCursorPos(1,5)
- mon.write("Control Rods")
- mon.setTextColor(colors.white)
- mon.write(":".. controlRodLevel.. "%")
- -------------------------------------------------------------------------
- term.clear()
- term.setCursorPos(1,1)
- term.write("energy in buffer: " ..energyStored)
- term.setCursorPos(1,2)
- term.write("cycle number: " ..cycles)
- term.setCursorPos(1,3)
- term.write("control Rods: ".. 96*energyStored*energyStored/25000000000000)
- term.setCursorPos(1,4)
- term.write("ReactorMultiplayer: ".. reactorMultiplayer)
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement