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

OpenSecurity

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

Здраствуйте, если вы это читаете помогите сделать программу чтобы детектор работал. И потом выводилось на экран с вайт листом и блек и конечно кординаты 

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


Ссылка на сообщение
Поделиться на других сайтах
50 минут назад, kintser31 сказал:

Здраствуйте, если вы это читаете помогите сделать программу чтобы детектор работал. И потом выводилось на экран с вайт листом и блек и конечно кординаты 

О чём тут идёт речь? Что за детектор? Какая именно работа требуется от него? Чьи координаты требуется выводить? На что влияют вайт- и блек-листы? Что вообще должна делать программа?

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


Ссылка на сообщение
Поделиться на других сайтах
13 минуты назад, eu_tomat сказал:

О чём тут идёт речь? Что за детектор? Какая именно работа требуется от него? Чьи координаты требуется выводить? На что влияют вайт- и блек-листы? Что вообще должна делать программа?

Детектор из мода OpenSecuruty, Чтобы обнаружил игрока/ов, Игроков которых обнаружил, вайт лист = отображение игроков зелёным цветом, блек лист красным, 

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


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

Сделал набросок проги

Скрытый текст

local white_list = {"serafim"}
local black_list = {"Morisonsa","Elecpat"}

local computer = require("computer")
local event = require("event").pull
local com = require('component')
local gpu = com.gpu

if not com.isAvailable("os_entdetector") then
  error("нет сенсора entity detector")
end

local sensor = {}
for address in com.list("os_entdetector") do
  table.insert(sensor,com.proxy(address))
end

for i = 1,#white_list do
  white_list[white_list[i]] = true
end

for i = 1,#black_list do
  black_list[black_list[i]] = true
end

gpu.setResolution(35,15)
local run = true
 
local function detector()
  gpu.fill(1,1,35,15," ")
  local count = 0
  local users = {}
  for i = 1,#sensor do
    local pl = sensor[i].scanPlayers(64)
    for j = 1,#pl do
      if not users[pl[j].name] then
        users[pl[j].name] = true
        count = count + 1
        if white_list[pl[j].name] then 
          gpu.setForeground(0x00FF00)
        elseif black_list[pl[j].name] then 
          gpu.setForeground(0xFF0000)
        else 
          gpu.setForeground(0xFFFFFF)
        end 
        gpu.set(2, j+1, j..'. '..pl[j].name)
        gpu.set(25, j+1, ' - '..math.ceil(pl[j].range)..' м')
      end
    end
  end
  gpu.setForeground(0xFFB600)
  gpu.set(2,1, 'В зоне обнаружения радара '..count..' чел.')
  os.sleep(1)
end

while run do
  pcall(detector)
  local e = {event(1,"key_down")}
  if e[4] == 29 then
    gpu.setResolution(80,25)
    gpu.setBackground(0x000000)
    gpu.setForeground(0xffffff)
    os.execute("cls")
    run = false
    os.exit()
  end
end

 

lAYJYN5.png

По просьбе заказчика добавил поддержку нескольких сенсоров

Также кнопку выхода Ctrl

Обернул функцию в pcall чтоб защитить прогу от падения

 

Для безопасности после запуска в публичном месте, советую снять клавиатуру !

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

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


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