Totoro
Гуру-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Totoro
-
Да, название уже придумано 😃
-
Справедливости ради, ёлочку писал не я. Я делал только статичную голограмму ёлочки с красными ёлочными шариками и подарками.
-
Не отрицая сути (ключ от таблицы нужно как минимум где-то хранить, что создает новую точку уязвимости), тем не менее был бы очень рад увидеть практическую имплементацию брутфорса пароля.
-
Как проверять онлайн или нет уже объяснили же. Что за фазы ты имеешь в виду?
-
Это надо как-то читать приватный чат... Мне кажется не сможет.
-
Статус выводить довольно легко - для этого можно воспользоваться тем, что команда computer.addUser(name: string): boolean or nil, string работает только если человек онлайн. Ну а ники придется вбивать в список вручную.
-
Возможно это только в последних версиях добавили. Или оно для блоков не работает. Значит придется по отдельности на каждую сторону сетить.
-
Да. А @Asior показал как оно будет выглядеть для работы с несколькими redstone контроллерами.
-
Блок: if not monsters then ... end не имеет смысла. В начале программы, вот так как у тебя. Это же проверка имени того, на кого "сагрился" датчик. И проверять надо после того как это имя было получено, внутри цикла. Ты можешь оформить проверку как функцию (и тогда ее можно будет как раз оставить в начале программы): function isMonster(name) for i=1, #monsterlist do if name == monsterlist[i] then return true end end return false end Тогда внутри цикла, после срабатывания сенсора, можно будет проверить, монстр это был, или нет: while true do local _, address, x, y, z, name = event.pull('motion') if isMonster(name) then print("Это был моб...") else print("Кто-то ломится в дом!") end end
- 51 ответ
-
- 2
-
-
-
Для удобной прокладки редстоуна придется повозиться с ванильной пылью. Когда мы строили банк, мы использовали мод на липкий редстоун. Ещё можно поставить не один красный контроллер, а несколько. Только тогда нужно будет устанавливать сигнал не только "главному" компоненту redstone, но и остальным. Например так: local sides = require('sides') local com = require('component') -- получаем список всех компонентов 'redstone' local redstone = component.list('redstone') -- когда нужно - изменяем на них на всех уровень сигнала for address, _ in pairs(redstone) do com.invoke(address, "setOutput", sides.front, 15) end Или что-нибудь в таком духе.
-
Надо логику программы поправить. У тебя есть основной цикл: while true do ... end Он повторяется бесконечно. Всю обработку имеет смысл делать внутри него, чтобы бесконечно обрабатывать сигналы от сенсора. Первая строка ловит сигналы от сенсора и сохраняет в переменные: local _, address, x, y, z, name = event.pull('motion') Далее можно проверить, что сигнал действительно пришел, и это не сбой: if name ~= nil then ... end Можно еще проверить, что name тут - это ник нужного игрока и т.п. Ну и внутри этой проверки можно уже пускать сигнал редстоуна: redstone.setOutput(sides.front, 5)
-
Для того чтобы подавать сигнал, надо использовать редстоун плату, или редстоун контроллер. У них у обоих одинаковый интерфейс, и компонент называется "redstone". Для того чтобы подать сигнал редстоуном, надо выбрать сторону и уровень сигнала (от 0 до 16). Например: local sides = require('sides') local com = require('component') local redstone = com.redstone redstone.setOutput(sides.top, 5) Для того чтобы выдать сигнал сразу на все стороны, можно либо повторить ту же команду отдельно для каждой стороны, либо передать функции таблицу: redstone.setOutput({ [sides.front] = 5, [sides.back] = 5, [sides.left] = 5, [sides.right] = 5, [sides.top] = 5, [sides.bottom] = 5 })
-
Не не. Не "с передней", а "относительно передней". Там просто прикол в том, что у системника "юг" не на юге находится, а на передней стороне. То есть ориентироваться надо не по реальным сторонам света, а как комп стоит. Ну или писать не "south", "north", "west", "east", a "front", "back", "right", "left".
-
Там в топике о программе написано как настроить программу. Надо указать сторону блока на которую будет подан сигнал. Если на дисплее алерт появился - то на блоке на какой-то стороне тоже должен сигнал появиться.
-
Ну вот теперь оно явно корректно скачалось. OpenOS пишет тебе ошибку - "no primary 'redstone' available". Это значит нет доступных компонентов "redstone". Подсоедини Redstone I/O (красный контроллер, блок такой из OpenComputers). Кабелем к компу. Этот блок будет выдавать сигнал редстоуна. К нему в принципе можно двери и прицепить.
-
А точно правильно скачалось / скопировалось? Я вот прямо сейчас попробовал сделать: pastebin get bTc7tJKv terminal.lua И потом просто: terminal И оно запустилось нормально. P.S. Запускал из OpenOS, не из MineOS. P.P.S. Можно и на ты, я не обижусь. 😛
-
Паттерны, они же шаблоны. Они же аналог "регексов" для Луа. Вот тут про паттерны на английском: http://lua-users.org/wiki/PatternsTutorial Тут - на русском: http://bot4sale.ru/blog-menu/qlua/265-lua-patterns.html Ну и вообще погуглить можно.
-
В качестве примера можно посмотреть мою старую прогу - SpiderEye. Это система слежения на датчиках. Там вроде можно было делать и так чтобы дверь открывало.
-
Датчик движения имеет радиус действия 8 блоков, и он не должен быть заслонен другими блоками (можно прятаться от него за стенкой). Чувствительность - это порог скорости с которой должна двигаться цель, чтобы датчик ее "засёк". Я не помню какие там числа, но можно поиграться и посмотреть. Задается чувствительность так: sensor.setSensitivity(число) Про радары из дополнений надо спросить кого-нибудь знающего, я ими не пользовался.
-
В чистом моде OpenComputers (без дополнений) есть такая хрень - датчик движения. Юзается примерно так: local event = require('event') local com = require('component') local sensor = com.motion_sensor while true do local _, address, x, y, z, name = event.pull('motion') print(name) end Чувствительность настраивается. В дополнении OpenSecurity или Computronics есть радар.
- 51 ответ
-
- 1
-
-
На случай если кто-то будет искать ответ - проблема решилась. Исходный текст был не в кодировке UTF-8, а в кодировке Windows-1251 (кодировка менялась при заливке файла, или неверно интерпретировалась железякой), и после смены чарсета все заработало.
-
Попробуй добавить в секцию <head> такую строку: <meta charset="UTF-8">
-
А что за второе число возле памяти?
