Advertisement
Guest User

test

a guest
Jul 5th, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.08 KB | None | 0 0
  1. os.loadAPI("myapis/button")
  2.  
  3. p = peripheral.find("tile_blockcapacitorbank_name")
  4. m = peripheral.find("monitor")
  5. r = peripheral.find("BigReactors-Reactor")
  6. t = peripheral.find("BigReactors-Turbine")
  7.  
  8. local steamReactor = r.isActivelyCooled()
  9. local numCapacitors = 4.65
  10. local energy = 0
  11. local energyStoredPercent = 0
  12. local turnOnAt = 50
  13. local turnOffAt = 95
  14. local reactorOnline = false
  15. local turbineOnline = false
  16. local turbineRotorSpeed = 0
  17.  
  18. function autoMenu()
  19.   m.setTextScale(1)
  20.   button.clearTable()
  21.   button.setTable("Reactor", reactorMode, "", 3, 13, 6, 6)
  22.   button.setTable("Turbine", turbineMode, "", 15, 25, 6, 6)
  23.   button.setTable("Automatic", autoReactor, "", 5, 18, 15, 15)
  24.   button.setTable("Manual", manualReactor, "", 22,35, 15, 15)
  25.  
  26.   button.screen()
  27.   --checkMode()
  28.   --menuMode()
  29. end
  30.  
  31. function checkMode()
  32.   button.toggleButton(mode)
  33. end
  34.  
  35. function reactorMode()
  36.   print("Reactor Mode")
  37.   if not reactorOnline then
  38.     online()
  39.   else
  40.     offline()
  41.   end
  42. end
  43.  
  44. function turbineMode()
  45.   print("Turbine Mode")
  46.   if not turbineOnline then
  47.     setTurbineOnline()
  48.   else
  49.     setTurbineOffline()
  50.   end
  51. end
  52.  
  53. function checkEn()
  54.   local tempEngery = 0
  55.   energyStored = p.getEnergyStored()
  56.   energyMax = p.getMaxEnergyStored()
  57.   energyStoredPercent = math.floor((energyStored/energyMax)*100)
  58.   RFProduction = r.getEnergyProducedLastTick()
  59.   fuelUse = r.getFuelConsumedLastTick()
  60.   fuelUse = math.floor(fuelUse*100)
  61.   coreTemp = r.getFuelTemperature()
  62.   reactorOnline = r.getActive()
  63.   tempEnergy = p.getEnergyStored()
  64.   sleep(0.1)
  65.   energy = (p.getEnergyStored()-tempEnergy)/2
  66.   energy = energy*numCapacitors
  67.   if steamReactor then
  68.     turbineOnline = t.getActive()
  69.     turbineRotorSpeed = t.getRotorSpeed()
  70.     turbineRFGen = t.getEnergyProducedLastTick()
  71.     turbineFluidRate = t.getFluidFlowRate()
  72.   end
  73. end
  74.  
  75. function displayEn()
  76.   m.clear()
  77.   m.setCursorPos(1,1)
  78.   m.write("Energy Use: ")
  79.   if energy < 0 then
  80.     m.setTextColor(colors.red)
  81.   else
  82.     m.setTextColor(colors.green)
  83.   end
  84.   --m.write(comma_value(math.floor(energy)).."RF/t")
  85.   m.write(energy.."RF/t")
  86.   m.setTextColor(colors.white)
  87.   m.setCursorPos(1,2)
  88.   m.write("Energy Stored: "..energyStoredPercent.."%")
  89.   m.setCursorPos(1,3)
  90.   m.write("Reactor is: ")
  91.   if reactorOnline then
  92.     m.setTextColor(colors.green)
  93.     m.write("Online")
  94.   else
  95.     m.setTextColor(colors.red)
  96.     m.write("Offline")
  97.   end
  98.   m.setTextColor(colors.white)
  99.   m.setCursorPos(1,4)
  100.   m.write("Turbine is: ")
  101.   if turbineOnline then
  102.     m.setTextColor(colors.green)
  103.     m.write("Online")
  104.   else
  105.     m.setTextColor(colors.red)
  106.     m.write("Offline")
  107.   end
  108.   m.setTextColor(colors.white)
  109.   m.setCursorPos(1,5)
  110.   m.write("Turbine Rotor Speed: "..turbineRotorSpeed)
  111.   m.setCursorPos(22,1)
  112. end
  113.  
  114. function manualReactor()
  115.   offline()
  116.   setTurbineOffline()
  117. end
  118.  
  119. function autoReactor()
  120.   print("Auto Reactor started")
  121.   print("Energy: "..energyStoredPercent)
  122.   print("turn on: "..turnOnAt)
  123.  
  124.   reactorOnline = r.getActive()
  125.   turbineOnline = t.getActive()
  126.   if energyStoredPercent < turnOnAt then
  127.     if not reactorOnline then
  128.       online()
  129.       setTurbineOnline()
  130.     end
  131.   end
  132.   if energyStoredPercent > turnOffAt then
  133.     if reactorOnline then
  134.       offline()
  135.       setTurbineOffline()
  136.     end
  137.   end
  138. end
  139.  
  140. function online()
  141.   r.setActive(true)
  142. end
  143.  
  144. function offline()
  145.   r.setActive(false)
  146. end
  147.  
  148. function setTurbineOnline()
  149.   t.setActive(true)
  150. end
  151.  
  152. function setTurbineOffline()
  153.   t.setActive(false)
  154. end
  155.  
  156.  
  157. function displayScreen()
  158.   checkEn()
  159.   displayEn()
  160.   autoMenu()
  161.  
  162.   timerCode = os.startTimer(1)
  163.   local event,side,x,y
  164.   repeat
  165.     event,side,x,y = os.pullEvent()
  166.     print(event)
  167.     if event == "timer" then
  168.       print(timerCode..":"..side)
  169.       if timerCode == side then
  170.         print("Wrong Code")
  171.       else
  172.         print("Right Code")
  173.       end
  174.     end
  175.   until event ~= "timer" or timerCode == side
  176.   if event == "monitor_touch" then
  177.     print(x.." : "..y)
  178.     button.checkxy(x,y)
  179.   end
  180. end
  181.  
  182. while true do
  183.   displayScreen()
  184. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement