geremy44

reactor

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