Advertisement
FluttyProger

RFIDReader.lua

Nov 3rd, 2017
508
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.73 KB | None | 0 0
  1. local component = require("component")
  2. local rfidReader
  3. local redstone
  4. if component.isAvailable("os_rfidreader") then
  5.     rfidReader = component.os_rfidreader
  6. elseif component.isAvailable("OSRFIDReader") then
  7.     rfidReader = component.OSRFIDReader
  8. else
  9.     print("Подключите RFIDReader к компьтеру")
  10.     os.exit()
  11. end
  12.  
  13. local args = table.pack(...)
  14.  
  15. if #args < 3 then
  16.     print("Raduis - Радиус_сканирования(лучше больше)")
  17.     print("Side - Сторона_куда_пускать_редстоун")
  18.     print("0 - низ, 1 - верх, 2 - зад, 3 - перед, 4 - право, 5 - лево")
  19.     print("Data - данные_которые_пропускать(можно несколько через пробел)")
  20.     print("Использование: RFIDReader Raduis Side Data1 Data2 ...")
  21.     os.exit()
  22. end
  23.  
  24. local Raduis = tonumber(args[1])*3
  25. table.remove(args,1)
  26. local Side = tonumber(args[1])
  27. table.remove(args,1)
  28. local Datas = {}
  29.  
  30. for _,v in ipairs(args) do
  31.     print(v)
  32.     table.insert(Datas,v)
  33. end
  34.  
  35.  
  36. if component.isAvailable("redstone") then
  37.     redstone = component.redstone
  38. else
  39.     print("Вставьте редстоун карту или подключите редстоун i/o блок")
  40.     os.exit()
  41. end
  42.  
  43. while true do
  44.     local output = rfidReader.scan(Raduis)
  45.     for _,v in pairs(Datas) do
  46.         if #output > 0 then
  47.             for k,v in pairs(output) do
  48.                 if v.data == v then
  49.                     redstone.setOutput(Side,15)
  50.                     os.sleep(1)
  51.                     redstone.setOutput(Side,0)
  52.                 end
  53.             end
  54.         else
  55.             redstone.setOutput(Side,0)
  56.         end
  57.     end
  58.     os.sleep(0.3)
  59. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement