Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

Внимание, с 14 февраля до 20 февраля могут проходить работы на сервере, где также находится лаунчсервер. В связи с этим авторизация в лаунчере может не работать

serafim

Пользователи
  • Публикации

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

  • Посещение

  • Дней в лидерах

    1

Последний раз serafim выиграл 19 июля 2018

Публикации serafim были самыми популярными!

Репутация

6 Обычный

Информация

  • Пол
    Мужчина

Посетители профиля

142 просмотра профиля
  1. ну так подай сигнал на две стороны, две строки, также и выключить значение с 15 на 0 redstone.setOutput(sides.left, 15) --с права redstone.setOutput(sides.right, 15) --с лева --"left","right","front","back","bottom","top".
  2. здесь один датчик и одна сторона , может кому пригодится local event = require('event') local com = require('component') local sensor = com.motion_sensor local rs = com.redstone local sides = require('sides') local side = "top" --"left","right","front","back","bottom","top". local monsterlist = {"Spider","Zombie", "Creeper","Skeleton","Enderman","Sheep","Cow","Chicken"} local function redset(side, value) rs.setOutput(sides[side], value) end redset(side, 0) function isMonster(name) for i=1, #monsterlist do if name == monsterlist[i] then return true end end return false end while true do local _,_,_,_,_,name = event.pull('motion') print("замечен: "..name) if isMonster(name) then print("вход запрещен") os.sleep(3) else print("дверь открыта") redset(side, 15) os.sleep(3) redset(side, 0) end end
  3. ругается на несуществующий компонент invoke , да и проверку на мобов нужно после срабатывания датчика делать, то есть после event.pull('motion')
  4. одной строкой тут не отделаться, впрочем и мобы не частые гости логика простая, нужно добавить список мобов и перебрать их построчно, в случае совпадения дверь не открываем посмотри SpiderEye Terminal: pastebin.com/bTc7tJKv в качестве примера --список мобов 14 monsterlist = {"Spider", "Zombie", "Creeper", "Skeleton", "Enderman", "Sheep", "Cow", "Chicken"} --перебор списка по строкам 311 for i=1, #monsterlist do if name == monsterlist[i] then return true end end
  5. что за rednet ? Я бы больше переживал что тут нет проверки на никнейм и сторону от куда игрок подходит, в таком варианте двери будут срабатывать на всех, включая мобов и со всех сторон датчика
  6. всё верно здесь нет команды выключить сигнал, только включить redstone.setOutput(sides.front, 15) уровень 15 чтобы выключить поменяй на 0 redstone.setOutput(sides.front, 0) и добавь задержку в секундах os.sleep(3) итого получим local event = require('event') local com = require('component') local sensor = com.motion_sensor local sides = require('sides') local redstone = com.redstone while true do local _, address, x, y, z, name = event.pull('motion') print(name) redstone.setOutput(sides.front, 15) os.sleep(3) redstone.setOutput(sides.front, 0) end
  7. Чтобы понять какие данные принимает модем воспользуемся прогой local port = 1 --порт модема local event = require("event") local com = require ("component") local modem = com.modem local number = 0 modem.open(port) while true do number = number + 1 print("жду сообщение...") local e = {event.pull('modem_message')} print("сообщение "..number.."\n") for a, b in ipairs(e) do print(a.." "..tostring(b)) end print(" ") end Обычно принимает в таком виде 1 событие modem_message 2 адрес принимающей платы 3 адрес передающей платы 4 порт модема 5 растояние между платами 6 принятое сообщение Отправить данные для теста с ПК или планшета можно так local port = 1 --порт модема local com = require ("component") local modem = com.modem print("введите сообщение:") while true do modem.broadcast(port,io.read()) end Использовать полученную информацию, например так local event = require("event") local com = require ("component") local modem = com.modem modem.open(1) --порт модема local e = {event.pull('modem_message')} print(e[6]) В таком виде сообщение будет в шестой строке e[6]
  8. Попробуй такой вариант local event = require("event") local comp = require("component") local modem = comp.modem modem.open(1) modem.broadcast(1,"nanomachines", "setResponsePort", 1) os.sleep(1) modem.broadcast(1,"nanomachines", "getHealth") local e = {event.pull(2,'modem_message')} for a, b in ipairs(e) do print(a.." "..tostring(b)) end
  9. Если ты имеешь в виду как очистить экран, то можно так --подключаем библиотеку local term = require("term") --команда очистить терминал term.clear() А если переменную local _,_,_,_,_,h1,h2,h3 = e.pull("modem_message") то можно её не очищать , данные в ней заменятся при следующем ответе на сообщение модема, на то она и переменная И ты мог бы код не в виде скриншота вставлять, а виде кода. В сообщении есть кнопочка с надписью КОД
  10. Например так : local shell = require("shell") local fs = require("filesystem") --Массив с программами, которые необходимо загрузить. --Первый элемент - ссылка на файл, второй - путь для сохранения файла. local applications = { { "https://github.com/stripwire/openttablet_os/blob/master/lib/forms.lua", "lib/forms.lua" }, { "https://github.com/stripwire/openttablet_os/blob/master/menu/menu.lua", "menu.lua" }, } --Загружаем файлы for i = 1, #applications do print("Устанавливаю " .. applications[i][2]) fs.makeDirectory(fs.path(applications[i][2]) or "") shell.execute("wget " .. applications[i][1] .. " " .. applications[i][2] .. " -fQ") os.sleep(0.3) end print("Готово")
  11. serafim

    Робот-рыболов

    Тут не поспориш, потому и раздел для начинающих TotoroПоправил, спасибо за замечания, пишу в меру знаний, но их всегда не достаточно
  12. serafim

    Робот-рыболов

    увы английский у меня хромает оптимизация вещь тонкая, щас допилим
  13. serafim

    Робот-рыболов

    Байтик старание за труд, спосибо
  14. serafim

    Робот-рыболов

    Добавил проверку на ошибки: если нет удочки ищем в сундуке, если и там нет ждем пока дадут удочку. если заполнен сундук, то прекращаем ловить. если нет сигнала от датчика, то выясняем причину: или у робота вместо удочки что то другое, или ошибка конструкции сборки рыболова. p.s. Хочу байтик
  15. serafim

    Робот-рыболов

    Хочу вам представить доработанный вариант рыбалова он берёт удочки из сундука и складывает рыбу в сундук. http://pastebin.com/RPLWqKTZ pastebin get -f RPLWqKTZ ribolov.lua Мне лично понравился вариант сборки от eu_tomat
×