Advertisement
Guest User

reactor2

a guest
Jan 26th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 18.93 KB | None | 0 0
  1. os.loadAPI("button")
  2.  
  3. p = {}
  4. t = {}
  5. m = peripheral.find("monitor")
  6. r = peripheral.find("BigReactors-Reactor")
  7. --p[1] = peripheral.wrap("tile_blockcapacitorbank_name_0")
  8. p[2] = peripheral.wrap("tile_blockcapacitorbank_name_1")
  9. p[1] = peripheral.wrap("back")
  10. t[1] = peripheral.wrap("BigReactors-Turbine_0")
  11. t[2] = peripheral.wrap("BigReactors-Turbine_1")
  12. t[3] = peripheral.wrap("BigReactors-Turbine_2")
  13.  
  14. local steamReactor = r.isActivelyCooled()
  15. local menuType = "Reactor"
  16.  
  17. local numCapacitors = 72
  18.  
  19. local turnOnAt = 50
  20. local turnOffAt = 90
  21.  
  22. local tcolors = {}
  23. tcolors[1] = colors.cyan
  24. tcolors[2] = colors.orange
  25. tcolors[3] = colors.yellow
  26.  
  27. local energy = {}
  28. energy[1] = 0
  29. energy[2] = 0
  30.  
  31. local energyStored = {}
  32. energyStored[1] = 0
  33. energyStored[2] = 0
  34.  
  35. local energyMax = {}
  36. energyMax[1] = 0
  37. energyMax[2] = 0
  38.  
  39. local energyStoredPercent = {}
  40. energyStoredPercent[1] = 0
  41. energyStoredPercent[2] = 0
  42.  
  43. local mode = "Manual"
  44.  
  45. local timerCode
  46. local RFProduction = 0
  47. local fuelUse = 0
  48. local coreTemp = 0
  49. local reactorOnline = false
  50. local rodLevel = 0
  51.  
  52. local turbineOnline = {}
  53. local turbineRotorSpeed = {}
  54. local turbineRFGen = {}
  55. local turbineFluidRate = {}
  56. local turbineInductor = {}
  57. turbineOnline[1] = false
  58. turbineRotorSpeed[1] = 0
  59. turbineRFGen[1] = 0
  60. turbineFluidRate[1] = 0
  61. turbineInductor[1] = false
  62. turbineOnline[2] = false
  63. turbineRotorSpeed[2] = 0
  64. turbineRFGen[2] = 0
  65. turbineFluidRate[2] = 0
  66. turbineInductor[2] = false
  67. turbineOnline[3] = false
  68. turbineRotorSpeed[3] = 0
  69. turbineRFGen[3] = 0
  70. turbineFluidRate[3] = 0
  71. turbineInductor[3] = false
  72.  
  73. local OptFuelRodLevel = 0
  74.  
  75. function autoMenu()
  76.    m.setTextScale(1)
  77.    button.clearTable()
  78.    button.setTable("Automatic", autoMode, "", 3, 13, 6, 6)
  79.    button.setTable("Manual", manualMode, "", 15, 25, 6, 6)
  80.    
  81.    if steamReactor then
  82.       button.setTable("Reactor", reactorMenu, "", 5, 18, 19, 19)
  83.       button.setTable("Turbine", turbineMenu, "", 22, 35, 19, 19)
  84.    end
  85.    button.screen()
  86.    checkMode()
  87.    menuMode()
  88. end
  89.  
  90. function manualMenu()
  91.    m.setTextScale(1)
  92.    button.clearTable()
  93.    button.setTable("Automatic", autoMode, "", 3, 13, 6, 6)
  94.    button.setTable("Manual", manualMode, "", 15, 25, 6, 6)
  95.    button.setTable("Online", online, "", 3, 13, 8, 8)
  96.    button.setTable("Offline", offline, "", 15, 25, 8, 8)
  97.    button.setTable("0", setRods, 0, 11,14, 10, 10)
  98.    button.setTable("10", setRods, 10, 5,8, 12, 12)
  99.    button.setTable("20", setRods, 20, 11,14, 12, 12)
  100.    button.setTable("30", setRods, 30, 17,20, 12, 12)
  101.    button.setTable("40", setRods, 40, 5,8, 14, 14)
  102.    button.setTable("50", setRods, 50, 11,14, 14, 14)
  103.    button.setTable("60", setRods, 60, 17,20, 14, 14)
  104.    button.setTable("70", setRods, 70, 5,8, 16, 16)
  105.    button.setTable("80", setRods, 80, 11,14, 16, 16)
  106.    button.setTable("90", setRods, 90, 17,20, 16, 16)
  107.    button.setTable("+", rodPlus, "", 23, 25, 12, 12)
  108.    button.setTable("-", rodMinus, "", 23, 25, 16, 16)
  109.  
  110.    if steamReactor then
  111.       button.setTable("Reactor", reactorMenu, "", 5, 18, 19, 19)
  112.       button.setTable("Turbine", turbineMenu, "", 22, 35, 19, 19)
  113.      
  114.    end
  115.    button.screen()
  116.    checkMode()
  117.    reactorOnOff()
  118.    menuMode()
  119. end
  120.  
  121. function setTTextColor(n)
  122.   if t[n] ~= nil then
  123.     m.setTextColor(tcolors[n])
  124.   else
  125.     m.setTextColor(colors.gray)
  126.   end
  127. end
  128.  
  129.  
  130. function turbineAutoMenu()
  131.   _turbineMenu()
  132. end
  133.  
  134. function turbineManualMenu()
  135.   _turbineMenu()
  136. end
  137.  
  138. function _turbineMenu()
  139.    m.setTextScale(1)
  140.    m.setTextColor(colors.white)
  141.    button.clearTable()
  142.    button.setTable("Automatic",autoMode,"",2,12,7,7)
  143.    button.setTable("Manual",manualMode,"",13,21,7,7)
  144.    for tu = 1,3 do
  145.      ylev = 9+(tu-1)*3
  146.      if turbineOnline[tu] then
  147.        button.setTable("Online"..tu, setTurbineOffline, tu, 2, 10, ylev, ylev)
  148.        button.setButton("Online"..tu,true)
  149.        atext = "online "
  150.      else
  151.        button.setTable("Online"..tu, setTurbineOnline, tu, 2, 10, ylev, ylev)
  152.        button.setButton("Online"..tu,false)
  153.        atext = "offline"
  154.      end
  155.      m.setCursorPos(12,ylev)
  156.      --setTTextColor(tu)
  157.      m.write(atext)
  158.      m.setTextColor(colors.white)
  159.      ylev = ylev + 1
  160.      if turbineInductor[tu] then
  161.        button.setTable("Coils"..tu, coilsOff, tu, 2, 10, ylev, ylev)
  162.        button.setButton("Coils"..tu,true)
  163.        atext = "on "
  164.      else
  165.        button.setTable("Coils"..tu, coilsOn, tu, 2, 10, ylev, ylev)
  166.        button.setButton("Coils"..tu,false)
  167.        atext = "off"
  168.      end
  169.      m.setCursorPos(12,ylev)
  170.      --setTTextColor(tu)
  171.      m.write(atext)
  172.      m.setTextColor(colors.white)
  173.    end
  174.    button.setTable("Reactor", reactorMenu, "", 2, 9, 19, 19)
  175.    button.setTable("Turbine", turbineMenu, "", 12, 19, 19, 19)
  176.    button.screen()
  177.    checkMode()
  178.    --turbineOnOff()
  179.    --coilsOnOff()
  180.    menuMode()
  181. end
  182.  
  183. --function turbineManualMenu()
  184. --   m.setTextScale(1)
  185. --   button.clearTable()
  186. --   button.setTable("Automatic", autoMode, "", 3, 13, 6, 6)
  187. --   button.setTable("Manual", manualMode, "", 15, 25, 6, 6)
  188. --   button.setTable("Reactor", reactorMenu, "", 5, 18, 19, 19)
  189. --   button.setTable("Turbine", turbineMenu, "", 22, 35, 19, 19)
  190. --   button.setTable("Online", setTurbineOnline, "", 3, 13, 8, 8)
  191. --   button.setTable("Offline", setTurbineOffline, "", 15, 25, 8, 8)
  192. --   button.setTable("Coils On", coilsOn, "", 3, 13, 10, 10)
  193. --   button.setTable("Coils Off", coilsOff, "", 15, 25, 10, 10)
  194. --   button.screen()
  195. --   checkMode()
  196. --   turbineOnOff()
  197. --   coilsOnOff()
  198. --   menuMode()
  199. --end
  200.  
  201. function reactorMenu()
  202.    menuType = "Reactor"
  203.    displayScreen()
  204. end
  205.  
  206. function turbineMenu()
  207.    menuType = "Turbine"
  208.    displayScreen()
  209. end
  210.  
  211. function online()
  212.    r.setActive(true)
  213. end
  214.  
  215. function offline()
  216.    r.setActive(false)
  217. end
  218.  
  219. function setAllTurbinesOnline()
  220.   for i=1,3 do
  221.     setTurbineOnline(i)
  222.   end
  223. end
  224.  
  225. function setAllTurbinesOffline()
  226.   for i=1,3 do
  227.     setTurbineOffline(i)
  228.   end
  229. end
  230.  
  231. function setTurbineOnline(n)
  232.   if t[n] ~= nil then
  233.     t[n].setActive(true)
  234.   end
  235. end
  236.  
  237. function setTurbineOffline(n)
  238.   if t[n] ~= nil then
  239.     t[n].setActive(false)
  240.   end
  241. end
  242.  
  243. function reactorOnOff()
  244.    button.setButton("Online", r.getActive())
  245.    button.setButton("Offline", not r.getActive())
  246. end
  247.  
  248. function turbineOnOff(n)
  249.    button.setButton("Online"..n..":", t[n].getActive())
  250. end
  251.  
  252. function coilsOnOff(n)
  253.    button.setButton("Coils"..n..":", t[n].getInductorEngaged())
  254. end
  255.  
  256. function allCoilsOn()
  257.   for i=1,3 do
  258.     coilsOn(i)
  259.   end
  260. end
  261.  
  262. function allCoilsOff()
  263.   for i=1,3 do
  264.     coilsOff(i)
  265.   end
  266. end
  267.  
  268. function coilsOn(n)
  269.   if t[n] ~= nil then
  270.     t[n].setInductorEngaged(true)
  271.   end
  272. end
  273.  
  274. function coilsOff(n)
  275.   if t[n] ~= nil then
  276.     t[n].setInductorEngaged(false)
  277.   end
  278. end
  279.  
  280. function menuMode()
  281.    if steamReactor then
  282.    if menuType == "Reactor" then
  283.      button.setButton("Reactor", true)
  284.      button.setButton("Turbine", false)
  285.    else
  286.      button.setButton("Reactor", false)
  287.      button.setButton("Turbine", true)
  288.    end
  289.    end
  290. end
  291.  
  292. function setRods(setLevel)
  293.    print("Setting Rod Level: "..setLevel)
  294.    button.flash(tostring(setLevel))
  295.    r.setAllControlRodLevels(setLevel)
  296.    fuelRodLevel()
  297. end
  298.  
  299. function rodPlus()
  300.    button.flash("+")
  301.    r.setAllControlRodLevels(rodLevel+1)
  302.    fuelRodLevel()
  303. end
  304.  
  305. function rodMinus()
  306.    button.flash("-")
  307.    r.setAllControlRodLevels(rodLevel-1)
  308.    fuelRodLevel()
  309. end
  310.  
  311. function checkMode()
  312.    button.toggleButton(mode)
  313. end
  314.    
  315. function manualMode()
  316.   mode = "Manual"
  317.   manualMenu()
  318. end
  319.  
  320. function autoMode()
  321.   mode = "Automatic"
  322.   displayScreen()
  323. end
  324.  
  325. function comma_value(amount)
  326.    local formatted = amount
  327.    local swap = false
  328.    if formatted < 0 then
  329.       formatted = formatted*-1
  330.       swap = true
  331.    end
  332.    while true do
  333.       formatted, k = string.gsub(formatted, "^(%d+)(%d%d%d)", '%1,%2')
  334.       if k == 0 then
  335.          break
  336.       end
  337.    end
  338.    if swap then
  339.      formatted = "-"..formatted
  340.    end
  341.    return formatted
  342. end
  343.  
  344. function displayEn()
  345.    m.clear()
  346.    m.setTextColor(colors.white)
  347.    if menuType == "Reactor" then
  348.      m.setCursorPos(1,1)
  349.      m.write("Energy Use: ")
  350.      if energy[1] < 0 then
  351.         m.setTextColor(colors.red)
  352.      else
  353.         m.setTextColor(colors.green)
  354.      end
  355.      m.write(comma_value(math.floor(energy[1])).. "RF/t")
  356.      m.setTextColor(colors.white)
  357.      m.setCursorPos(1,2)
  358.      m.write("Energy Stored: "..energyStoredPercent[1].."%")
  359.      m.setCursorPos(1,3)
  360.      m.write("Reactor is: ")
  361.      if reactorOnline then
  362.        m.setTextColor(colors.green)
  363.        m.write("Online")
  364.      else
  365.        m.setTextColor(colors.red)
  366.        m.write("Offline")
  367.      end
  368.      m.setTextColor(colors.white)
  369.      m.setCursorPos(22,1)
  370.      if steamReactor then
  371.        m.write("Steam: ")
  372.        m.setTextColor(colors.green)
  373.        m.write(comma_value(math.floor(RFProduction)).."MB/t")
  374.      else
  375.        m.write("RF Gen: ")
  376.        m.setTextColor(colors.green)
  377.        m.write(comma_value(math.floor(RFProduction)).."RF/t")
  378.      end
  379.      m.setTextColor(colors.white)
  380.      m.setCursorPos(22,2)
  381.      m.write("Core Temp: "..math.floor(coreTemp).."c")
  382.      m.setCursorPos(22,3)
  383.      m.write("Fuel Use: "..fuelUse.."MB/t")  
  384.    else
  385.       -- write capcitor energy info
  386.       for i = 1,2 do
  387.         m.setCursorPos(1,1+(i-1)*2)
  388.         m.write("Energy"..i..": ")
  389.         if energy[i] < 0 then
  390.           m.setTextColor(colors.red)
  391.         else
  392.           m.setTextColor(colors.green)
  393.         end
  394.         m.write(comma_value(math.floor(energy[i])).. "RF/t")
  395.         m.setTextColor(colors.white)
  396.         m.setCursorPos(1,2+(i-1)*2)
  397.         m.write("Energy Stored"..i..": "..energyStoredPercent[i].."%")
  398.         m.setCursorPos(1,5)
  399.         m.write("Reactor is: ")
  400.         if reactorOnline then
  401.           m.setTextColor(colors.green)
  402.           m.write("Online")
  403.         else
  404.           m.setTextColor(colors.red)
  405.           m.write("Offline")
  406.         end
  407.         m.setTextColor(colors.white)
  408.       end
  409.       -- write turbine production info
  410.       for i = 1,3 do
  411.         m.setTextColor(colors.white)
  412.         m.setCursorPos(23,1+3*(i-1))
  413.         m.write("RFGen"..i..": ")
  414.         m.setTextColor(colors.green)
  415.         m.write(comma_value(math.floor(turbineRFGen[i])).."RF/t")
  416.         m.setTextColor(colors.white)
  417.         m.setCursorPos(23,2+(i-1)*3)
  418.         m.write("Rotor"..i..": "..comma_value(math.floor(turbineRotorSpeed[i])).." RPM")
  419.         m.setCursorPos(23,3+(i-1)*3)
  420.         m.write("Steam"..i..": "..comma_value(turbineFluidRate[i]).."MB/t")  
  421.       end
  422.    end
  423. end
  424.  
  425. function checkEn()
  426.    print("checkEn")
  427.    for i = 1,2 do
  428.      if p[i] ~= nil then
  429.        local tempEnergy = 0
  430.        energyStored[i] = p[i].getEnergyStored()
  431.        energyMax[i] = p[i].getMaxEnergyStored()
  432.        energyStoredPercent[i] = math.floor((energyStored[i]/energyMax[i])*100)
  433.        tempEnergy = p[i].getEnergyStored()
  434.        sleep(0.1)
  435.        energy[i] = (p[i].getEnergyStored()-tempEnergy)/2
  436.        energy[i] = energy[i]*numCapacitors
  437.        --energy[i] = energy[i]
  438.      end
  439.    end
  440.    RFProduction = r.getEnergyProducedLastTick()
  441.    fuelUse = r.getFuelConsumedLastTick()
  442.    fuelUse = math.floor(fuelUse*100)
  443.    fuelUse = fuelUse/100
  444.    coreTemp = r.getFuelTemperature()
  445.    reactorOnline = r.getActive()
  446.    if steamReactor then
  447.      for i = 1,3 do
  448.        if t[i] ~= nil then
  449.          turbineOnline[i] = t[i].getActive()
  450.          turbineRotorSpeed[i] = t[i].getRotorSpeed()
  451.          turbineRFGen[i] = t[i].getEnergyProducedLastTick()
  452.          turbineFluidRate[i] = t[i].getFluidFlowRate()
  453.        end
  454.      end
  455.    end
  456. end
  457.  
  458. function fuelRodLevel()
  459.    rodLevel = r.getControlRodLevel(0)
  460.    --print(rodLevel)
  461.    m.setCursorPos(30,5)
  462.    m.write(tostring(rodLevel).."%")
  463.    m.setBackgroundColor(colors.white)
  464.    m.setCursorPos(28,6)
  465.    m.write("       ")
  466.    for i = 1,10 do
  467.       m.setCursorPos(28,i+6)
  468.       m.setBackgroundColor(colors.white)
  469.       m.write(" ")
  470.       m.setBackgroundColor(colors.yellow)
  471.       m.write(" ")
  472.       if rodLevel/10 >= i then
  473.          m.setBackgroundColor(colors.red)
  474.       else
  475.          m.setBackgroundColor(colors.yellow)
  476.       end
  477.       m.write("   ")
  478.       m.setBackgroundColor(colors.yellow)
  479.       m.write(" ")
  480.       m.setBackgroundColor(colors.white)
  481.       m.write(" ")
  482.    end
  483.    m.setCursorPos(28,17)
  484.    m.write("       ")
  485.    m.setBackgroundColor(colors.black)
  486. end
  487.  
  488. function turbineInductorDisplay()
  489.    print("turbineInductor")
  490.    m.setCursorPos(22,11)
  491.    for i = 1,3 do
  492.      if t[i] ~= nil then
  493.        turbineInductor[i] = t[i].getInductorEngaged()
  494.      end
  495.      setTTextColor(i)
  496.      m.write("T"..i)
  497.      if turbineInductor[i] then
  498.        m.write(" on ")
  499.      else
  500.        m.write("off ")
  501.      end
  502.    end
  503.    --m.setBackgroundColor(colors.gray)
  504.    --m.write(" ")
  505.    --m.setCursorPos(21,12)
  506.    --m.write("                   ")
  507.    for j=0,7 do
  508.      m.setCursorPos(22,12+j)
  509.      --m.write(" ")
  510.      for i = 1,3 do
  511.        m.setBackgroundColor(colors.lightGray)
  512.        m.write(" ")
  513.        if j == 0 or j == 2 or j == 4 then
  514.          m.setBackgroundColor(colors.black)
  515.        elseif j == 1 or j == 3 or j == 5 then
  516.          m.setBackgroundColor(tcolors[i])
  517.        else
  518.          if turbineInductor[i] then
  519.            m.setBackgroundColor(colors.red)
  520.          else
  521.            m.setBackgroundColor(colors.blue)
  522.          end
  523.        end
  524.        m.write(" ")
  525.        m.setBackgroundColor(tcolors[i])
  526.        m.write(" ")
  527.        if j == 0 or j == 2 or j == 4 then
  528.          m.setBackgroundColor(colors.black)
  529.        elseif j == 1 or j == 3 or j == 5 then
  530.          m.setBackgroundColor(tcolors[i])
  531.        else
  532.          if turbineInductor[i] then
  533.            m.setBackgroundColor(colors.red)
  534.          else
  535.            m.setBackgroundColor(colors.blue)
  536.          end
  537.        end
  538.        m.write(" ")
  539.        m.setBackgroundColor(colors.lightGray)
  540.        m.write(" ")
  541.        m.setBackgroundColor(colors.black)
  542.        m.write(" ")
  543.      end
  544.      --m.setCursorPos(39,12+j)
  545.      --m.setBackgroundColor(colors.gray)
  546.      --m.write(" ")
  547.    end
  548.    --m.setCursorPos(21,19)
  549.    --m.write("                   ")
  550.    --m.setBackgroundColor(colors.black)
  551. end
  552.  
  553. function getClick()
  554.    local event, side, x, y = os.pullEvent("monitor_touch")
  555.    button.checkxy(x,y)
  556. end
  557.  
  558. function findOptFuelRods()
  559.    m.clear()
  560.    r.setActive(false)
  561.    checkEn()
  562.    displayEn()
  563.    fuelRodLevel()
  564.    while r.getFuelTemperature() > 99 do
  565.       for i= 1,3 do
  566.         checkEn()
  567.         displayEn()
  568.         fuelRodLevel()
  569.         m.setCursorPos(3,6)
  570.         m.write("Finding Optimal Rod Level")
  571.         m.setCursorPos(3,7)
  572.         m.write("Core Temp: "..r.getFuelTemperature())
  573.         m.setCursorPos(3,8)
  574.         m.write("Waiting for 99c")
  575.         sleep(1)
  576.       end
  577.    end
  578.    while r.getHotFluidAmount() > 10000 do
  579.      for i = 1,3 do
  580.         checkEn()
  581.         displayEn()
  582.         fuelRodLevel()
  583.         m.setCursorPos(3,6)
  584.         m.write("Finding Optimal Rod Level, please wait....")
  585.         m.setCursorPos(3,7)
  586.         m.write("Fluid Amount: "..comma_value(r.getHotFluidAmount()).."mb")
  587.         m.setCursorPos(3,8)
  588.         m.write("Waiting for 10,000mb")
  589.         sleep(1)
  590.       end
  591.    end
  592.    r.setAllControlRodLevels(99)
  593.    r.setActive(true)
  594.    
  595.    while r.getFuelTemperature() < 100 do
  596.    for i = 1,5 do
  597.      checkEn()
  598.      displayEn()
  599.      fuelRodLevel()
  600.      m.setCursorPos(3,6)
  601.      m.write("Set all rod levels to 99")
  602.      m.setCursorPos(3,7)
  603.      m.write("Waiting 5 seconds...")
  604.      sleep(1)
  605.    end
  606.    end
  607.    for i = 1,5 do
  608.      checkEn()
  609.      displayEn()
  610.      fuelRodLevel()
  611.      m.setCursorPos(3,6)
  612.      m.write("Set all rod levels to 99")
  613.      m.setCursorPos(3,7)
  614.      m.write("Waiting 5 seconds...")
  615.      sleep(1)
  616.    end
  617.    local tempMB = r.getEnergyProducedLastTick()
  618.    print(tempMB.."MB/t of steam")
  619.    local tempRodLevels = math.floor(2000/tempMB)
  620.    print("2000/"..tempMB.." = "..tempRodLevels)
  621.    tempRodLevels = 100-tempRodLevels+5
  622.    print("Adding 5 to Rod Levels: "..math.floor(tempRodLevels))
  623.    r.setAllControlRodLevels(math.floor(tempRodLevels))
  624.    print("Waiting 10 seconds to confirm...")
  625.    for i = 1,10 do
  626.      checkEn()
  627.      displayEn()
  628.      fuelRodLevel()
  629.      m.setCursorPos(3,6)
  630.      m.write("Estimated Level: "..tempRodLevels)
  631.      m.setCursorPos(3,7)
  632.      m.write("Waiting 10 seconds...")
  633.      sleep(1)
  634.    end
  635.    tempMB = r.getEnergyProducedLastTick()
  636.    while tempMB > 2000 do
  637.       tempRodLevels = tempRodLevels+1
  638.       r.setAllControlRodLevels(math.floor(tempRodLevels))
  639.       print("Setting Rod Levels to: "..tempRodLevels)
  640.       for i = 1,5 do
  641.        checkEn()
  642.        displayEn()
  643.        fuelRodLevel()
  644.        m.setCursorPos(3,6)
  645.        m.write("Getting below 2000mb/t")
  646.        m.setCursorPos(3,7)
  647.        m.write("Currently at: "..tempMB)
  648.        sleep(1)
  649.       end
  650.       tempMB = r.getEnergyProducedLastTick()
  651.    end
  652.    while tempMB < 2000 do
  653.       tempRodLevels = tempRodLevels -1
  654.       r.setAllControlRodLevels(math.floor(tempRodLevels))
  655.       print("Setting Rod Levels to: "..tempRodLevels)
  656.       for i = 1,5 do
  657.        checkEn()
  658.        displayEn()
  659.        fuelRodLevel()
  660.        m.setCursorPos(3,6)
  661.        m.write("Getting Above 2000mb/t")
  662.        m.setCursorPos(3,7)
  663.        m.write("Currently at: "..tempMB)
  664.        sleep(1)
  665.       end
  666.       tempMB = r.getEnergyProducedLastTick()
  667.    end
  668.    OptFuelRodLevel = tempRodLevels
  669. end
  670.    
  671.  
  672. function autoReactor()
  673.    if not steamReactor then
  674.       r.setAllControlRodLevels(0)
  675.       if energyStoredPercent[1] < turnOnAt then
  676.        if not reactorOnline then
  677.          online()
  678.        end
  679.       end
  680.       if energyStoredPercent[1] > turnOffAt then
  681.        if reactorOnline then
  682.            offline()
  683.        end
  684.       end
  685.     else
  686.        r.setAllControlRodLevels(OptFuelRodLevel)
  687.        if energyStoredPercent[1] < turnOnAt then
  688.          --online()
  689.              setAllTurbinesOnline()
  690.              allCoilsOn()
  691.        end
  692.        if energyStoredPercent[1] > turnOffAt then
  693.          --if turbineRotorSpeed > 1800 then
  694.          --   offline()
  695.          --else
  696.             --   online()
  697.          --end
  698.          setAllTurbinesOnline()
  699.          allCoilsOff()
  700.        end
  701.     if turbineRotorSpeed[1] > 1800 then
  702.        offline()
  703.     else
  704.        online()
  705.     end
  706.     end
  707. end
  708.  
  709. function displayScreen()
  710.   checkEn()
  711.   displayEn()
  712.   if menuType == "Reactor" then
  713.     fuelRodLevel()
  714.     if mode == "Automatic" then
  715.       autoMenu()
  716.       autoReactor()
  717.     else
  718.       manualMenu()
  719.     end
  720.   else
  721.     turbineInductorDisplay()
  722.     if mode == "Automatic" then
  723.       turbineAutoMenu()
  724.       autoReactor()
  725.     else
  726.       turbineManualMenu()
  727.     end
  728.   end
  729.      
  730.   timerCode = os.startTimer(1)
  731.   local event, side, x, y
  732.   repeat
  733.     event, side, x, y = os.pullEvent()
  734.     print(event)
  735.     if event == "timer" then
  736.       print(timerCode..":"..side)
  737.       if timerCode ~= side then
  738.         print("Wrong Code")
  739.       else
  740.         print("Right Code")
  741.       end
  742.     end
  743.   until event~= "timer" or timerCode == side
  744.   if event == "monitor_touch" then
  745.     print(x..":"..y)
  746.     button.checkxy(x,y)
  747.   end
  748. end
  749.  
  750. if steamReactor then
  751. --   findOptFuelRods()
  752.   OptFuelRodLevel = 36
  753. end
  754.  
  755. while true do
  756.    displayScreen()
  757. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement