Перейти к содержимому
FelixBanan

Программа для работы с RFID картами. OpenSecurity.

Рекомендуемые сообщения

Кто сможет сделать программу для того чтобы записывать информацию на RFID карту и использовать ее?

Hа версию 1.7.10 .

Заранее спасибо.

Изменено пользователем felixpimp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создай два файлика под именами read.lua и search.lua, записав в них следующий код:

 

Для write.lua:

local component = require("component")

local password = select(1, ...)
if password then
  local success, reason = (component.isAvailable("OSCardWriter") and component.OSCardWriter or component.os_cardwriter).write(password)
  if success then
    print("Данные записаны на карту")
  else
    print("Ошибка записи: " .. reason)
  end
else
  print("Использование: write <пароль>")
end
Для search.lua:

local event = require("event")
local sides = require("sides")
local component = require("component")
local redstone = component.redstone
local reader = component.isAvailable("OSRFIDReader") and component.OSRFIDReader or component.os_rfidreader

local password = select(1, ...)
local range = tonumber(select(2, ...) or "")

if password and range then
  while true do
    local eventType, _, _, key_code = event.pull(0)
    if eventType == "key_down" and key_code == 28 then
      break
    else
      local player = reader.scan()[1]
      if player and player.data == password and player.range <= range then
        redstone.setOutput(sides.up, 15)
      else
        redstone.setOutput(sides.up, 0)
      end
    end
  end
else
  print("Использование: search <пароль> <радиус поиска>")
end
Дальше - дело техники. Пихаешь RFID-карту в устройство записи, пишешь в консоли write <пароль> для записи соответствующего пароля на карточку. Для поиска игроков, имеющих при себе карточку с указанным паролем, пишешь search <пароль> <радиус поиска>. По умолчанию софтина выдаст редстоун-сигнал на верхнюю сторону блока Redstone I/O при приближении валидного игрока к указанному радиусу. Для выхода из программы поиска достаточно нажать на клавишу Enter.

 

Собсна, пример расположения девайсов:

 

4S9BaUP.png?1

Изменено пользователем ECS
  • Нравится 4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только в 1.7.10 там component.OSCardWriter и component.OSRFIDReader )

Создай два файлика под именами read.lua и search.lua, записав в них следующий код...

Изменено пользователем eu_tomat
гиперцитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Моя версия: 

 

https://pastebin.com/d1iTGWBa - Вот считывалка
 
Raduis - Радиус_сканирования(лучше больше)
 
Side - Сторона_куда_пускать_редстоун
 
0 - низ, 1 - верх, 2 - зад, 3 - перед, 4 - право, 5 - лево
 
Data - данные_которые_пропускать(можно несколько через пробел)
 
Использование: RFIDReader Raduis Side Data1 Data2 ...
 
 
 
https://pastebin.com/k8mcw9s8 - записывалка
 
Data - Данные карты для открытия
Name - Имя карты
isLock - можно_перезаписать_или_нет(true/false)
Использование: RfidWrite Data Name isLock
 
 
P.S. felixpimp попросил в личке сделать это)
  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только в 1.7.10 там component.OSCardWriter и component.OSRFIDReader )

Сдается мне, дело не в версии кубача, а в версии аддона, т.к. сам играю на 1.7.10. Но фиксанул, спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 


Создай два файлика под именами read.lua и search.lua, записав в них следующий код...

спасибо

 


Моя версия...

спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мой говнокод (Felixpimp или FelixBanan)  

pastebin get HD8rHaQq helper.lua

local component = require("component")
output = component.os_rfidreader.scan(10)
for k, v in pairs(output[1]) do
  print(k, v)
end

MYgZawU.png

Буду пытаться улучшать свой скрипт, когда выучу lua до конца.

Изменено пользователем Alex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...