forked from MTSR/techage_modpack
543 lines
31 KiB
Markdown
543 lines
31 KiB
Markdown
|
# Управляемый бот
|
|||
|
|
|||
|
Робот, управляемый знаками.
|
|||
|
|
|||
|
В сети: https://github.com/joe7575/signs_bot/blob/master/manual_EN.md
|
|||
|
|
|||
|
[signs_bot_bot_inv.png|image]
|
|||
|
|
|||
|
## Первые шаги
|
|||
|
|
|||
|
После того как вы разместили бокс с управляемым роботом, вы можете запустить бота
|
|||
|
с помощью кнопки 'On' в меню бокса. Если бот сразу же вернется в свою коробку,
|
|||
|
вам нужно будет сначала зарядить его электрической энергией (techage).
|
|||
|
Затем бот бежит прямо вперед, пока не достигнет препятствия
|
|||
|
(ступенька с двумя или более блоками вверх или вниз или знак).
|
|||
|
|
|||
|
Управлять ботом можно только с помощью знаков, которые расположены на его пути.
|
|||
|
|
|||
|
Если бот первым достигнет знака, он выполнит команды, указанные на нем.
|
|||
|
Если первой командой на знаке будет, например, 'turn_around', бот повернет и пойдет обратно.
|
|||
|
В этом случае бот снова дойдет до своего ящика и выключится.
|
|||
|
|
|||
|
Если бот первым достигнет препятствия, он остановится или, если есть возможность,
|
|||
|
выполнит следующие команды, начиная с последнего знака.
|
|||
|
|
|||
|
У бота есть инвентарь с 6 стеками для знаков и 8 стеками для других предметов
|
|||
|
(которые размещаются/добываются ботом). Этот инвентарь имитирует внутренний инвентарь.
|
|||
|
Это означает, что вы будете иметь доступ к инвентарю только в том случае,
|
|||
|
если бот выключен ("сидит" в своем боксе).
|
|||
|
|
|||
|
Также есть следующие блоки:
|
|||
|
- Датчики: Они могут посылать сигнал на исполнительный механизм, если подключены к нему.
|
|||
|
- Актуаторы: Они выполняют действие, когда получают сигнал от датчика.
|
|||
|
|
|||
|
[signs_bot_bot_inv.png|image]
|
|||
|
|
|||
|
## Знаки
|
|||
|
|
|||
|
Вы управляете направлением движения бота с помощью знаков "turn left" и
|
|||
|
"turn right" (знаки со стрелкой). Бот может преодолевать ступеньки
|
|||
|
(один блок вверх/вниз). Но есть и команды, позволяющие перемещать бота вверх и вниз.
|
|||
|
|
|||
|
Не обязательно отмечать путь обратно к коробке. С помощью команды 'turn_off'
|
|||
|
бот выключится и вернется в свой бокс из любого положения. То же самое касается
|
|||
|
если вы выключите бота через меню бокса. Если бот достигнет знака в неправильном
|
|||
|
направлении (сзади или сбоку), то знак будет проигнорирован.
|
|||
|
Бот просто перешагнет через знак.
|
|||
|
|
|||
|
Все предопределенные знаки имеют меню со списком команд бота. Эти знаки
|
|||
|
не могут быть изменены, но вы можете создавать и программировать свои собственные знаки.
|
|||
|
Для этого нужно использовать знак "command". В этом знаке есть поле для редактирования команд
|
|||
|
и страница помощи со всеми доступными командами. На странице помощи есть кнопка копирования
|
|||
|
чтобы упростить программирование.
|
|||
|
|
|||
|
Также для ваших собственных знаков важно знать: После выполнения последней
|
|||
|
команды знака, бот возвращается к своему поведению по умолчанию и бежит в
|
|||
|
выбранном направлении.
|
|||
|
|
|||
|
Стандартным заданием для бота является перемещение предметов из одного сундука в другой сундук
|
|||
|
(или узел с сундуком, похожим на инвентарь). Это можно сделать с помощью двух знаков
|
|||
|
'взять предмет' и 'добавить предмет'. Эти знаки должны быть размещены над узлами сундуков.
|
|||
|
|
|||
|
[signs_bot_sign_left.png|image]
|
|||
|
|
|||
|
## Датчики и приводы
|
|||
|
|
|||
|
В дополнение к знакам бот может управляться с помощью датчиков.
|
|||
|
Датчики, такие как датчик бота, имеют два состояния: включено и выключено.
|
|||
|
Если датчик бота обнаруживает бота он переключится в состояние "включено"
|
|||
|
и пошлёт сигнал подключённому блоку, называемому исполнительным механизмом.
|
|||
|
|
|||
|
Датчиками являются:
|
|||
|
|
|||
|
- Датчик бота: Посылает сигнал, когда мимо проезжает робот.
|
|||
|
- Датчик узла: Посылает сигнал, когда обнаруживает любой (новый) узел.
|
|||
|
- Датчик урожая: Посылает сигнал, когда, например, пшеница полностью выросла
|
|||
|
- Сундук бота: Посылает сигнал в зависимости от состояния сундука (пустой, полный)
|
|||
|
|
|||
|
Приводы:
|
|||
|
|
|||
|
- Знаки Bot Box: Может выключать и включать бота
|
|||
|
- Блок управления: Может использоваться для смены знака, чтобы управлять ботом.
|
|||
|
|
|||
|
Датчики должны быть соединены (спарены) с исполнительными механизмами. Для этого используется
|
|||
|
"Инструмент подключения датчиков".
|
|||
|
|
|||
|
[signs_bot_sensor_crop_inv.png|image]
|
|||
|
|
|||
|
|
|||
|
## Инструмент подключения датчиков
|
|||
|
|
|||
|
Чтобы отправить сигнал от датчика к приводу, датчик должен быть соединен
|
|||
|
(сопряжен) с исполнительным механизмом. Чтобы соединить датчик и исполнительный механизм,
|
|||
|
необходимо использовать инструмент Sensor Connection Tool. Просто нажмите инструментом на оба блока, и
|
|||
|
датчик будет соединен с исполнительным механизмом. Об успешном подключении сигнализирует звук ping/pong.
|
|||
|
|
|||
|
Прежде чем соединить датчик с приводом, убедитесь, что привод находится в
|
|||
|
требуемом состоянии. Например: Если вы хотите запустить бота с помощью датчика, подключите
|
|||
|
датчик с блоком бота, когда бот находится в состоянии "включено". В противном случае
|
|||
|
сигнал датчика остановит Бота, вместо того чтобы запустить его.
|
|||
|
|
|||
|
[signs_bot_tool.png|image]
|
|||
|
|
|||
|
|
|||
|
## Инвентарь
|
|||
|
|
|||
|
Следующее относится ко всем командам, которые помещают предметы/элементы в инвентарь бота, например:
|
|||
|
|
|||
|
|
|||
|
- `take_item <num> <slot>`
|
|||
|
- `pickup_items <slot>`
|
|||
|
- `trash_sign <slot>`
|
|||
|
- `harvest <slot>`
|
|||
|
- `dig_front <slot> <lvl>`
|
|||
|
|
|||
|
Если в команде не был указан слот или слот 0 (случай A), то все 8 слотов инвентаря бота
|
|||
|
проверяются один за другим. Если был указан слот (случай B),
|
|||
|
проверяется только этот слот.
|
|||
|
В обоих случаях действует следующее:
|
|||
|
|
|||
|
Если слот предварительно сконфигурирован и соответствует предмету, или если слот не сконфигурирован
|
|||
|
и пуст, или только частично заполнен типом добавляемого элемента,
|
|||
|
то элемент(ы) будет(ут) добавлен(ы).
|
|||
|
Если не все предметы могут быть добавлены, то в случае A пробуются оставшиеся слоты.
|
|||
|
Все, что не удалось добавить в инвентарь, вернется обратно или будет сброшено.
|
|||
|
|
|||
|
Сказанное ниже относится ко всем командам, которые используются для взятия предметов из инвентаря бота, например:
|
|||
|
|
|||
|
- `add_item <num> <slot>`.
|
|||
|
|
|||
|
Не имеет значения, настроен слот или нет. Бот берет первый стек
|
|||
|
который он может найти в своем инвентаре, и пытается его использовать. Если указан слот,
|
|||
|
он берет только его, если слот не указан, он проверяет все слоты по очереди
|
|||
|
если слот не указан, то проверяет все слоты по очереди, начиная со слота 1, пока не найдет что-нибудь. Если найденное число
|
|||
|
меньше запрошенного, он пытается взять остаток из любого другого слота.
|
|||
|
|
|||
|
[signs_bot:box|image]
|
|||
|
|
|||
|
## Узлы / Блоки
|
|||
|
|
|||
|
### Бокс бота
|
|||
|
|
|||
|
Бокс - это корпус бота. Разместите бокс и запустите бота с помощью кнопки
|
|||
|
'On'. Если установлен мод techage, боту требуется электричество.
|
|||
|
Бот выходит из коробки с правой стороны. Он не запустится, если эта позиция заблокирована.
|
|||
|
|
|||
|
Чтобы остановить и удалить бота, нажмите кнопку "Off".
|
|||
|
Инвентарь коробки имитирует инвентарь бота.
|
|||
|
Вы не сможете получить доступ к инвентарю, если бот запущен.
|
|||
|
Бот может носить с собой до 8 стаков и 6 знаков.
|
|||
|
|
|||
|
[signs_bot:box|image]
|
|||
|
|
|||
|
### Заслонка бота
|
|||
|
|
|||
|
Заслонка - это простой блок, используемый в качестве двери для бота. Поместите заслонку в любую стену,
|
|||
|
и бот будет автоматически открывать и закрывать заслонку, проходя через нее.
|
|||
|
|
|||
|
[signs_bot:bot_flap|image]
|
|||
|
|
|||
|
### Дубликатор знаков
|
|||
|
|
|||
|
Дубликатор можно использовать для создания копий знаков:
|
|||
|
|
|||
|
1. Положите один знак 'cmnd', который будет использоваться в качестве шаблона, в инвентарь 'Template'.
|
|||
|
2. Добавьте один или несколько 'blank signs' в инвентарь 'In'.
|
|||
|
3. Возьмите копии из инвентаря 'Output'.
|
|||
|
|
|||
|
В качестве шаблона можно также использовать написанные книги [default:book_written].
|
|||
|
Уже написанные знаки тоже можно использовать в качестве входных.
|
|||
|
|
|||
|
[signs_bot:duplicator|image]
|
|||
|
|
|||
|
### Датчик ботов
|
|||
|
|
|||
|
Датчик ботов обнаруживает любого бота и посылает сигнал, если бот находится поблизости.
|
|||
|
Радиус действия датчика - один узел/метр". Направление датчика не имеет значения.
|
|||
|
|
|||
|
[signs_bot:bot_sensor|image]
|
|||
|
|
|||
|
### Датчик узла
|
|||
|
|
|||
|
Датчик узлов посылает циклические сигналы, когда обнаруживает, что узлы появились
|
|||
|
или исчезновения, но должен быть настроен соответствующим образом. Действительными узлами являются все виды
|
|||
|
блоки и растения. Радиус действия датчика - 3 узла/метра в одном направлении.
|
|||
|
У датчика есть активная сторона (красная), которая должна указывать на наблюдаемую область.
|
|||
|
|
|||
|
[signs_bot:node_sensor|image]
|
|||
|
|
|||
|
### Датчик урожая
|
|||
|
|
|||
|
Датчик сельскохозяйственных культур посылает циклические сигналы, когда, например, пшеница полностью выросла.
|
|||
|
Радиус действия датчика составляет один узел/метр. Датчик имеет активную сторону (красную), которая
|
|||
|
должна быть направлена на культуру/поле.
|
|||
|
|
|||
|
[signs_bot:crop_sensor|image]
|
|||
|
|
|||
|
### Сундук бота
|
|||
|
|
|||
|
Сундук бота - это специальный сундук с функцией датчика. Он посылает сигнал
|
|||
|
в зависимости от состояния сундука. Возможные состояния: 'empty', 'not empty', 'almost full'
|
|||
|
|
|||
|
Типичный вариант использования - выключить бота, когда сундук почти полон или пуст.
|
|||
|
|
|||
|
[signs_bot:chest|image]
|
|||
|
|
|||
|
### Таймер бота
|
|||
|
|
|||
|
Это особый вид датчиков. Может быть запрограммирован на время в секундах,
|
|||
|
например, для циклического запуска бота.
|
|||
|
|
|||
|
[signs_bot:timer|image]
|
|||
|
|
|||
|
### Блок управления ботом
|
|||
|
|
|||
|
Блок управления ботом используется для управления ботом с помощью знаков. Блок может быть
|
|||
|
загружено до 4 различных знаков и может быть запрограммировано с помощью датчиков.
|
|||
|
|
|||
|
Чтобы загрузить блок, поместите знак на красную сторону блока и нажмите на блок.
|
|||
|
Знак исчезает / перемещается в инвентарь блока.
|
|||
|
Эту операцию можно повторить 3 раза.
|
|||
|
|
|||
|
Используйте инструмент подключения, чтобы соединить до 4 датчиков с блоком управления ботом.
|
|||
|
|
|||
|
[signs_bot:changer1|image]
|
|||
|
|
|||
|
### Расширитель датчиков
|
|||
|
|
|||
|
С помощью расширителя датчиков сигналы датчиков можно передавать на несколько исполнительных механизмов.
|
|||
|
Поместите один или несколько удлинителей рядом с датчиком и соедините каждый удлинитель с одним
|
|||
|
одним исполнительным механизмом с помощью инструмента подключения.
|
|||
|
|
|||
|
[signs_bot:sensor_extender|image]
|
|||
|
|
|||
|
### Сигнал И
|
|||
|
|
|||
|
Сигнал посылается, если получены все входные сигналы.
|
|||
|
|
|||
|
[signs_bot:and1|image]
|
|||
|
|
|||
|
### Задержка сигнала
|
|||
|
|
|||
|
Сигналы пересылаются с задержкой. Последующие сигналы ставятся в очередь.
|
|||
|
Время задержки может быть настроено.
|
|||
|
|
|||
|
[signs_bot:delayer|image]
|
|||
|
|
|||
|
### Знак 'farming'
|
|||
|
|
|||
|
Используется для сбора урожая и засева поля 3x3. Поместите знак перед полем.
|
|||
|
Используемое семя должно находиться в первом слоте инвентаря бота.
|
|||
|
Когда бот закончит, он повернется и пойдет обратно.
|
|||
|
|
|||
|
[signs_bot:farming|image]
|
|||
|
|
|||
|
### Знак 'pattern'
|
|||
|
|
|||
|
Используется для создания копии куба 3x3x3. Поместите знак перед деталью
|
|||
|
который нужно скопировать. Используйте знак копирования, чтобы сделать копию этой детали на другом
|
|||
|
месте. Бот должен сначала добраться до знака детали, а затем до знака копии.
|
|||
|
|
|||
|
Используется для создания копии куба 3x3x3. Поместите щит перед блоками
|
|||
|
которые нужно скопировать. Используйте знак копирования, чтобы сделать копию этих блоков в другом
|
|||
|
месте. Сначала бот должен обработать знак "pattern", только после этого он может
|
|||
|
направить его к знаку копирования.
|
|||
|
|
|||
|
[signs_bot:pattern|image]
|
|||
|
|
|||
|
### Знак 'copy3x3x3'
|
|||
|
|
|||
|
Используется для создания копии куба 3x3x3. Поместите знак перед тем местом, где вы хотите
|
|||
|
чтобы была сделана копия. См. также знак "шаблон".
|
|||
|
|
|||
|
[signs_bot:copy3x3x3|image]
|
|||
|
|
|||
|
### Знак 'flowers'
|
|||
|
|
|||
|
Используется для срезания цветов на поле 3x3. Поместите знак перед полем.
|
|||
|
По окончании бот поворачивается.
|
|||
|
|
|||
|
[signs_bot:flowers|image]
|
|||
|
|
|||
|
### Знак 'aspen'
|
|||
|
|
|||
|
Используется для заготовки ствола осины или сосны.
|
|||
|
|
|||
|
- Поместите знак перед деревом.
|
|||
|
- Поставьте сундук справа от знака.
|
|||
|
- Положите в сундук стопку грязи (минимум 10 предметов).
|
|||
|
- Предварительно настройте слот 1 инвентаря бота на грязь
|
|||
|
- Заранее настройте слот 2 инвентаря бота с саженцами
|
|||
|
|
|||
|
[signs_bot:aspen|image]
|
|||
|
|
|||
|
### Знак 'command'
|
|||
|
|
|||
|
Знак 'command' может быть запрограммирован игроком. Поместите знак перед собой
|
|||
|
перед собой и используйте меню узла, чтобы запрограммировать последовательность команд бота.
|
|||
|
В меню есть поле для редактирования команд и страница помощи со всеми
|
|||
|
доступными командами. На странице помощи есть кнопка копирования, чтобы упростить программирование.
|
|||
|
|
|||
|
[signs_bot:sign_cmnd|image]
|
|||
|
|
|||
|
### Знак "turn right"
|
|||
|
|
|||
|
Бот поворачивает направо, когда обнаруживает перед собой этот знак.
|
|||
|
|
|||
|
[signs_bot:sign_right|image]
|
|||
|
|
|||
|
### Знак "turn left"
|
|||
|
|
|||
|
Бот поворачивает налево, когда обнаруживает этот знак перед собой.
|
|||
|
|
|||
|
[signs_bot:sign_left|image]
|
|||
|
|
|||
|
### Знак "take item"
|
|||
|
|
|||
|
Бот берет предметы из сундука перед собой, а затем поворачивается.
|
|||
|
Этот знак должен быть помещен на верхнюю часть сундука.
|
|||
|
|
|||
|
[signs_bot:sign_take|image]
|
|||
|
|
|||
|
### Знак "add item"
|
|||
|
|
|||
|
Бот кладет предметы в стоящий перед ним сундук, а затем разворачивается.
|
|||
|
Этот знак должен быть размещен поверх сундука.
|
|||
|
|
|||
|
[signs_bot:sign_add|image]
|
|||
|
|
|||
|
### Знак "stop"
|
|||
|
|
|||
|
Бот будет останавливаться перед этим знаком до тех пор, пока знак не будет убран или
|
|||
|
пока бот не будет выключен.
|
|||
|
|
|||
|
[signs_bot:sign_stop|image]
|
|||
|
|
|||
|
### Знак "add to cart" (minecart)
|
|||
|
|
|||
|
Бот кладет товары в стоящую перед ним мини-тележку, толкает тележку, а затем разворачивается
|
|||
|
разворачивается. Этот знак должен быть размещен на рельсе в конечном положении тележки.
|
|||
|
|
|||
|
[signs_bot:sign_add_cart|image]
|
|||
|
|
|||
|
### Знак "взять из тележки" (minecart)
|
|||
|
|
|||
|
Бот берет предметы из стоящей перед ним мини-тележки, толкает тележку и затем
|
|||
|
поворачивается. Этот знак должен быть размещен на рельсе в конечном положении тележки.
|
|||
|
|
|||
|
[signs_bot:sign_take_cart|image]
|
|||
|
|
|||
|
### Знак "take water" (xdecor)
|
|||
|
|
|||
|
Используется для набирания воды в ведро. Поместите знак на берегу, перед бассейном с неподвижной водой.
|
|||
|
|
|||
|
Предметы в слотах:
|
|||
|
|
|||
|
1 - пустое ведро
|
|||
|
|
|||
|
В результате в выбранном слоте инвентаря появится одно ведро с водой. По окончании,
|
|||
|
бот поворачивается.
|
|||
|
|
|||
|
[signs_bot:water|image]
|
|||
|
|
|||
|
### Знак 'cook soup' (xdecor)
|
|||
|
|
|||
|
Используется для приготовления овощного супа в котелке. Котелок должен быть пустым и находиться
|
|||
|
над легковоспламеняющимися материалами. Поместите знак перед казаном с одним полем
|
|||
|
чтобы предотвратить возгорание деревянной вывески.
|
|||
|
|
|||
|
Предметы в слотах:
|
|||
|
|
|||
|
1 - ведро с водой"
|
|||
|
2 - овощ № 1 (например, помидор)
|
|||
|
3 - овощ № 2 (например, морковь)
|
|||
|
4 - пустая миска (из модов farming или xdecor).
|
|||
|
|
|||
|
В результате в выбранном слоте инвентаря окажется одна миска с овощным супом.
|
|||
|
Закончив, бот разворачивается.
|
|||
|
|
|||
|
[signs_bot:soup|image]
|
|||
|
|
|||
|
|
|||
|
## Команды бота
|
|||
|
|
|||
|
Все команды также описаны в виде помощи в узле "Команда знака".
|
|||
|
Все блоки или знаки, которые устанавливаются, берутся из инвентаря бота.
|
|||
|
Все удаленные блоки или знаки будут добавлены обратно в инвентарь бота.
|
|||
|
'<слот>' - это всегда внутренний стек инвентаря бота (1..8).
|
|||
|
|
|||
|
move <steps> - перейти на один или несколько шагов вперед
|
|||
|
cond_move - перейти к ближайшему препятствию или знаку
|
|||
|
turn_left - повернуть налево
|
|||
|
turn_right - повернуть направо
|
|||
|
turn_around - повернуться
|
|||
|
backward - сделать шаг назад
|
|||
|
turn_off - выключить робота / вернуться в коробку
|
|||
|
pause <sec> - подождать одну или несколько секунд
|
|||
|
move_up - двигаться вверх (не более 2 раз)
|
|||
|
move_down - двигаться вниз
|
|||
|
fall_down - упасть в яму/пропасть (до 10 блоков)
|
|||
|
take_item <num> <slot> - взять один или несколько предметов из ящика
|
|||
|
add_item <num> <slot> - положить один или несколько предметов в ящик
|
|||
|
add_fuel <num> <slot> - положить топливо в печь
|
|||
|
place_front <slot> <lvl> - поместить блок перед ботом
|
|||
|
place_left <slot> <lvl> - поместить блок слева от бота
|
|||
|
place_right <slot> <lvl> - поместить блок справа от бота
|
|||
|
place_below <slot> - поднять робота и поместить блок под него
|
|||
|
place_above <slot> - установить блок над роботом
|
|||
|
dig_front <slot> <lvl> - убрать блок перед роботом
|
|||
|
dig_left <slot> <lvl> - удалить блок слева
|
|||
|
dig_right <slot> <lvl> - удалить блок справа
|
|||
|
dig_below <slot> - удалить блок под роботом
|
|||
|
dig_above <slot> - удалить блок над роботом
|
|||
|
rotate_item <lvl> <шаги> - повернуть блок перед роботом
|
|||
|
set_param2 <lvl> <param2> - установить параметр2 блока перед роботом
|
|||
|
place_sign <slot> - установить знак
|
|||
|
place_sign_behind <slot> - поставить знак позади робота
|
|||
|
dig_sign <slot> - удалить знак
|
|||
|
trash_sign <slot> - удалить знак, очистить данные и добавить в инвентарь.
|
|||
|
stop - бот остановится, пока не будет убран щит
|
|||
|
pickup_items <slot> - забрать предметы (в поле 3x3)
|
|||
|
drop_items <num> <slot> - сбросить предметы
|
|||
|
harvest - собирать урожай на поле 3x3 (фермерство)
|
|||
|
cutting - срезать цветы на поле 3x3
|
|||
|
sow_seed <слот> - увидеть/посадить поле 3x3
|
|||
|
plant_sapling <слот> - посадить саженец перед роботом
|
|||
|
pattern - сохранить свойства блока за знаком (куб 3x3x3) в качестве шаблона
|
|||
|
copy <size> - сделать копию сохраненного шаблона размером 3x3x3
|
|||
|
punch_cart - сбить тележку с шахтой
|
|||
|
add_compost <slot> - положить 2 листа в компостную бочку
|
|||
|
take_compost <slot> - взять компостный элемент из бочки
|
|||
|
print <text> - Вывести сообщение чата для отладки
|
|||
|
take_water <slot> - Взять воду из пустого ведра
|
|||
|
fill_cauldron <slot> - Наполнить котел xdecor для супа
|
|||
|
take_soup <slot> - Взять кипящий суп в пустую миску из котла
|
|||
|
flame_on - Развести огонь
|
|||
|
flame_off - Погасить огонь
|
|||
|
|
|||
|
[signs_bot_bot_inv.png|image]
|
|||
|
|
|||
|
### Techage специальные команды
|
|||
|
|
|||
|
ignite - Зажечь угольную зажигалку techage
|
|||
|
low_batt <percent> - Выключить бот, если заряд батареи ниже
|
|||
|
заданного значения в процентах (1..99)
|
|||
|
jump_low_batt <percent> <label> - Переход к <ярлыку>, если заряд батареи ниже
|
|||
|
заданного значения в процентах (1..99)
|
|||
|
(см. раздел "Команды управления потоком".)
|
|||
|
send_cmnd <receiver> <command> - Отправка команды techage на заданный узел.
|
|||
|
Получатель адресуется по номеру узла.
|
|||
|
Для команд, состоящих из двух или более слов,
|
|||
|
используйте символ '*' вместо пробелов, например:
|
|||
|
send_cmnd 3465 pull*default:dirt*2
|
|||
|
|
|||
|
[signs_bot_bot_inv.png|image]
|
|||
|
|
|||
|
### Команды управления потоком
|
|||
|
|
|||
|
-- команда перехода, <label> - слово из символов a-z или A-Z
|
|||
|
jump <label>
|
|||
|
|
|||
|
-- метка перехода / начало функции
|
|||
|
<label>:
|
|||
|
|
|||
|
-- возврат из функции
|
|||
|
return
|
|||
|
|
|||
|
-- начало блока цикла, <num> - число 1..999
|
|||
|
repeat <num>
|
|||
|
|
|||
|
-- конец блока цикла
|
|||
|
end
|
|||
|
|
|||
|
-- вызов функции (с возвратом через команду 'return')
|
|||
|
call <label>
|
|||
|
|
|||
|
|
|||
|
[signs_bot_bot_inv.png|image]
|
|||
|
|
|||
|
### Дополнительные команды перехода
|
|||
|
|
|||
|
-- Проверьте, есть ли в сундуке <num> предметов, как в узле.
|
|||
|
-- Если нет, перейдите к <метке>.
|
|||
|
-- <slot> - это слот инвентаря бота (1..8)
|
|||
|
-- укажите элемент, или 0 для любого элемента.
|
|||
|
jump_check_item <num> <slot> <label>
|
|||
|
|
|||
|
-- См. раздел "Специальные команды Techage".
|
|||
|
jump_low_batt <percent> <label>
|
|||
|
|
|||
|
|
|||
|
[signs_bot_bot_inv.png|image]
|
|||
|
|
|||
|
### Управление потоком Примеры
|
|||
|
|
|||
|
#### Пример с функцией в начале:
|
|||
|
|
|||
|
-- перейти к метке 'main'
|
|||
|
jump main
|
|||
|
|
|||
|
-- начальная точка функции с именем 'foo'
|
|||
|
foo:
|
|||
|
cmnd ...
|
|||
|
cmnd ...
|
|||
|
-- конец 'foo'. Перейти назад
|
|||
|
return
|
|||
|
|
|||
|
-- основная программа
|
|||
|
main:
|
|||
|
cmnd ...
|
|||
|
-- повторите все команды до 'end' 10 раз
|
|||
|
repeat 10
|
|||
|
cmnd ...
|
|||
|
-- вызвать подфункцию 'foo'
|
|||
|
call foo
|
|||
|
cmnd ...
|
|||
|
-- конец цикла 'repeat'
|
|||
|
end
|
|||
|
-- конец программы
|
|||
|
exit
|
|||
|
|
|||
|
|
|||
|
#### Пример с функцией в конце:
|
|||
|
|
|||
|
cmnd ...
|
|||
|
-- повторите все команды до 'end' 10 раз
|
|||
|
repeat 10
|
|||
|
cmnd ...
|
|||
|
-- вызвать подфункцию 'foo'
|
|||
|
call foo
|
|||
|
cmnd ...
|
|||
|
-- конец цикла 'repeat'
|
|||
|
end
|
|||
|
-- конец программы
|
|||
|
exit
|
|||
|
|
|||
|
-- начальная точка функции с именем'foo'
|
|||
|
foo:
|
|||
|
cmnd ...
|
|||
|
cmnd ...
|
|||
|
-- конец 'foo'. Перейти назад
|
|||
|
return
|