Antonderman

oilFlusher.lua

Mar 1st, 2025
506
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.38 KB | None | 0 0
  1. local component = require("component")
  2.  
  3. local fluidLimit = 210000
  4.  
  5. local fluidMap = {}
  6. fluidMap["KEROSENE"] = "ad8d924d-0e7e-4275-9a10-79b308d7b80f"
  7. fluidMap["PETROLEUM"] = "8a7dc5a8-5367-4d26-a0a8-6e06cc081edf"
  8. fluidMap["AROMATICS"] = "7c2e0859-ba72-4f88-baca-d63f9b5ae218"
  9. fluidMap["HEATINGOIL"] = "45ccbaed-fd59-44ed-ac76-7dbc1bb07710"
  10. fluidMap["UNSATURATEDS"] = "13b9b488-4a47-43e9-816f-f55f9dd8735d"
  11.  
  12. local sidesActive = {}
  13. sidesActive[0] = 15
  14. sidesActive[1] = 15
  15. sidesActive[2] = 15
  16. sidesActive[3] = 15
  17. sidesActive[4] = 15
  18. sidesActive[5] = 15
  19.  
  20.  
  21. local sidesOffline = {}
  22. sidesOffline[0] = 0
  23. sidesOffline[1] = 0
  24. sidesOffline[2] = 0
  25. sidesOffline[3] = 0
  26. sidesOffline[4] = 0
  27. sidesOffline[5] = 0
  28.  
  29.  
  30. while true do
  31.     for address,componentType in component.list("ntm_fluid_tank") do
  32.         local localComponent = component.proxy(address)
  33.         local valveController = component.proxy(fluidMap[localComponent.getTypeStored()])
  34.  
  35.         print(address .. ": " .. componentType .. "; Fluid Amount: " .. localComponent.getFluidStored() .. " of " .. localComponent.getTypeStored())
  36.  
  37.         if localComponent.getFluidStored() > fluidLimit then
  38.             valveController.setOutput(sidesActive)
  39.             print("FLUSHING " .. localComponent.getTypeStored())
  40.         else
  41.             valveController.setOutput(sidesOffline)
  42.         end
  43.     end
  44.  
  45.     os.sleep(0.5)
  46. end
  47.  
Advertisement
Add Comment
Please, Sign In to add comment