Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Declare functions
- local function round(num)
- return (math.floor((num*1000)+0.5)/1000)
- end
- -- Settings
- warningColour = colors.red
- safeColour = colors.green
- normalColour = colors.black
- -- Declare monitor and bind
- local monitor
- monitor = peripheral.wrap("back")
- -- Bind to modem
- rednet.open("top")
- if rednet.isOpen("top") == false then
- error("No modem found")
- end
- -- Monitor aesthetic settings
- monitor.setTextColour(normalColour)
- monitor.setTextScale(2)
- monitor.setBackgroundColor(colors.white)
- while true do
- -- Receive message
- local id, message = rednet.receive()
- -- Clear screen and reset cursor
- monitor.clear()
- monitor.setCursorPos(1,1)
- -- Write reactor status
- if message[0] == true then
- monitor.setTextColour(safeColour)
- monitor.write("Reactor status: Active")
- monitor.setTextColour(normalColour)
- else
- monitor.setTextColour(warningColour)
- monitor.write("Reactor status: Inactive")
- monitor.setTextColour(normalColour)
- end
- -- Write reactor energy produced
- monitor.setCursorPos(1,2)
- monitor.write("Energy Produced: "..round(message[5]).." RF/t")
- -- Write reactor fuel consumed
- monitor.setCursorPos(1,3)
- monitor.write("Fuel Consumed: "..round(message[6]).." mB/t")
- -- Write reactor fuel temp
- monitor.setCursorPos(1,4)
- monitor.write("Fuel Temp: "..round(message[2]).." dec C")
- -- Write reactor fuel amount
- monitor.setCursorPos(1,5)
- monitor.write("Fuel Amount: "..round(message[4]).." mB")
- -- Write reactor casing temp
- monitor.setCursorPos(1,6)
- monitor.write("Casing Temp: "..round(message[2]).." deg C")
- -- Write control levels
- monitor.setCursorPos(1,7)
- monitor.write("Control Rods: "..round(message[7]).."%".." "..message[8]).."%".." "..message[9]).."%".." "..message[10]).."%".." "..message[11]).."%".." "..message[12]).."%")
- -- Wait a bit
- os.sleep(0.1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement