kintser31 0 Опубликовано: 4 июля, 2022 Здраствуйте, если вы это читаете помогите сделать программу чтобы детектор работал. И потом выводилось на экран с вайт листом и блек и конечно кординаты Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 4 июля, 2022 50 минут назад, kintser31 сказал: Здраствуйте, если вы это читаете помогите сделать программу чтобы детектор работал. И потом выводилось на экран с вайт листом и блек и конечно кординаты О чём тут идёт речь? Что за детектор? Какая именно работа требуется от него? Чьи координаты требуется выводить? На что влияют вайт- и блек-листы? Что вообще должна делать программа? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kintser31 Автор темы 0 Опубликовано: 4 июля, 2022 13 минуты назад, eu_tomat сказал: О чём тут идёт речь? Что за детектор? Какая именно работа требуется от него? Чьи координаты требуется выводить? На что влияют вайт- и блек-листы? Что вообще должна делать программа? Детектор из мода OpenSecuruty, Чтобы обнаружил игрока/ов, Игроков которых обнаружил, вайт лист = отображение игроков зелёным цветом, блек лист красным, Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 4 июля, 2022 (изменено) Сделал набросок проги Скрытый текст 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 По просьбе заказчика добавил поддержку нескольких сенсоров Также кнопку выхода Ctrl Обернул функцию в pcall чтоб защитить прогу от падения Для безопасности после запуска в публичном месте, советую снять клавиатуру ! Изменено 5 июля, 2022 пользователем serafim 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах