Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local term = require("term")
- local component = require("component")
- local os = require("os")
- local event = require("event")
- local reactor = component.br_reactor
- local rods = reactor.getNumberOfControlRods()
- local cellPerRod = 100 / rods
- local gpu = component.gpu
- local cell = component.energy_device
- local cellState = 1 -- 1 for increasing, -1 for decreasing
- local cellLastEnergy = 0
- local reactorBuffer = 10000000
- local version = "1.2"
- local updater = "https://dvd604.pw/shite/reactor.lua"
- function clear()
- gpu.fill(1,1,132,38, " ")
- term.setCursor(1,1)
- end
- function checkUpdates()
- local wm
- for address, componentType in component.list("modem") do
- if component.proxy(address).isWireless() then
- wm = component.proxy(address)
- end
- end
- print(wm.isWireless())
- wm.open(255)
- wm.setStrength(20)
- print("Waiting for server response...")
- wm.broadcast(255, version)
- local _,_, from, port, _, message = event.pull("modem_message")
- print("Got message from update server.")
- if(message == "true") then
- print("We are up to date")
- else
- print("We are not up to date")
- os.execute("wget " .. updater .. " /home/reactorUpdate.lua")
- os.execute("rm /etc/rc.d/reactor.lua")
- os.execute("mv /home/reactorUpdate.lua /etc/rc.d/reactor.lua")
- os.execute("reboot")
- end
- end
- function start()
- clear()
- checkUpdates()
- while(1)
- do
- clear()
- print("Reactor Manager v" .. version)
- print("Reactor: " .. reactor.address)
- print("Rods: ".. rods)
- for i = 0, rods-1, 1
- do
- print("Rod ".. (i+1).." "..reactor.getControlRodLevel(i))
- end
- print("Current Output:" .. math.floor(reactor.getEnergyProducedLastTick()) .. " RF/t")
- local cellPercentage = ((cell.getEnergyStored() + reactor.getEnergyStored()) /(cell.getMaxEnergyStored() + reactorBuffer) * 100)
- print(" ")
- print(" ")
- print("Cell: " .. cell.address)
- print("Cell energy:" .. math.ceil(cellPercentage).. "%")
- if cellLastEnergy < cell.getEnergyStored() then
- cellState = -1
- print("Cell State: Discharging")
- else
- cellState = 1
- print("Cell State: Charging")
- end
- cellLastEnergy = cell.getEnergyStored()
- reactor.setAllControlRodLevels(cellPercentage)
- os.sleep(2)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement