Alexhotice
-
Публикации
45 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Alexhotice
-
-
10 минут назад, eu_tomat сказал:Похоже, я не с первого раза понял вопрос.
Требуется уточнить, что это за механизм, чтобы выбрать эффективный вариант проверки заполнения инвентаря. Это генератор булыжника?
нет, один робот ставит руду, второй ломает эту руду буром с удачей. Робот у которого у меня возник вопрос ломает
-
а как можно дополнить, чтобы тогда робот сам скидывал свой инвентарь кроме бура, допустим в сундук сбоку?
-
У меня высасывание идет шинами
-
И такой вопрос еще: почему робот скидывает бур в сундук сверху вместе со всем содержимым хотя у меня стоит сброс сзади в мфэх?
-
3 минуты назад, eu_tomat сказал:Буры из IC2 вроде без проблем определяются
да, это был мой косяк, я закинул в инвентарь вместо руки и думал почему оно не работает
-
6 минут назад, eu_tomat сказал:в случае отсутствия инструмента
но запускал я его с буром, сейчас попробую с обычной киркой
-
Я только осваиваю данный язык,
прошу не кидаться тапками за незнание.Есть небольшая программа для робота, которая позволяет копать ему блоки(робот стоит на месте). При попытке запуска на новом роботе выбивает ошибку. Устанавливал ОС - robot не смог установить, устанавливал robot - не давало записать файл. Робот в котором сейчас стоит данная прога, работает хорошо и никаких траблов(ставил его не я), с тем человеком нет возможности связаться, а разобраться почему не работает у меня хочется.local c = require("component") local robot = require("robot") local inv = c.inventory_controller while true do if robot.durability() <= 0.2 then robot.turnAround() inv.equip() robot.drop() os.sleep(15) robot.suck() inv.equip() robot.turnAround() end c.robot.swing(3) os.sleep(0.04) end
-
5 минут назад, Asior сказал:Тебе надо смотреть в сторону GPU
это я читал, я имею ввиду если именно в данном куске разбить на цвета
-
4 минуты назад, eu_tomat сказал:Как реализовать функцию online(nick)
это я знаю, сделал.
5 минут назад, eu_tomat сказал:Для вывода нужной фразы для каждого ника можно использовать, например, такой код
а как тут цвет можно установить?
-
10 минут назад, Totoro сказал:Что за фазы ты имеешь в виду?
когда человек входит в сеть, чтобы писало на экране чем обычно занимается
что-то вроде "Alexhotice [Online] пчелки" вот это последнее слово чтобы отличалось цветом от ника и статуса и присвоить каждому свое
я понимаю как это сделать разбив на разные группки, но не хочется выделять по одному человеку группу, а просто чтобы рядом писало
-
Как в код можно встроить проверку на ник и в сети/отошел ли он. Есть код, который проверяет ник в сети и меняет его статус на "онлайн". Как вместе со сменой статуса, можно рядом дописывать определенную фразу, к каждому игроку свою?
-
1 минуту назад, whiskas сказал:здесь есть прога такая как тебе нужна, в коментариях там есть проги даже покруче функционалом
спасибо, уже находил, но било ошибку во всех
немного поколдовав и соединив некоторые строки удалось запустить
-
3 минуты назад, Ingr сказал:ну так может тогда стоит начать с чего попроще, типа "Хэло ворлд"? И прочтения мануалов для начинающих?
это я читал и Хало ворлд делал
-
Только что, Asior сказал:Ясен пень не найден. Тебе дали голый кусок кода который сработает только через lua. Как создать программу и подключить библиотеки думаю догадаешься.
вряд ли, я только начинаю разбираться в языке, и первая программа, с которой сог разобраться, мне помогали делать 2 дня
-
10 минут назад, Totoro сказал:computer.addUser(name: string😞 boolean or nil, string
выбивает что файл не найден
-
вручную чуть что могу вписать
1 минуту назад, BrightYC сказал:Но на счёт онлайна/оффлайна - было такое, это можно.
-
Нужна прога для вывода на экран людей состоящих в привате и их статус(онлайн/офлайн)
-
54 минуты назад, Totoro сказал:Значит придется по отдельности на каждую сторону сетить.
мне нужно 2 стороны подающих сигнал, но ставить 2 системника как-то не хочется, мб можно как-то тогда по другому указать?
-
13 минут назад, Asior сказал:Почитай вначале
изменил я на эту часть,
com.invoke(address, "setOutput", { [sides.front] = 15, [sides.back] = 15, [sides.left] = 15, [sides.right] = 15, [sides.top] = 15, [sides.bottom] = 15 })и
com.invoke(address, "setOutput", { [sides.front] = 0, [sides.back] = 0, [sides.left] = 0, [sides.right] = 0, [sides.top] = 0, [sides.bottom] = 0 })после того как, первый раз засекла выбило ошибку
-
И последний вопрос, а как им задать чтобы они во все стороны пускали сигнал?
А то только что запустил, а сигнал только на юг подается
-
Всем спасибо огромное!
-
13 минут назад, Totoro сказал:Блок:
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
тогда как-то будет выглядеть?
local event = require('event') local com = require('component') local sensor = com.motion_sensor local sides = require('sides') local monsterlist = {"Spider", "Zombie", "Creeper", "Skeleton", "Enderman", "Sheep", "Cow", "Chicken"} 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 -
7 минут назад, Asior сказал:local event = require('event') local com = require('component') local sensor = com.motion_sensor local sides = require('sides') local red = com.list('redstone') local monsterlist = {"Spider", "Zombie", "Creeper", "Skeleton", "Enderman", "Sheep", "Cow", "Chicken"} local function monsterScan(name) for i=1, #monsterlist do if name == monsterlist[i] then return false end end return true end while true do local _, address, x, y, z, name = event.pull('motion') if monsterScan(name) then print(name) for address, _ in pairs(red) do com.invoke(address, "setOutput", sides.front, 15) end os.sleep(4) for address, _ in pairs(red) do com.invoke(address, "setOutput", sides.front, 0) end end end
спасибо большое
-
7 минут назад, Asior сказал:redstone.setOutput(sides.front, 0) тут судя по всему ошибка или недописка. Подумай сам, если ты включил ВСЕ предположим 5 контроллеров, то потом сколько надо выключить?
окей, тут переписываю на com.redstone(address, "setOutput", sides.front, 0)
8 минут назад, Asior сказал:local red = computer.list('redstone')
объявил, но в строке, где я задаю им мощность, com.redstone(address, "setOutput", sides.front, 15) выбивает ошибку

Robot
в Разные (отсортировать)
Опубликовано: · Изменено пользователем Alexhotice
Я сделал гораздо легче(Так как я понимал и знал как сделать), один робот ставит руду, которая попадает в него с МЭ системы, второй срубает ее и закидывает обратно в МЭ систему. Проблему с высасыванием бура решил постановкой в шинах фильтра на те руды
Робот который ставит:
local c = require("component") local robot = require("robot") while true do c.robot.place(3) os.sleep(0.05) endРобот который ломает:
local c = require("component") local robot = require("robot") local inv = c.inventory_controller while true do if robot.durability() <= 0.2 then robot.turnAround() inv.equip() robot.drop() os.sleep(15) robot.suck() inv.equip() robot.turnAround() end c.robot.swing(3) os.sleep(0.04) endВот так они стоят: