mistamadd001

Untitled

Feb 12th, 2015
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.75 KB | None | 0 0
  1. local id = os.getComputerID()
  2. local isActive
  3. local reactorStatus
  4. local currentFuel
  5. local prevFuel
  6. local maxFuel
  7. local currentPower
  8. local prevPower
  9. local maxPower = 1000000
  10. local tickPower
  11. local critPower = 300000
  12. local lowPower = 500000
  13. local maxPower = 950000
  14. local caseTemp
  15. local fuelTemp
  16. local statusTermColour
  17. local activeTermColour
  18. local percent
  19.  
  20. function openRednet()
  21.   local listOfSides = rs.getSides()
  22.   listofPossibles = {}
  23.   local counter1 = 0
  24.   while true do
  25.     counter1 = counter1+1
  26.  
  27.     if peripheral.isPresent(tostring(listOfSides[counter1])) and peripheral.getType(listOfSides[counter1]) == "modem" then
  28.      table.insert(listofPossibles,tostring(listOfSides[counter1]))
  29.     end
  30.  
  31.     if counter1 == 6 and table.maxn(listofPossibles) == 0 then
  32.      
  33.      return nil
  34.     end
  35.  
  36.     if counter1 == 6 and table.maxn(listofPossibles) ~= 0 then
  37.      rednet.open(listofPossibles[1])
  38.      return listofPossibles[1]
  39.     end
  40.   end
  41. end
  42.  
  43. openRednet()
  44.  
  45. --local file = fs.open('controller/id','r')
  46. --local cID = file.readAll()
  47. --file.close()
  48.  
  49. function wrapReactor()
  50.   local listOfSides = rs.getSides()
  51.   listofPossibles = {}
  52.   local counter1 = 0
  53.   while true do
  54.     counter1 = counter1+1
  55.  
  56.     if peripheral.isPresent(tostring(listOfSides[counter1])) and peripheral.getType(listOfSides[counter1]) == "BigReactors-Reactor" then
  57.      table.insert(listofPossibles,tostring(listOfSides[counter1]))
  58.     end
  59.  
  60.     if counter1 == 6 and table.maxn(listofPossibles) == 0 then
  61.  
  62.       return nil
  63.     end
  64.  
  65.     if counter1 == 6 and table.maxn(listofPossibles) ~= 0 then
  66.       reactor = peripheral.wrap(listofPossibles[1])
  67.       return listofPossibles[1]
  68.     end
  69.   end
  70. end
  71.  
  72. wrapReactor()
  73. print('Reactor registered on side: '..listofPossibles[1])
  74.  
  75. local bool = reactor.getConnected()
  76. print("Reactor connected: "..tostring(bool))
  77.  
  78. isActive = reactor.getActive()
  79.  
  80. currentPower = reactor.getEnergyStored()
  81. tickPower = reactor.getEnergyProducedLastTick
  82.  
  83. caseTemp = reactor.getCasingTemperature()
  84.  
  85. fuelTemp = reactor.getFuelTemperature()
  86.  
  87. currentFuel = reactor.getFuelAmount()
  88. maxFuel = reactor.getFuelAmountMax()
  89.  
  90. function percentage(arg1,arg2)
  91.   percent = math.floor(math.floor(arg2/arg1)*100)
  92.  
  93.   return percent
  94. end
  95.  
  96. while true do
  97.   if currentPower <= lowPower  then
  98.     reactor.setActive(true)
  99.     statusTermColour = colors.orange
  100.     reactorStatus = 'Charging'
  101.   end
  102.   if currentPower <= critPower then
  103.     reactor.setActive(true)
  104.     statusTermColour = colors.red
  105.     reactorStatus = 'Charging'
  106.   end
  107.   if currentPower >= maxPower then
  108.     reactor.setActive(false)
  109.     statusTermColour = colors.lime
  110.     reactorStatus = 'Charged'
  111.   end
  112.   if isActive == true then
  113.     activeTermColour = colors.lime
  114.     isActive = 'Active'
  115.   else
  116.     activeTermColour = colors.red
  117.     isActive = 'Shutdown'
  118.   end
  119.   sleep(3)
  120.   if currentPower ~= prevPower or currentFuel ~=prevFuel then
  121.     term.clear()
  122.     term.setCursorPos(5,2)
  123.     term.write('Reactor Status:  ')
  124.     term.setTextColor(activeTermColour)
  125.     term.write(isActive)
  126.     term.setCursorPos(5,5)
  127.     term.setTextColor(colors.white)
  128.     term.write('Charge Status:  ')
  129.     term.setTextColor(statusTermColour)
  130.     term.write(reactorStatus)
  131.     term.setCursorPos(5,7)
  132.     term.setTextColor(colors.white)
  133.     term.write('Power Level:')
  134.     term.setCursorPos(7,8)
  135.     term.write(currentPower..'RF / '..maxPower..'RF = '..percentage(currentPower,maxPower)..'%  '..tickPower..'RF/t')
  136.     term.setCursorPos(5,10)
  137.     term.write('Fuel Level:')
  138.     term.setCursorPos(7,11)
  139.     term.write(currentFuel..'mB / '..maxFuel..'mB = '..percentage(currentFuel,maxFuel)..'%')
  140.     term.setCursorPos(5,13)
  141.     term.write('Case Temp: '..caseTemp..'    Fuel Temp: '..fuelTemp)
  142.   end
  143. end
Advertisement
Add Comment
Please, Sign In to add comment