PandaDoddo72Rus

CodeDoor

Jul 4th, 2016
1,080
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local cmp = require('component')
  2. local event = require('event')
  3. local unicode = require('unicode')
  4. local dis=''
  5.  
  6. function foundControllers()
  7.   local controllers=cmp.list('os_door')
  8.   for i , val in pairs(controllers) do
  9.     if i~= nil then
  10.       if cmp.proxy(i).isOpen() == true then
  11.         cmp.proxy(i).toggle()
  12.       end
  13.     end
  14.   end
  15. end
  16.  
  17. function foundKeypads()
  18.   local keypads=cmp.list('os_keypad')
  19.   for i , val in pairs(keypads) do
  20.     if i~=nil then
  21.       cmp.proxy(i).setDisplay(dis)
  22.       cmp.proxy(i).setEventName('press_key')
  23.       cmp.proxy(i).setKey(12,'<X')
  24.       cmp.proxy(i).setKey(10,'ENT')
  25.       if password == nil then
  26.         cmp.proxy(i).setDisplay('>PASS<')
  27.       end      
  28.     end
  29.   end
  30. end
  31.  
  32. function chatBox(stat)
  33.   local ranges={}
  34.   local player_name=nil
  35.   local radars=cmp.list('os_entdetector')
  36.   for j,val1 in pairs(radars) do
  37.     if j~= nil then
  38.       checkRad=1
  39.       local players=cmp.proxy(j).scanPlayers(10)
  40.       for l,val2 in pairs(players) do
  41.         print(val2.name,val2.range)
  42.         if ranges[#ranges] == nil then
  43.           ranges[#ranges] = math.ceil(val2.range)
  44.         else
  45.           ranges[#ranges+1] = math.ceil(val2.range)
  46.         end
  47.       end
  48.       if #ranges > 1 then
  49.         min = ranges[1]
  50.         for i=2,#ranges do
  51.           if ranges[i] < min and ranges[i] ~= nil then
  52.             min = ranges[i]
  53.           end
  54.         end
  55.         for l,val2 in pairs(players) do
  56.           if math.ceil(val2.range) == min then
  57.             player_name = val2.name
  58.           end
  59.         end
  60.     else
  61.       for l,val2 in pairs(players) do
  62.         player_name=val2.name
  63.       end  
  64.     end
  65.     else
  66.       checkRad=0
  67.     end
  68.   end
  69.   local chatboxes=cmp.list('chatbox')  
  70.   for i , val in pairs(chatboxes) do
  71.     if i~=nil and stat == '+' then
  72.       if checkRad == 0 or checkRad==nil or player_name ==nil then
  73.         cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8:§a Неизвестный пользователь прошел')
  74.         cmp.proxy(i).sayColored('§aавторизацию в комнату безопасности!')
  75.       else
  76.         cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8: '.. '§6'..player_name .. '§a прошел авторизацию в')
  77.         cmp.proxy(i).sayColored('§aкомнату безопасности!')
  78.       end
  79.     elseif i~= nil and stat == '-' then
  80.       if checkRad == 0 or checkRad==nil or player_name ==nil then
  81.         cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8: §cНеизвестный пользователь не прошел')
  82.         cmp.proxy(i).sayColored('§cавторизацию в комнату безопасности!')
  83.       else
  84.         cmp.proxy(i).sayColored('§c[SECURITY_SYSTEM]§8: '..'§6'..player_name .. '§c не прошел')
  85.         cmp.proxy(i).sayColored('§c авторизацию в комнату безопасности!')
  86.       end
  87.     end
  88.   end
  89. end
  90.  
  91. function enter()
  92.   if password == nil then
  93.     password = dis
  94.   end
  95.   if dis == password then
  96.     dis=''
  97.     chatBox('+')
  98.     local keypads=cmp.list('os_keypad')
  99.     for i , val in pairs(keypads) do
  100.       for t=1,3 do
  101.         cmp.proxy(i).setDisplay('SUCCESS')
  102.         os.sleep(0.2)
  103.         cmp.proxy(i).setDisplay('')
  104.       end
  105.     end
  106.     local controllers=cmp.list('os_door')
  107.     for i , val in pairs(controllers) do
  108.       cmp.proxy(i).toggle()
  109.     end
  110.     os.sleep(3)
  111.     for i , val in pairs(controllers) do
  112.       cmp.proxy(i).toggle()
  113.     end
  114.   else
  115.     local keypads=cmp.list('os_keypad')
  116.     chatBox('-')
  117.     for i , val in pairs(keypads) do
  118.       for t=1,3 do
  119.         cmp.proxy(i).setDisplay('ERROR')
  120.         os.sleep(0.2)
  121.         cmp.proxy(i).setDisplay('')
  122.       end
  123.     end
  124.     dis=''
  125.   end
  126. end
  127.  
  128. while true do
  129.   foundKeypads()
  130.   foundControllers()
  131.   local _,_,num,name=event.pull('press_key')
  132.   if num == 10 then
  133.     enter()
  134.   elseif num == 12 and unicode.len(dis)>0 then
  135.     if dis ~= '' then
  136.       dis=unicode.sub(dis,1,unicode.len(dis)-1)
  137.     end
  138.   else
  139.     dis=dis..tostring(num)
  140.     local keypads=cmp.list('os_keypad')
  141.     for i , val in pairs(keypads) do
  142.       cmp.proxy(i).setDisplay(dis)
  143.     end
  144.   end
  145. end
RAW Paste Data