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

Totoro

Гуру
  • Публикации

    1 950
  • Зарегистрирован

  • Посещение

  • Победитель дней

    289

Все публикации пользователя Totoro

  1. Да, название уже придумано 😃
  2. Справедливости ради, ёлочку писал не я. Я делал только статичную голограмму ёлочки с красными ёлочными шариками и подарками.
  3. Не отрицая сути (ключ от таблицы нужно как минимум где-то хранить, что создает новую точку уязвимости), тем не менее был бы очень рад увидеть практическую имплементацию брутфорса пароля.
  4. Как проверять онлайн или нет уже объяснили же. Что за фазы ты имеешь в виду?
  5. Это надо как-то читать приватный чат... Мне кажется не сможет.
  6. Статус выводить довольно легко - для этого можно воспользоваться тем, что команда computer.addUser(name: string): boolean or nil, string работает только если человек онлайн. Ну а ники придется вбивать в список вручную.
  7. Возможно это только в последних версиях добавили. Или оно для блоков не работает. Значит придется по отдельности на каждую сторону сетить.
  8. Да. А @Asior показал как оно будет выглядеть для работы с несколькими redstone контроллерами.
  9. Блок: 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
  10. Для удобной прокладки редстоуна придется повозиться с ванильной пылью. Когда мы строили банк, мы использовали мод на липкий редстоун. Ещё можно поставить не один красный контроллер, а несколько. Только тогда нужно будет устанавливать сигнал не только "главному" компоненту 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 Или что-нибудь в таком духе.
  11. Надо логику программы поправить. У тебя есть основной цикл: while true do ... end Он повторяется бесконечно. Всю обработку имеет смысл делать внутри него, чтобы бесконечно обрабатывать сигналы от сенсора. Первая строка ловит сигналы от сенсора и сохраняет в переменные: local _, address, x, y, z, name = event.pull('motion') Далее можно проверить, что сигнал действительно пришел, и это не сбой: if name ~= nil then ... end Можно еще проверить, что name тут - это ник нужного игрока и т.п. Ну и внутри этой проверки можно уже пускать сигнал редстоуна: redstone.setOutput(sides.front, 5)
  12. Для того чтобы подавать сигнал, надо использовать редстоун плату, или редстоун контроллер. У них у обоих одинаковый интерфейс, и компонент называется "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 })
  13. Не не. Не "с передней", а "относительно передней". Там просто прикол в том, что у системника "юг" не на юге находится, а на передней стороне. То есть ориентироваться надо не по реальным сторонам света, а как комп стоит. Ну или писать не "south", "north", "west", "east", a "front", "back", "right", "left".
  14. Там в топике о программе написано как настроить программу. Надо указать сторону блока на которую будет подан сигнал. Если на дисплее алерт появился - то на блоке на какой-то стороне тоже должен сигнал появиться.
  15. Ну вот теперь оно явно корректно скачалось. OpenOS пишет тебе ошибку - "no primary 'redstone' available". Это значит нет доступных компонентов "redstone". Подсоедини Redstone I/O (красный контроллер, блок такой из OpenComputers). Кабелем к компу. Этот блок будет выдавать сигнал редстоуна. К нему в принципе можно двери и прицепить.
  16. А точно правильно скачалось / скопировалось? Я вот прямо сейчас попробовал сделать: pastebin get bTc7tJKv terminal.lua И потом просто: terminal И оно запустилось нормально. P.S. Запускал из OpenOS, не из MineOS. P.P.S. Можно и на ты, я не обижусь. 😛
  17. Паттерны, они же шаблоны. Они же аналог "регексов" для Луа. Вот тут про паттерны на английском: http://lua-users.org/wiki/PatternsTutorial Тут - на русском: http://bot4sale.ru/blog-menu/qlua/265-lua-patterns.html Ну и вообще погуглить можно.
  18. В качестве примера можно посмотреть мою старую прогу - SpiderEye. Это система слежения на датчиках. Там вроде можно было делать и так чтобы дверь открывало.
  19. Датчик движения имеет радиус действия 8 блоков, и он не должен быть заслонен другими блоками (можно прятаться от него за стенкой). Чувствительность - это порог скорости с которой должна двигаться цель, чтобы датчик ее "засёк". Я не помню какие там числа, но можно поиграться и посмотреть. Задается чувствительность так: sensor.setSensitivity(число) Про радары из дополнений надо спросить кого-нибудь знающего, я ими не пользовался.
  20. В чистом моде 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 есть радар.
  21. На случай если кто-то будет искать ответ - проблема решилась. Исходный текст был не в кодировке UTF-8, а в кодировке Windows-1251 (кодировка менялась при заливке файла, или неверно интерпретировалась железякой), и после смены чарсета все заработало.
  22. Попробуй добавить в секцию <head> такую строку: <meta charset="UTF-8">
  23. А что за второе число возле памяти?
×
×
  • Создать...