Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print('Killakiaba ReactorControl Engaged. View Monitor.')
- emptyflag=0
- offlineflag=0
- flashflag=0
- reactor=peripheral.wrap('right')
- monitor=peripheral.wrap('left')
- monitor.setTextScale(1)
- monitor.setBackgroundColor(colors.black)
- while true do
- monitor.clear()
- monitor.setCursorPos(1,1)
- monitor.setTextColor(colors.white)
- monitor.write('Fuel Level:')
- monitor.setCursorPos(1,2)
- monitor.setTextColor(colors.yellow)
- monitor.write(math.floor(((reactor.getFuelAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Fuel')
- monitor.setCursorPos(1,3)
- monitor.setTextColor(colors.lightBlue)
- monitor.write(math.floor(((reactor.getWasteAmount()/reactor.getFuelAmountMax())*100)+0.5)..'% Waste')
- monitor.setCursorPos(1,5)
- monitor.setTextColor(colors.white)
- monitor.write('Control Rod Levels:')
- monitor.setTextColor(colors.green)
- monitor.setCursorPos(1,6)
- monitor.write('Rod 1: '..(100-(reactor.getControlRodLevel(0)))..'% Depth')
- monitor.setCursorPos(1,7)
- monitor.write('Rod 2: '..(100-(reactor.getControlRodLevel(1)))..'% Depth')
- monitor.setCursorPos(1,8)
- monitor.write('Rod 3: '..(100-(reactor.getControlRodLevel(2)))..'% Depth')
- monitor.setCursorPos(1,9)
- monitor.write('Rod 4: '..(100-(reactor.getControlRodLevel(3)))..'% Depth')
- monitor.setCursorPos(1,10)
- monitor.write('Rod 5: '..(100-(reactor.getControlRodLevel(4)))..'% Depth')
- monitor.setCursorPos(1,11)
- monitor.write('Rod 6: '..(100-(reactor.getControlRodLevel(5)))..'% Depth')
- monitor.setCursorPos(1,12)
- monitor.write('Rod 7: '..(100-(reactor.getControlRodLevel(6)))..'% Depth')
- monitor.setCursorPos(1,13)
- monitor.write('Rod 8: '..(100-(reactor.getControlRodLevel(7)))..'% Depth')
- monitor.setCursorPos(1,14)
- monitor.write('Rod 9: '..(100-(reactor.getControlRodLevel(8)))..'% Depth')
- monitor.setCursorPos(1,15)
- monitor.write('Rod 10: '..(100-(reactor.getControlRodLevel(9)))..'% Depth')
- monitor.setCursorPos(1,16)
- monitor.write('Rod 11: '..(100-(reactor.getControlRodLevel(10)))..'% Depth')
- monitor.setCursorPos(1,17)
- monitor.write('Rod 12: '..(100-(reactor.getControlRodLevel(11)))..'% Depth')
- monitor.setCursorPos(1,18)
- monitor.write('Rod 13: '..(100-(reactor.getControlRodLevel(12)))..'% Depth')
- monitor.setCursorPos(1,19)
- monitor.write('Rod 14: '..(100-(reactor.getControlRodLevel(13)))..'% Depth')
- monitor.setCursorPos(22,6)
- monitor.write('Rod 15: '..(100-(reactor.getControlRodLevel(14)))..'% Depth')
- monitor.setCursorPos(22,7)
- monitor.write('Rod 16: '..(100-(reactor.getControlRodLevel(15)))..'% Depth')
- monitor.setCursorPos(22,8)
- monitor.write('Rod 17: '..(100-(reactor.getControlRodLevel(16)))..'% Depth')
- monitor.setCursorPos(22,9)
- monitor.write('Rod 18: '..(100-(reactor.getControlRodLevel(17)))..'% Depth')
- monitor.setCursorPos(22,10)
- monitor.write('Rod 19: '..(100-(reactor.getControlRodLevel(18)))..'% Depth')
- monitor.setCursorPos(22,11)
- monitor.write('Rod 20: '..(100-(reactor.getControlRodLevel(19)))..'% Depth')
- monitor.setCursorPos(22,12)
- monitor.write('Rod 21: '..(100-(reactor.getControlRodLevel(20)))..'% Depth')
- monitor.setCursorPos(22,13)
- monitor.write('Rod 22: '..(100-(reactor.getControlRodLevel(21)))..'% Depth')
- monitor.setCursorPos(22,14)
- monitor.write('Rod 23: '..(100-(reactor.getControlRodLevel(22)))..'% Depth')
- monitor.setCursorPos(22,15)
- monitor.write('Rod 24: '..(100-(reactor.getControlRodLevel(23)))..'% Depth')
- monitor.setCursorPos(22,16)
- monitor.write('Rod 25: '..(100-(reactor.getControlRodLevel(24)))..'% Depth')
- monitor.setCursorPos(22,17)
- monitor.write('Rod 26: '..(100-(reactor.getControlRodLevel(25)))..'% Depth')
- monitor.setCursorPos(22,18)
- monitor.write('Rod 27: '..(100-(reactor.getControlRodLevel(26)))..'% Depth')
- monitor.setCursorPos(22,19)
- monitor.write('Rod 28: '..(100-(reactor.getControlRodLevel(27)))..'% Depth')
- monitor.setCursorPos(43,6)
- monitor.write('Rod 29: '..(100-(reactor.getControlRodLevel(28)))..'% Depth')
- monitor.setCursorPos(43,7)
- monitor.write('Rod 30: '..(100-(reactor.getControlRodLevel(29)))..'% Depth')
- monitor.setCursorPos(43,8)
- monitor.write('Rod 31: '..(100-(reactor.getControlRodLevel(30)))..'% Depth')
- monitor.setCursorPos(43,9)
- monitor.write('Rod 32: '..(100-(reactor.getControlRodLevel(31)))..'% Depth')
- monitor.setCursorPos(43,10)
- monitor.write('Rod 33: '..(100-(reactor.getControlRodLevel(32)))..'% Depth')
- monitor.setCursorPos(43,11)
- monitor.write('Rod 34: '..(100-(reactor.getControlRodLevel(33)))..'% Depth')
- monitor.setCursorPos(43,12)
- monitor.write('Rod 35: '..(100-(reactor.getControlRodLevel(34)))..'% Depth')
- monitor.setCursorPos(43,13)
- monitor.write('Rod 36: '..(100-(reactor.getControlRodLevel(35)))..'% Depth')
- monitor.setCursorPos(43,14)
- monitor.write('Rod 37: '..(100-(reactor.getControlRodLevel(36)))..'% Depth')
- monitor.setCursorPos(43,15)
- monitor.write('Rod 38: '..(100-(reactor.getControlRodLevel(37)))..'% Depth')
- monitor.setCursorPos(43,16)
- monitor.write('Rod 39: '..(100-(reactor.getControlRodLevel(38)))..'% Depth')
- monitor.setCursorPos(43,17)
- monitor.write('Rod 40: '..(100-(reactor.getControlRodLevel(39)))..'% Depth')
- monitor.setCursorPos(43,18)
- monitor.write('Rod 41: '..(100-(reactor.getControlRodLevel(40)))..'% Depth')
- monitor.setCursorPos(1,22)
- monitor.setTextColor(colors.white)
- monitor.write('Temperature:')
- monitor.setCursorPos(1,23)
- monitor.setTextColor(colors.lightGray)
- monitor.write('Casing: ')
- if reactor.getCasingTemperature()>=650 then
- monitor.setTextColor(colors.purple)
- else if reactor.getCasingTemperature()>=950 then
- monitor.setTextColor(colors.red)
- else
- monitor.setTextColor(colors.green)
- end
- end
- monitor.write(reactor.getCasingTemperature()..'C')
- monitor.setCursorPos(1,23)
- monitor.setTextColor(colors.yellow)
- monitor.write('Fuel: ')
- if reactor.getFuelTemperature()>=650 then
- monitor.setTextColor(colors.purple)
- else if reactor.getFuelTemperature()>=950 then
- monitor.setTextColor(colors.red)
- else
- monitor.setTextColor(colors.green)
- end
- end
- monitor.write(reactor.getFuelTemperature()..'C')
- monitor.setCursorPos(1,24)
- monitor.setTextColor(colors.white)
- monitor.write('Flux:')
- monitor.setCursorPos(1,25)
- monitor.setTextColor(colors.green)
- monitor.write(reactor.getEnergyStored()..' RF Stored ')
- if reactor.getEnergyProducedLastTick()>=500 and reactor.getEnergyProducedLastTick()<2000 then
- monitor.setTextColor(colors.orange)
- end
- if reactor.getEnergyProducedLastTick()>=2000 then
- monitor.setTextColor(colors.red)
- end
- monitor.write((math.floor(reactor.getEnergyProducedLastTick()+0.5))..'RF/t')
- monitor.setCursorPos(1,26)
- monitor.setTextColor(colors.orange)
- monitor.write('Warnings:')
- if flashflag==0 then
- flashflag=1
- if offlineflag==1 then
- monitor.setCursorPos(1,27)
- monitor.setTextColor(colors.lightGray)
- monitor.write('OFFLINE - Manual Override')
- end
- if emptyflag==1 then
- monitor.setCursorPos(1,28)
- monitor.setTextColor(colors.pink)
- monitor.write('OFFLINE - Fuel Exhausted')
- end
- if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)>75 then
- monitor.setCursorPos(1,28)
- monitor.setTextColor(colors.yellow)
- monitor.write('ONLINE - Low Power Mode')
- end
- if emptyflag==0 and offlineflag==0 and reactor.getControlRodLevel(0)<=75 then
- monitor.setCursorPos(1,28)
- monitor.setTextColor(colors.orange)
- monitor.write('ONLINE - High Power Mode')
- end
- else
- flashflag=0
- monitor.setCursorPos(1,28)
- monitor.clearLine()
- end
- if reactor.getEnergyStored()<=10000000 and reactor.getEnergyStored()>100 then
- reactor.setAllControlRodLevels(0+(math.floor(reactor.getEnergyStored()/100000)))
- else
- reactor.setAllControlRodLevels(0)
- end
- if reactor.getFuelAmount()<=100 and offlineflag==0 then
- reactor.setAllControlRodLevels(100)
- reactor.setActive(false)
- emptyflag=1
- else
- emptyflag=0
- end
- if rs.getInput('bottom')==false and emptyflag==0 then
- reactor.setActive(true)
- offlineflag=0
- end
- if rs.getInput('bottom')==true and emptyflag==0 then
- reactor.setActive(false)
- reactor.setAllControlRodLevels(100)
- offlineflag=1
- end
- sleep(1)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement