Advertisement
gpgautier

Dark Matter Inventory

Oct 15th, 2012
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.65 KB | None | 0 0
  1. function setSupply()
  2.     local RUNNING = true
  3.     local DM = 0
  4.     local strDM
  5.     local SIDE = sensors.getController()
  6.     local SENSOR = "Sensor"
  7.     local INFO = sensors.getSensorInfo(SIDE, SENSOR, "probes")
  8.     local MONITOR = peripheral.wrap("back")
  9.     local probe, targets, t, target, d, i, v
  10.    
  11.     while RUNNING do
  12.         DM = 0
  13.    
  14.         for probe in string.gmatch(INFO.probes, "%a+") do
  15.             local targets = sensors.getAvailableTargetsforProbe(SIDE, SENSOR, probe);
  16.  
  17.             for t, target in pairs(targets) do
  18.                 local d = sensors.getSensorReadingAsDict(SIDE, SENSOR, target, probe); 
  19.                 for i, v in pairs(d) do
  20.                     if tostring(i) == "TotalItems" then
  21.                         DM = DM + v
  22.                     end
  23.                 end
  24.             end
  25.         end
  26.  
  27.         strDM = tostring(DM)
  28.  
  29.         term.clear()
  30.         term.setCursorPos(1, 1)
  31.         print("Supply : " .. strDM)
  32.  
  33.         MONITOR.clear()
  34.         MONITOR.setCursorPos(1, 2)
  35.         MONITOR.write(" Supply")
  36.         MONITOR.setCursorPos(1, 4)
  37.  
  38.         MONITOR.write(" ")
  39.  
  40.         if string.len(strDM) == 5 then
  41.             MONITOR.write(" ")
  42.             MONITOR.write(string.sub(strDM, 0, 2))
  43.             MONITOR.write(".")
  44.             MONITOR.write(string.sub(strDM, 3))
  45.         elseif string.len(strDM) == 4 then
  46.             MONITOR.write(string.sub(strDM, 0, 1))
  47.             MONITOR.write(".")
  48.             MONITOR.write(string.sub(strDM, 2))
  49.         elseif string.len(strDM) == 3 then
  50.             MONITOR.write(strDM)
  51.         else
  52.             MONITOR.write(tostring(DM))
  53.         end
  54.        
  55.         sleep(5)
  56.     end
  57. end
  58.  
  59. function input()
  60.         local RUNNING = true
  61.  
  62.         while RUNNING do
  63.                 local event, param1 = os.pullEvent("char")
  64.                 if param1 == "x" then
  65.                         return false
  66.                 end
  67.         end
  68.  
  69.         return false
  70. end
  71.  
  72. parallel.waitForAny(setSupply, input)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement