Doob
-
Публикации
1 089 -
Зарегистрирован
-
Посещение
-
Победитель дней
141
Сообщения, опубликованные пользователем Doob
-
-
-
А что за текстур пак?
Мой, сегодня дорисую.
Выход/вылет/warp - одним/обеими игроками - как обрабатывать?
Никак, хотя, можно через детекторы движения, но Базар по-лучше будет, ибо можно закинуть и купить товар в любое время.
-
Какое то строение из поршней, аккумуляторов и других непонятных блоков. Лично мне ничего не ясно.
Ok, в кабинки заходят игроки, кликают по мониторам - поршни запирают вход.
Игроки кидают предметы в воронки, на мониторы выводятся названия предметов и количество, когда оба игрока жмакают "обмен" - робот выплевывает предметы через дропперы.
-
Извиняюсь за некропост.




Думаю, суть ясна.
-
Это круто! Я все никак не мог сообразить, как такое провернуть, спасибо, чувак!
-
Велосипеды изобретаете. Все уже изобретено до нас. Какие коммивояжеры? Какие вычисления?
Берем GPS API, берем Vector API, сканируем, перебором вычисляем рудные жилы (условие: несколько блоков ожидаемой плотности), заносим рудные жилы по-блочно в массив, в цикле трилатерируем ближайший нужный блок, едем в него, удаляем его из массива. И так далее, до каждого блока.
-
Чую я, что Байта надо проверить на дюпы и читы.
-
Опечатка в 16 строке. Можно сделать, чтобы он ходил змейкой вдоль туннеля, тогда, по завершении он окажется в том же месте, откуда начал.
-
1
-
-
Хех, ты ведь дочитал до того места где написано, что карточный ридер возвращает ник игрока?
Написать гибкую, надежную и удобную защитную систему - тут-то и кроется вызов программисту.
А карточки - это только еще одно средство, и еще один вариант.
Читал на английском и по-диагонали))
А система проста как тапок - детектор сущностей сверяет координаты хозяина с массивом координат дверей/ловушек и при нахождении в определенном радиусе, активирует устройства из массива. Можно еще добавить проверку по векторам и монстрам, чтобы не-было ложных срабатываний и система защищала хозяина в режиме реального времени.
-
ты от автора далеко ушел? ) Он стены сравнивает с рудами, а не с мусором.
Ты только это заметил? А заправку генератора, если энергии < 1000%?))
-
"Класть в робота образцы руд" что простите?! Может лучше образцы мусора тогда?
Ну не знает еще человек, как апгрейды использовать. С апгрейдом "контроллер инвентаря" можно сразу выкидывать мусор по списку и не занимать слоты.
-
Пфф... Недавно в чате спрашивал, как защитить ключи доступа к дому. Автор мода видать играет без PvP или вообще не играет. Если меня убьет какой-нибудь чувак в кванте, то он станет хозяином моего дома.
Бессмысленный мод, хотя детектор сущностей очень нужен.
-
Для управления дроном/роботом я использую modem.send() - сначала подхожу в упор к устройству, синхронизирую адреса со слабой силой сигнала через modem.broadcast() и потом играюсь.
Недавно подумал, что кому-нибудь надо таким способом сообщить удаленно адрес модема.
Эта программа написана, чтобы не вбивать адреса модемов вручную, а загружать их из файла.При запуске можно выбрать порт и имя устройства, например: /#cm 999 Doob
Код здесь: pastebin get hGZsNALr cm
Картинки:


-
Без самозаправки он далеко не уедет.
if(computer.energy()/computer.maxEnergy())<0.01 then for i = 1, 16 do component.generator.insert(64) end endИ как-то непонятно он копает. Лучше было бы змейкой, с отступом 2 блока.
-
Всё работает) Не стал числа сокращать. Спасибо за помощь
Вот это приводит время в человеко-читаемый вид
print(math.floor(os.time())..':'..math.floor((os.time()-math.floor(os.time()))*60))
-
Именно потому, что есть разница гонять робота по каждому блоку руды или по очереди выбирая жилы я и задал вопрос, не было бы разницы гонял бы тупо циклом по всем блокам плотностью больше 2.5, вот только при этом будет прорыт миллион ненужных ходов в кобле
А, понял, надо распознавать жилы/не жилы и бегать только по жилам. Это спорт такой, или есть практическое применение? Как по мне, тупая копалка туннелей с выжиранием встреченных жил намного эффективней и проще.
-
В ComputerCraft есть библиотеки GPS и Vector, можно перенести на OpenComputers, поставить навигационные вышки на микроконтроллерах, конвертировать относительные координаты в абсолютные и гонять робота между ближайшими необходимыми блоками и будет не важно, находятся они в одной жиле или в разных.
Шучу, конечно, можно работать и с относительными координатами, нужен только цикл поиска ближайших блоков и беганья по векторам.
-
Долго думал, зачем нормальному человеку выгуливать на огороде зомбей и коров, потом попробовал сделать ферму цветов для краски и грибов для еды - меня начали доставать зомби и слизни.
Я вернул проверку на сущности, хотя это бред - робот на убийство тратит больше энергии, нежели на повторный обход того блока, который был занят сущностью.
Вот пример для фермы цветов, в сундук перед запуском надо кинуть костную пыль, роботу нужен контроллер инвентаря и солнечная батарея (farmer - имя библиотеки).
local component = require('component') local computer = require('computer') local robot = require('robot') local term = require('term') local farmer = require('farmer') local function findBoneMeal() robot.select(1) for sl = 1, component.inventory_controller.getInventorySize(3) do if component.inventory_controller.getStackInSlot(3, sl) == nil then else item = component.inventory_controller.getStackInSlot(3, sl) if item.name == 'minecraft:dye' and item.damage == 15 then component.inventory_controller.suckFromSlot(3, sl) end end end end robot.turnAround() findBoneMeal() robot.turnAround() while true do energy = computer.energy()/computer.maxEnergy() if energy <= 0.1 then -- если энергии меньше 10% print('Уровень энергии менее 10%') os.sleep(300) -- спим 5 минут else term.clear() x = math.random(1, 10) if x <= 1 then robot.select(1) robot.placeDown() -- ставит под себя костную муку, с вероятностью 10% end robot.swingDown() -- срезаем цветы и траву robot.suckDown() farmer.killer() -- если спереди есть сущность - убиваем robot.forward() -- делаем шаг if farmer.killer() then -- если нашли твердый блок robot.swingDown() if farmer.turn() then -- переходим на новую линию if farmer.findChest() then -- ищем сундук for i= 2, robot.inventorySize() do -- выбрасываем все, кроме сундка robot.select(i) robot.drop() end findBoneMeal() -- ищем костную муку robot.turnAround() os.sleep(30) end end end end end -
А как, интересно ты будешь проходить лавовые озера?
Я буду ехать выше уровня генерации лавы)) А вообще, эта идея была для черепах из CC, чтобы можно было летать окруженным черепахами или захватывать мобов и привозить домой.
-
Зачем между задним роботом и игроком блок земли? Он без этого блока толкаться не может?
Ну да, этот поршень на сущностях не пашет.
Лагучий червь.
В суперплоскости все было нормально))
Можно дополнить программу, чтобы она проверяла лаги и работала медленней. Тогда, теоретически, можно будет путешествовать под землей через всю карту, тупо свернув игру.
-
Без комментариев

-
1
-
-
Пока не уловил сути. Они что, тебя по земле толкать начинают? Типа на автомобильчике едешь? А если неровность какая встретится?
Он едет сквозь блоки, у меня глупая привычка редактировать код, когда он уже лежит на пастбине, сейчас исправлю и запишу видео.
-
Ногами не пинать, это только ради фана.

На дронах можно летать, все видели?
А я катаюсь на роботах.
Хоть по воздуху, хоть под землей.
Нам нужны два робота с ангел-апгрейдом, вайрлесс картой и инвентарем, для одного нужен апгрейд- поршень.
Ставим робота с поршнем, перед ним, через два блока ставим второго робота. (чтобы они смотрели в одну сторону)
Кидаем обоим в первый слот по стаку грязи, в руки даем по кирке.
На оба робота загружаем программу: http://pastebin.com/r4mJsSnS
На заднем (который с поршнем) ничего не меняем, а переднему в первой строке меняем 'back' на 'front'.
Заднему запускаем программу без аргументов.
Ну а с переднего управляем всей этой ересью.
Надо стоять прямо за рулевым, и писать команды:
cart go [расстояние]
cart turn left/right
cart - название программы
[1][2][3][4]
[<][P][ ][<]
1, 4 - роботы
P - игрок

Прога жутко примитивная, но думаю, суть ясна))
-
универсально - это когда можно легко менять то или иное условие программы, у тебя же жестко заданы границы и чтоб их поменять придется лезть в код
не говоря о том что встань на пути игрок или корова или зомби - привет твоей ферме
У меня таких проблем нет, проверку на сущности я убрал, чтобы не крашилось с самой слабой памятью.
К тому-же это не полноценная программа, а всего две функции, мне была интересна реализация хождения робота относительно стен - я это сделал, кому надо - тот пишет что-то другое.


Текстуры для OpenComputers и аддонов
в Шкатулка
Опубликовано: