Advertisement
Guest User

reactorV10

a guest
Dec 21st, 2014
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.93 KB | None | 0 0
  1. os.loadAPI("button")
  2. local m = peripheral.wrap("monitor_0")
  3. local r = peripheral.wrap("BigReactors-Reactor_0")
  4. local msizex,msizey = m.getSize()
  5.  
  6.  
  7. local reactP = "-=Reactor Properties=-"
  8. local reactC = "-=Reactor Controls=-"
  9. function reactorControls()
  10.   button.setTable("Activate",activate,"",3,10,7,7)
  11.   button.setTable("Deactivate",deActivate,"",12,22,7,7)
  12.   button.screen()
  13. end
  14.  
  15. function activate()
  16.   r.setActive(true)
  17. end
  18.  
  19. function deActivate()
  20.   r.setActive(false)
  21. end
  22.  
  23. function updateStats()
  24.   m.clear()
  25.   m.setCursorPos(math.floor(msizex/2)-math.floor(#reactP/2),1)
  26.   m.setTextScale(1)
  27.   m.setTextColor(colors.blue)
  28.   m.setBackgroundColor(colors.black)
  29.   m.write(reactP)
  30.   m.setCursorPos(1,2)
  31.   m.setTextColor(colors.white)
  32.   m.write("Status:")
  33.   if r.getActive() then
  34.     m.setTextColor(colors.lime)
  35.     m.write(" ACTIVE")
  36.   else
  37.     m.setTextColor(colors.red)
  38.     m.write(" INACTIVE")
  39.   end
  40.  
  41.   m.setCursorPos(math.floor(msizex/2),2)
  42.   m.setTextColor(colors.white)
  43.   m.write("Control Rods: ")
  44.   m.setTextColor(colors.gray)
  45.   m.write(r.getNumberOfControlRods())
  46.  
  47.   m.setCursorPos(1,3)
  48.   m.setTextColor(colors.white)
  49.   m.write("Fuel Temp: ")
  50.   m.setTextColor(colors.gray)
  51.   m.write(math.floor(r.getFuelTemperature()).." C")
  52.  
  53.   m.setCursorPos(math.floor(msizex/2),3)
  54.   m.setTextColor(colors.white)
  55.   m.write("Casing Temp: ")
  56.   m.setTextColor(colors.gray)
  57.   m.write(math.floor(r.getCasingTemperature()).." C")
  58.  
  59.   m.setCursorPos(1,4)
  60.   m.setTextColor(colors.white)
  61.   m.write("Fuel Amount: ")
  62.   m.setTextColor(colors.gray)
  63.   m.write(math.floor(r.getFuelAmount()/1000).." B")
  64.  
  65.   m.setCursorPos(math.floor(msizex/2),4)
  66.   m.setTextColor(colors.white)
  67.   m.write("Waste Amount: ")
  68.   m.setTextColor(colors.gray)
  69.   m.write(r.getWasteAmount().." mB")
  70.  
  71.   m.setCursorPos(1,5)
  72.   m.setTextColor(colors.white)
  73.   m.write("Stored RF: ")
  74.   energyStored = r.getEnergyStored()
  75.   m.setTextColor(colors.gray)
  76.   if energyStored >= 1000 and energyStored <= 999999 then
  77.     m.write(math.floor(energyStored/1000).." KiRF")
  78.   elseif energyStored >= 1000000 then
  79.     m.write(math.floor(energyStored/1000000).." MiRF")
  80.   else
  81.     m.write(energyStored.." RF")
  82.   end
  83.  
  84.   m.setCursorPos(math.floor(msizex/2),5)
  85.   m.setTextColor(colors.white)
  86.   m.write("Producing ")
  87.   m.setTextColor(colors.gray)
  88.   rfPerTick = r.getEnergyProducedLastTick()
  89.   m.write(math.floor(rfPerTick).." RF/t")
  90. end
  91.  
  92. function loop()
  93.   updateStats()
  94.   reactorControls()
  95.   timerCode = os.startTimer(2)
  96.   local event, side, x, y
  97.   repeat
  98.     event, side, x, y = os.pullEvent()
  99.     print(event)
  100.     if event == "timer" then
  101.       print(timerCode..":"..side)
  102.       if timerCode == side then
  103.         print("Wrong code")
  104.       else
  105.         print("Right code")
  106.       end
  107.     end
  108.   until event ~= timer or timerCode == side
  109.   if event == "monitor_touch" then
  110.     print(x..":"..y)
  111.     button.checkxy(x,y)
  112.   end
  113. end
  114.  
  115. while true do
  116.   loop()
  117. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement