Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local cmp = require('component')
- local event = require('event')
- local unicode = require('unicode')
- local dis=''
- function foundControllers()
- local controllers=cmp.list('os_door')
- for i , val in pairs(controllers) do
- if i~= nil then
- if cmp.proxy(i).isOpen() == true then
- cmp.proxy(i).toggle()
- end
- end
- end
- end
- function foundKeypads()
- local keypads=cmp.list('os_keypad')
- for i , val in pairs(keypads) do
- if i~=nil then
- cmp.proxy(i).setDisplay(dis)
- cmp.proxy(i).setEventName('press_key')
- cmp.proxy(i).setKey(12,'<X')
- cmp.proxy(i).setKey(10,'ENT')
- if password == nil then
- cmp.proxy(i).setDisplay('>PASS<')
- end
- end
- end
- end
- function chatBox(stat)
- local ranges={}
- local player_name=nil
- local radars=cmp.list('os_entdetector')
- for j,val1 in pairs(radars) do
- if j~= nil then
- checkRad=1
- local players=cmp.proxy(j).scanPlayers(10)
- for l,val2 in pairs(players) do
- print(val2.name,val2.range)
- if ranges[#ranges] == nil then
- ranges[#ranges] = math.ceil(val2.range)
- else
- ranges[#ranges+1] = math.ceil(val2.range)
- end
- end
- if #ranges > 1 then
- min = ranges[1]
- for i=2,#ranges do
- if ranges[i] < min and ranges[i] ~= nil then
- min = ranges[i]
- end
- end
- for l,val2 in pairs(players) do
- if math.ceil(val2.range) == min then
- player_name = val2.name
- end
- end
- else
- for l,val2 in pairs(players) do
- player_name=val2.name
- end
- end
- else
- checkRad=0
- end
- end
- local chatboxes=cmp.list('chatbox')
- for i , val in pairs(chatboxes) do
- if i~=nil and stat == '+' then
- if checkRad == 0 or checkRad==nil or player_name ==nil then
- cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8:§a Неизвестный пользователь прошел')
- cmp.proxy(i).sayColored('§aавторизацию в комнату безопасности!')
- else
- cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8: '.. '§6'..player_name .. '§a прошел авторизацию в')
- cmp.proxy(i).sayColored('§aкомнату безопасности!')
- end
- elseif i~= nil and stat == '-' then
- if checkRad == 0 or checkRad==nil or player_name ==nil then
- cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8: §cНеизвестный пользователь не прошел')
- cmp.proxy(i).sayColored('§cавторизацию в комнату безопасности!')
- else
- cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8: '..'§6'..player_name .. '§c не прошел')
- cmp.proxy(i).sayColored('§c авторизацию в комнату безопасности!')
- end
- end
- end
- end
- function enter()
- if password == nil then
- password = dis
- end
- if dis == password then
- dis=''
- chatBox('+')
- local keypads=cmp.list('os_keypad')
- for i , val in pairs(keypads) do
- for t=1,3 do
- cmp.proxy(i).setDisplay('SUCCESS')
- os.sleep(0.2)
- cmp.proxy(i).setDisplay('')
- end
- end
- local controllers=cmp.list('os_door')
- for i , val in pairs(controllers) do
- cmp.proxy(i).toggle()
- end
- os.sleep(3)
- for i , val in pairs(controllers) do
- cmp.proxy(i).toggle()
- end
- else
- local keypads=cmp.list('os_keypad')
- chatBox('-')
- for i , val in pairs(keypads) do
- for t=1,3 do
- cmp.proxy(i).setDisplay('ERROR')
- os.sleep(0.2)
- cmp.proxy(i).setDisplay('')
- end
- end
- dis=''
- end
- end
- while true do
- foundKeypads()
- foundControllers()
- local _,_,num,name=event.pull('press_key')
- if num == 10 then
- enter()
- elseif num == 12 and unicode.len(dis)>0 then
- if dis ~= '' then
- dis=unicode.sub(dis,1,unicode.len(dis)-1)
- end
- else
- dis=dis..tostring(num)
- local keypads=cmp.list('os_keypad')
- for i , val in pairs(keypads) do
- cmp.proxy(i).setDisplay(dis)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement