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

Рекомендуемые сообщения

Да, это было веселое приключение, "найди сбежавшего робота" собранного на последние ресурсы. В итоге это вылилось в массовую копку 9 чанков, и только после этого, заглянув в 1 из дырок от прохода робота я его отыскал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, Doob сказал:

@BrightYC, а как же тяга к экспериментам? Приключения разнообразят игру, особенно в майне, где с этим немного туго :D

Спасибо, тяга к приключениям отпала, после 3 недель экспериментов :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну вы и страдальцы. Я ресы в основном добывал лазером - полянку 4x4 чанка выбить роботом, ручками собрать и отсортировать. Это самый быстрый способ из возможных. И самый дешевый - роботу нужен только каркас.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Doob сказал:

Ну вы и страдальцы. Я ресы в основном добывал лазером - полянку 4x4 чанка выбить роботом, ручками собрать и отсортировать. Это самый быстрый способ из возможных. И самый дешевый - роботу нужен только каркас.

Угу. Как раз таки после того, как мой робот потерялся в последний - психанул и пошёл копать лазером. Эффективнее и быстрее в разы.

 

1 час назад, Doob сказал:

Добавил воскрешение робота и возвращение на базу по вейкапу, проблема в том, что робот будет постоянно возвращаться на последние записанные координаты сундука, пока пользователь их руками не сотрет.

Гм. В последний раз робот у меня помер от истощившейся батареи. Там робот в какой-то бесконечный цикл входил. Это пофикшено? А то вейкап тут не поможет =d 

1 час назад, Doob сказал:

Как сделать проще - пока не придумал, есть вариант пользовать какой-то предмет в качестве ключа зажигания или просто передергивать инвентарь, как делал BrightYC.

При старте ожидать какого-то предмета в инвентаре пару секунд. Есть деревянная мотыга - перезаписываем координаты. Есть золотая мотыга - стартуем. Если мотыги нет, но последние координаты далеко от стартовых - возвращаемся домой. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, Asior сказал:

Кстати очень не хватает сохранения состояния робота на момент отрубания.

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

 

2 часа назад, Doob сказал:

Прошлая копалка была с бэкдором, чтобы я мог перехватить управление над всеми роботами и забрать их себе, но никто не жаловался.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
23 часа назад, eu_tomat сказал:

или даже остановить копку и выполнить произвольные команды.

Или перехвать контроль и присвоить чужого робота себе. А дальше уже в меру испорченности вора, или тихое изъятие дисков из МЭ или маленький карьер на лазере. О том что есть такие инструменты контроля не стоит сильно распространяться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, Asior сказал:

О том что есть такие инструменты контроля не стоит сильно распространяться.

А если пользователю дать возможность привязать контроль над роботом к списку адресов, то получится вполне себе безопасный инструмент, о наличии которого можно заявить официально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отличная программа, спасибо, в крайней версии после скидывания ресурсов в сундук отходит недалеко от начала и начинает идти по прямой, если за ним проследить, опять как накопает полный инвентарь, возвращается, и опять дальше идет по прямой.

И еще может быть от сервера зависит или от версии мода getStackInSlot возвращет всегда nil приходится искать сундук геоанализатором, из за этого же не показывает заряд бура если поместить в зарядник.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Antero сказал:

Отличная программа, спасибо, в крайней версии после скидывания ресурсов в сундук отходит недалеко от начала и начинает идти по прямой, если за ним проследить, опять как накопает полный инвентарь, возвращается, и опять дальше идет по прямой.

@Doob Это опять сервер телепортирует или кто-то код робота изменяет?:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 27.06.2019 в 08:10, Doob сказал:

@BrightYC Нашел странный баг на 1.7.10, надо проверить фикс.

 

Добавлен подсчет предметов после упаковки, теперь робот выгружает ресы не только при износе инструмента и подзарядке.

Удивительно, но я пропустил самое главное.

Может, это я чайник, но теперь у вас робот при возвращении домой пакует ресурсы (вызывает сортировщик ДО выгрузки), проверяет инвентарь (вызывает в конце сортировщика), видит, что инвентарь полон, возвращается домой...
Иными словами, циклится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

P.S. Завершение работы нашел, робот снова убежал далеко (но потом вернулся), пока неясно, почему.

Изменено пользователем jammer312

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кажется, я нашел, в чем проблема.
Когда робот идет по координатам, он сначала поворачивается, потом идет вперед, пока не дойдет до нужной координаты. Все бы хорошо...
НО. На каждом шагу (на самом деле каждые 32) робот проверяет разные параметры, и, если ими не доволен, возвращается домой, потом возвращается обратно на те же координаты, при этом не учитывая своей ориентации. Если он это сделал в середине пути, он может после возвращения быть повернут не туда, и переть не в ту сторону, все так же ожидая достижения нужной координаты, которой он никогда не достигнет.

 

Лечится добавлением запоминания направления туда же, где в home запоминаются координаты, и добавлением smart_turn на это направление после возвращения на эти координаты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проблема из-за того, что изначально программа была в виде пары циклов. Где-то я добавил ветвления, где-то навесил флагов, а где-то пропустил. Давно собирался разбить алгоритм по уму, чтобы не путаться в флагах, но до майна руки не доходят.

 

Раньше была проверка направления в функции go, т. к. она основная. Но я этот костыль выкинул и ни чем не заменил в новой версии.

С этими побегами понятно, я не мог отловить баг на своих стендах из-за того, что он возникает с вероятностью 1/8.

 

Был еще какой-то баг, вроде-бы ошибка при чистке инвентаря или во время сортировки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё сделал по инструкции, только при включении робота он издаёт несколько писков и ничего не происходит

 

Изменено пользователем Skalar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, Skalar сказал:

Всё сделал по инструкции, только при включении робота он издаёт несколько писков и ничего не происходит

А что он выводит на экран?

Может вы в робота положили пустой EEPROM, без Lua BIOS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 часов назад, Bs0Dd сказал:

А что он выводит на экран?

Может вы в робота положили пустой EEPROM, без Lua BIOS?

Выводит Unrecoverable Error, Computer halted. А EEPROM с Lua BIOS

Изменено пользователем Skalar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, Skalar сказал:

Выводит Unrecoverable Error, Computer halted. А EEPROM с Lua BIOS

Странно, собрал робота, все работает

Может чего-то из улучшений не положили?

EQk5pgK.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
40 минут назад, Bs0Dd сказал:

Странно, собрал робота, все работает

Может чего-то из улучшений не положили?

EQk5pgK.png

Капец, сделал короче сборку свою(До этого на сервере проверял) и всё работает... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@DoobПривет, такой вопрос, где нибудь в коде можно задать конкретные ресурсы для поиска?  

И я так понимаю в tails пишутся все отходы ? Робот будет просто их выкидывать или же будет стараться их даже не собирать?  

У нас слишком огромная сборка по модам и генерации руд, как итог робот приносит полные сундуки булыжника считая их за ценные ресурсы :)

При этом те же самые серебро/золото и прочие ценные руды у нас могут быть намешаны в разных породах, например 

undergroundbiomes:igneous_stone_iron_ore
undergroundbiomes:sedimentary_stone_iron_ore
undergroundbiomes:igneous_stone_gold_ore
undergroundbiomes:sedimentary_stone_gold_ore 

 

И робот соотвественно в свою очередь приносит только то малое количество ценных металлов которые были сгенерированы обычным генератом.

То есть за ночь работы от принёс мне чуть больше 10 кусочков золота.)) (Зато сколько булыги, о господи) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Sivarius сказал:

@DoobПривет, такой вопрос, где нибудь в коде можно задать конкретные ресурсы для поиска?  

И я так понимаю в tails пишутся все отходы ? Робот будет просто их выкидывать или же будет стараться их даже не собирать?  

У нас слишком огромная сборка по модам и генерации руд, как итог робот приносит полные сундуки булыжника считая их за ценные ресурсы :)

При этом те же самые серебро/золото и прочие ценные руды у нас могут быть намешаны в разных породах, например 

undergroundbiomes:igneous_stone_iron_ore
undergroundbiomes:sedimentary_stone_iron_ore
undergroundbiomes:igneous_stone_gold_ore
undergroundbiomes:sedimentary_stone_gold_ore 

 

И робот соотвественно в свою очередь приносит только то малое количество ценных металлов которые были сгенерированы обычным генератом.

То есть за ночь работы от принёс мне чуть больше 10 кусочков золота.)) (Зато сколько булыги, о господи) 

Кхм.. Над tails как раз находиться место, где можно задать ресурсы для поиска

 

local fragments = {'redstone','coal','dye','diamond','emerald'}
local tails = {'cobblestone','granite','diorite','andesite','marble','limestone','dirt','gravel','sand','stained_hardened_clay','sandstone','stone','grass','end_stone','hardened_clay','mossy_cobblestone','planks','fence','torch','nether_brick','nether_brick_fence','nether_brick_stairs','netherrack','soul_sand'}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...