системой маршрутизации zxPath это всё работать будет
Теоретически может произойти перевод стрелки под отцепом, тем более в 3.7, т.к. вагоны движутся по несобранному маршруту. По поводу самой сортировки - нечто похожее делал agmike, но в таком недоделанном и неооттестированном видео оно так и не попало в общий доступ. Есть только видео NickLona с ней - https://www.youtube.com/watch?v=dzE58I4NCug&t=349s .
И ещё по zxPath - ещё в 2010 версии делал вот такое видео на тройках команд "движение к маркеру" - "собрать маршрут туда-то" - "отцепить столько-то вагонов" - https://www.youtube.com/watch?v=4G9SQ3sCYAE . Но из-за того, что команды имеют паузы между собой + идёт ожидание сборки маршрута (кстати на горках маршруты никто не строит, там именно перевод стрелки в непосредственной близости от отцепа по мере его движения) движение получалось неравномерным. https://www.youtube.com/watch?v=oj5Bfvreh40
Сообщение от Rock-sett
И получилось что у него в группе из трёх вагонов, два с одним названием, а третий с другим, а три хвостовых безымянные пока. Потом он всё сцепляет и последним трём вагонам присваивается название PR Gen2
Но в любом случае ему приходится вручную указывать, какие вагоны на какой путь направлять, пусть и косвенно. И не важно, что делается это в виде команд при доприцепке вагонов перед роспуском или задавалось бы в списке команд (или заданий?) локомотива, осуществляющего роспуск. Всё равно это не полная автоматика - назначение вагонам указывается вручную...
Как дать понять боту, что на пути есть отцеп вагонов которые нужно забрать? Если вагоны находятся на пути. Какие нужны команды и последовательность для этого?
Как дать понять боту, что на пути есть отцеп вагонов которые нужно забрать? Если вагоны находятся на пути. Какие нужны команды и последовательность для этого?
Загоняешь бота на путь любым способом и даёшь команду на сцепку
Это если вагоны заведомо будут там. Но если их еще нет на путях то как боту проверить, прибыл состав или нет? Если прибыл то выполняется один список команд (вагоны под погрузку на предприятие), а если нет, тогда бот выполняет другую задачу. Это нужно два списка команд выполнять в зависимости от обстановки на станции. Здесь нужно какие-то переменные использовать но я не понимаю как это сделать. Какова последовательность действий и какие команды нужно задавать?
Это если вагоны заведомо будут там. Но если их еще нет на путях то как боту проверить, прибыл состав или нет? Если прибыл то выполняется один список команд (вагоны под погрузку на предприятие), а если нет, тогда бот выполняет другую задачу. Это нужно два списка команд выполнять в зависимости от обстановки на станции. Здесь нужно какие-то переменные использовать но я не понимаю как это сделать. Какова последовательность действий и какие команды нужно задавать?
Для работы с переменными используются следующие команды:
- Variable Setup - в редакторе создаёт переменные и присваивает им стартовое значение
- Variable Check Rev.1 - проверяет значение переменной, запускает на выполнение дочерние команды, если значение переменной соответствует условиям
- Variable Modify - изменяет значение переменной
Ещё есть несколько, но основные эти. Если у вас их нет, напишите в личку, скину, хотя скорее всего они DLS-ные.
Алгоритм такой: Создаём в сессии переменную скажем сheck, и задаём ей стартовое значение 0. Состав прибывая наезжает на триггер, выполняется правило Variable Modify, увеличивая значение check на 1. Бот подъезжая к станции по наезду на триггер активирует два правила Variable Check Rev.1, одно из которых выполняет дочерние правила если check больше 0, другое если check по прежнему 0 (значит состав не приехал), ну и в дочерних правилах у них Driver Shedule Rule, которое задаёт боту соответствующие команды. Дочерние к Variable Check Rev.1 > 0 - список команд боту в случае если состав приехал, Variable Check Rev.1 < 0 - если состав не приехал.
Можно конечно придумать что-нибудь без переменных. Например засунуть правило проверки наезда на триггер бота при подъезде к станции, под правило проверки триггера, на который наезжает прибывший состав. Тогда, если состав прибыл, список команд у машиниста будет меняться при подъезде к станции, если не прибыл состав, то бот поедет дальше с теми командами, которые у него и были при подъезде к станции.
Сами решайте, какой способ вам удобнее. Если школьный курс информатики, помимо Сапёра и Косынки, включал ещё хотя бы Basic, тогда работать с переменными будет логичнее.
Последний раз редактировалось Volaner; 23.03.2018 в 00:00.
Можно конечно придумать что-нибудь без переменных.
Сами решайте, какой способ вам удобнее. Если школьный курс информатики, помимо Сапёра и Косынки, включал ещё хотя бы Basic, тогда работать с переменными будет логичнее.
Честно говоря ищу самый простой вариант этих действий. Хорошо, что хоть есть много вариантов, буду пробовать.
А Эрендировский БОК тут не подойдёт? Он же, вроде, для этого и создавался.
Я его использую, но наверняка не полностью разобрался в возможностях. А примера подобного который мне нужен нет, чтобы взглянуть.
Возник такой вопрос. Каким образом можно заставить двигаться встречный поезд в нужное время? Настройка "ждать" не пойдёт. Т.к. не всегда можно расчитать время... Слышал можно это сделать через триггер... Если такое возможно - как?
Каким образом можно заставить двигаться встречный поезд в нужное время? Настройка "ждать" не пойдёт
Правило Wait game time из пакета "Ботомашинист". Есть подправленная версия - https://yadi.sk/d/8rjVul3cjZJVg - которая будет прощать "опоздание поезда не более 1 часа", а не ждать ещё 24 часа при любом опоздании, как оригинальная.
Слышал можно это сделать через триггер... Если такое возможно - как?
В нужном месте устанавливаешь триггер и ожидающего бота, он стоит с командой WaitForTrigger,<kuid2:57344:80001:5>, ну а дальше остальные команды которые он должен выполнить после срабатывания команды ожидания наезда на триггер. В этой команде указываешь какой триггер и выбрать кто его должен проехать. После проезда указанного в команде триггера выбранным ПС, у ожидающего бота выполняется команда ожидания и он начинает выполнять последующие команды.