Advertisement
ArchReplicator

react4.lua

Oct 11th, 2014
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local reactor
  2. local temp
  3. local energy
  4. local rdata
  5.  
  6. function refreshdata()
  7.   local datarec = {}
  8.   datarec.connected = reactor.getConnected()
  9.   datarec.active = reactor.getActive()
  10.   datarec.getnumrods = reactor.getNumberOfControlRods()
  11.   datarec.energy = reactor.getEnergyStored()
  12.   datarec.fueltemp = reactor.getFuelTemperature()
  13.   datarec.casetemp = reactor.getCasingTemperature()
  14.   datarec.fuelamt = reactor.getFuelAmount()
  15.   datarec.wasteamt = reactor.getWasteAmount()
  16.   datarec.capacity = reactor.getFuelAmountMax()
  17.   datarec.rodname = reactor.getControlRodName(0)
  18.   datarec.rodlevel = reactor.getControlRodLevel(0)
  19.   return datarec
  20. end
  21.  
  22. function data2str(d)
  23.  
  24.   local result = string.format("%d; %d; %d; %d; %d; %d; %d; %d",
  25.                                d.getnumrods, d.energy, d.fueltemp,
  26.                                d.casetemp, d.fuelamt, d.wasteamt, d.capacity,
  27.                                d.rodlevel)
  28.   return result
  29. end
  30.  
  31. reactor = peripheral.wrap("right")
  32. -- temp = reactor.getFuelTemperature()
  33. -- energy = reactor.getEnergyStored()
  34. -- term.write(" temp ")
  35. -- term.write(temp)
  36. -- term.write(" energy" )
  37. -- term.write(energy)
  38. term.clear()
  39. rednet.open("left")
  40. rdata = refreshdata()
  41. rednet.broadcast(data2str(rdata))
  42.  
  43. while rdata.connected and rdata.active do
  44.   rdata = refreshdata()
  45.   rednet.broadcast(data2str(rdata))
  46.  -- term.clear()
  47.   term.setCursorPos(1,1)
  48.   term.write(" energy ")
  49.   term.write(rdata.energy)
  50.   term.setCursorPos(1,2)
  51.   term.write(" rodlevel ")
  52.   term.write(rdata.rodlevel)
  53.   term.setCursorPos(5,5)
  54. --  term.write(i)
  55.  
  56.   if rdata.energy < 3000000 and rdata.rodlevel > 0 then
  57.     for rod = 0, rdata.getnumrods-1 do
  58.       reactor.setControlRodLevel(rod,0)
  59.     end
  60.     term.setCursorPos(6,6)
  61.     term.write("pullrod")
  62.   else if rdata.energy > 7000000 and rdata.rodlevel == 0 then
  63.      for rod = 0, rdata.getnumrods-1 do
  64.        reactor.setControlRodLevel(rod,100)
  65.      end
  66.      term.setCursorPos(7,7)
  67.      term.write("pushrod")
  68.   else
  69.      term.setCursorPos(6,6)
  70.      term.write("f     f")
  71.      term.setCursorPos(7,7)
  72.      term.write("f     f")
  73.   end
  74.   os.sleep(2)
  75. end
  76. end
  77. term.setCursorPos(0,8)
  78. term.write("shutdown")
  79. term.setCursorPos(0,9)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement