Advertisement
Guest User

reactor_send

a guest
Jan 24th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.12 KB | None | 0 0
  1. -- Remote Wireless Big Reactor Control(reactor) by Disappearer
  2. -- This program need wireless modem ,normal or advanced computer
  3. -- and computer port in reactor. If you have different setup than
  4. -- one shown on screens edit these four variables below.
  5.  
  6. rednet.open("right") -- side of wireless modem
  7. local reactor = peripheral.wrap("top") -- side or name of computer port
  8. local dataprotocol = "data" -- protocol used to send informations
  9. local powerprotocol = "power" -- protocol used to receive informations
  10.  
  11.  
  12. function reacreceive()
  13. works = reactor.getConnected()
  14. if works == false then
  15. rednet.broadcast(works,dataprotocol)
  16. sleep(0.1)
  17. else
  18. local mytable = {
  19. active = reactor.getActive(),
  20. casingtemp = reactor.getCasingTemperature(),
  21. energylasttick = reactor.getEnergyProducedLastTick(),
  22. energystored = reactor.getEnergyStored(),
  23. fuelamount = reactor.getFuelAmount(),
  24. fuelmax = reactor.getFuelAmountMax(),
  25. fueleatlasttick = reactor.getFuelConsumedLastTick(),
  26. fueltemp = reactor.getFuelTemperature(),
  27. fuelreact = reactor.getFuelReactivity(),
  28. wasteamount = reactor.getWasteAmount(),
  29. rodlevel = reactor.getControlRodLevel(0)
  30. }
  31. rednet.broadcast(mytable,dataprotocol)
  32. sleep(0.1)
  33. end
  34. end
  35.  
  36.  
  37. function reacsend()
  38.  
  39. local id, mes, pro = rednet.receive(powerprotocol,0.1)
  40.  
  41. if mes == "poweron" then
  42.  
  43. if reactor.getActive() == true then
  44. reactor.setActive(false)
  45. elseif reactor.getActive() == false then
  46. reactor.setActive(true)
  47. end
  48.  
  49. end
  50.  
  51. end
  52.  
  53. function reacrod()
  54. local e = reactor.getControlRodLevel(0)
  55. local id, mes, pro = rednet.receive(powerprotocol,0.1)
  56.  
  57. if mes == "minus" then
  58. local e = e+1
  59. reactor.setAllControlRodLevels(e)
  60.  
  61.  
  62. elseif mes == "minusten" then
  63. local e = e+10
  64. reactor.setAllControlRodLevels(e)
  65.  
  66.  
  67. elseif mes == "plusten" then
  68. local e = e-10
  69. reactor.setAllControlRodLevels(e)
  70.  
  71.  
  72. elseif mes == "plus" then
  73. local e = e-1
  74. reactor.setAllControlRodLevels(e)
  75.  
  76. elseif mes == "zero" then
  77. local e = 100
  78. reactor.setAllControlRodLevels(e)
  79.  
  80. elseif mes == "sto" then
  81. local e = 0
  82. reactor.setAllControlRodLevels(e)
  83. end
  84. end
  85.  
  86. while true do
  87. parallel.waitForAll(reacreceive, reacsend,reacrod)
  88. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement