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

serafim

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

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

  • Посещение

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

    46

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

  1. Изменил логику работы, теперь открывает все коробки без ожидания поступления новых В приоритете выгрузка лута
  2. контроль реактора IC2(1.7.10) с модом OpenPeripheral: pastebin get kxgfyM9 r ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ программа контроля реактора IC2(1.7.10) с конденсаторами: pastebin get kfRBNS0w r программа контроля реактора IC2(1.12.2) с конденсаторами: pastebin get nneD0Mv5 r Можно использовать любую схему расположения компонентов в реакторе, также любое расположение управляющих блоков, всё автоматически настраивается ! Использовать только с реактором IC2 типа "звёздочка" (реактор в центре + 6 реакторных камер вокруг) Видео с примером сборки наиболее эффективная схема предложена @eu_tomat на странице 9 пример сборки предложен @Asior на странице 1 мой пример сборки с дополнительной защитой от перегрева автокравт конденсаторов IC2 на роботе: pastebin get WgcCKBFn c
  3. На данный момент программа отлажена, также все возможные зашиты прописаны
  4. В сундуке только коробки утильсырья ? Как расположены сундуки вокруг робота?
  5. При температуре 8500 образуется лава разрушающая всё вокруг, до этой температуры не сгорит, а вообще всё надо тестить
  6. Да дыра что надо Лучше использовать дополнительно внешнюю защиту от перегрева на датчике температуры из IC2NuclearControl плюс элемент И
  7. на экране 100% не будет отображаться, конденсаторы меняются при 97%
  8. Всех с праздником ! Программа @Asior pastebin.com/bji2zXCq не плохая, но не имеет интерфейса. В графике я не силен, но накидал простенькое отображение состояния конденсаторов и их замену. тут шаблон отрисовки по координатам Есть ли иной способ вывода значений без использования таблицы координат ?
  9. ну так подай сигнал на две стороны, две строки, также и выключить значение с 15 на 0 redstone.setOutput(sides.left, 15) --с лева redstone.setOutput(sides.right, 15) --с права --"left","right","front","back","bottom","top".
  10. здесь один датчик и одна сторона , может кому пригодится
  11. ругается на несуществующий компонент invoke , да и проверку на мобов нужно после срабатывания датчика делать, то есть после event.pull('motion')
  12. одной строкой тут не отделаться, впрочем и мобы не частые гости логика простая, нужно добавить список мобов и перебрать их построчно, в случае совпадения дверь не открываем посмотри 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
  13. что за rednet ? Я бы больше переживал что тут нет проверки на никнейм и сторону от куда игрок подходит, в таком варианте двери будут срабатывать на всех, включая мобов и со всех сторон датчика
  14. всё верно здесь нет команды выключить сигнал, только включить 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
  15. Чтобы понять какие данные принимает модем воспользуемся прогой 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]
  16. Попробуй такой вариант 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
  17. Если ты имеешь в виду как очистить экран, то можно так --подключаем библиотеку local term = require("term") --команда очистить терминал term.clear() А если переменную local _,_,_,_,_,h1,h2,h3 = e.pull("modem_message") то можно её не очищать , данные в ней заменятся при следующем ответе на сообщение модема, на то она и переменная И ты мог бы код не в виде скриншота вставлять, а виде кода. В сообщении есть кнопочка с надписью КОД
  18. Например так : 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("Готово")
  19. Тут не поспориш, потому и раздел для начинающих Totoro Поправил, спасибо за замечания
  20. увы английский у меня хромает оптимизация вещь тонкая, щас допилим
  21. Байтик старание за труд, спосибо
  22. Добавил проверку на ошибки: если нет удочки ищем в сундуке, если и там нет ждем пока дадут удочку. если заполнен сундук, то прекращаем ловить. если нет сигнала от датчика, то выясняем причину: или у робота вместо удочки что то другое, или ошибка конструкции сборки рыболова. p.s. Хочу байтик
  23. Хочу вам представить доработанный вариант рыбалова он берёт удочки из сундука и складывает рыбу в сундук. http://pastebin.com/RPLWqKTZ pastebin get -f RPLWqKTZ ribolov.lua Мне лично понравился вариант сборки от eu_tomat
×
×
  • Создать...