Pralexio

Reactor Controller V1

Feb 28th, 2021 (edited)
612
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local component = require("component")
  2.  
  3. local gpu = component.gpu
  4. local term = require("term")
  5.  
  6. local reacteur = component.br_reactor
  7. local max_energy = reacteur.getEnergyCapacity()
  8. local FAM = reacteur.getFuelAmount()
  9.  
  10.  
  11.  
  12. local function niveau()
  13.     production = reacteur.getEnergyProducedLastTick()
  14.     energy = reacteur.getEnergyStored()  
  15.     pct = (energy * 100) / max_energy
  16. end
  17.  
  18. local function nv()
  19.         production = reacteur.getEnergyProducedLastTick()
  20.         local FM = reacteur.getFuelAmount()
  21.         ptt = (FM * 100) / FAM
  22.     end
  23.  
  24. local function miseEnPage()
  25.   ken = (energy/1000)
  26.   kprod = (production/1000)
  27. end
  28.  
  29. local function affiche()
  30.   gpu.set(2,5,"Production :"..production.." RF/t")
  31.   gpu.set(2,6,"Energie       :"..energy.." RF")
  32.   gpu.set(2,7,"Energy en pct :"..pct.." %")
  33. end
  34.  
  35. local function affiche2()
  36.    gpu.set(2,9,"Production    :"..kprod.." kRF/t")
  37.   gpu.set(2,10,"Energie       :"..ken.." kRF")
  38.   gpu.set(2,11,"Energy en pct :"..pct.." %")
  39. end
  40.  
  41. local function affiche3()
  42.   gpu.set(2,13,"Production    :"..string.format(" %2.2f",kprod).." kRF/t")
  43.   gpu.set(2,14,"Energie       :"..string.format(" %5.2f",ken).." kRF")
  44.   gpu.set(2,15,"Energy en pct :"..string.format(" %3.2f",pct).." %")
  45. end
  46.  
  47. local function affiche4()
  48.   gpu.set(2,17,string.format("Production    : %2.2f kRF/t",kprod))
  49.   gpu.set(2,18,string.format("Energie       : %5.2f kRF",ken))
  50.   gpu.set(2,19,string.format("Energy en pct : %3.2f",pct).." %")
  51. end
  52.  
  53. term.clear()
  54.  
  55. while true do                                  
  56.     nv()
  57.     niveau()
  58.     miseEnPage()    
  59.     affiche()
  60.     affiche2()
  61.     affiche3()
  62.     affiche4()
  63.    
  64.     if pct < 20 and reacteur.getActive() == false then
  65.         reacteur.setActive(true)
  66.     elseif pct >= 99 and reacteur.getActive() == true then
  67.         reacteur.setActive(false)
  68.         os.sleep(1)
  69.     if ptt < 50 then
  70.         reacteur.setActive(false)
  71.     elseif ptt >= 65 then
  72.         reacteur.setActive(true)
  73.         os.sleep(1)
  74.     end
  75.    end
  76. end
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

Ă—