View difference between Paste ID: GmtRGhPW and cUg5wCaY
SHOW: | | - or go back to the newest paste.
1
--[[Copyright (c) marko_rus 
2
версия: 1.2
3
описание: программа для открытия деверей по картам.
4
по умолчянию 5 уровней карт.
5
программа для записи карт: можно узнать у marko_rus в дискорде (в лс) 
6-
local whitelist = {marko_rus ="5d2719f6-1b8a-40a7-8648-514e8c4f3957",
6+
настройки:
7-
chokopypsik ="1"}
7+
local whitelist = {}  - вайтлист. Заполнение: {ИмяПользователя = IDКарты} пример: {name = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, name2 = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (только одна карточка на человека, т.к. карта более высокого уровня открывает и более низкие(пример: карта 4 лвл открывает 1,2,3,4 лвл, но не открывает 5 лвл))
8
if lvl ==  -уровни карт, открывающие дверь. чтобы удалить, удаляем  lvl == " n" or или or lvl == " n"
9
добовляем: в конец добовляем or lvl == " n"
10-
if whitelist[name] == uid then print("yes") 
10+
n - уровень карты.
11
ОБЯЗАТЕЛЬНО перед уровнем ставим пустое место, иначе уровень не будет работать.
12
]]
13
14
local com =require("component")
15
local event =require("event")
16
local reader = com.os_magreader
17
local door =com.os_door
18
local pc = require("computer")
19
local whitelist = {marko_rus ="5d2719f6-1b8a-40a7-8648-514e8c4f3957"}
20
while true do
21
_,_, name, data, uid = event.pull("magData")
22
if whitelist[name] == uid then
23
if name == string.gsub(data,string.gsub(data, name, ""), "") then
24
local lvl = string.gsub(data, name, "")
25-
print(whitelist[name])
25+
26
door.toggle()
27
pc.beep(800)
28
pc.beep(880)
29
os.sleep(1,5)
30
pc.beep(880)
31
pc.beep(800)
32
door.toggle()
33
else pc.beep(500, 1) end
34
else pc.beep(500)
35
os.sleep(0,25)
36
pc.beep(500)end
37
else pc.beep(800)
38
pc.beep(880)
39
end
40
end