Подскажите, существует ли команда для бота для отмены последующего списка команд? То есть, к примеру, проверка условия, если не выполнилось-переход к следующему пункты списка команд, если выполнилось-отмена всех последующих пунктов списка команд
Подскажите, существует ли команда для бота для отмены последующего списка команд? То есть, к примеру, проверка условия, если не выполнилось-переход к следующему пункты списка команд, если выполнилось-отмена всех последующих пунктов списка команд
Не совсем отмена, но возможно будет тоже полезна. Есть такая команда Variable If Else <kuid:400260:100260>. При выполнении заложенного в ней условия бот выполняет следующую за ней команду, в противном случае пропускает следующую и переходит к выполнению второй в очереди команды (то есть через одну). Удобно использовать в связке с библиотекой очереди команд.
Последний раз редактировалось a605; 08.01.2017 в 11:51.
Вот вы говорите: «Не может быть!.. Не может быть!..»
А все-таки - было!..
...Любопытно в какую кабину переместится машинист, в двухкабином локомотиве? Надо бы пойти потестить.)))
Протестировал, установив на станции три локомотива с бригадой в одном. Команды - Ждать 5 сек -> Переместиться в локомотив №2, за тем тоже самое в №3, потом №1, и повторить. Бригада скакала по локомотивам каждые пять секунд, появляясь в той кабине, в каком было направление движения лока, то есть: чётное, нечётное, чётное.
Затем добавил, после перемещения в лок, команду на смену направления движения. В следующем круге, бригада появлялась уже в другой кабине этого лока, но опять же в той в какую было направлено движение. В принципе, можно использовать её для трафика в одном направлении.
Последний раз редактировалось Rock-sett; 08.01.2017 в 13:34.
Не совсем отмена, но возможно будет тоже полезна. Есть такая команда Variable If Else <kuid:400260:100260>. При выполнении заложенного в ней условия бот выполняет следующую за ней команду, в противном случае пропускает следующую и переходит к выполнению второй в очереди команды (то есть через одну). Удобно использовать в связке с библиотекой очереди команд.
Про неё я знаю, но она не совсем подходит. Ситуация такая, приехал бот к веерному депо и начинает искать свободное стойло, первое-занято, второе-занято, третье-свободно, повернул круг, заехал на стойло, но тут же начинает проверять свободность других стойл.
Не совсем отмена, но возможно будет тоже полезна. Есть такая команда Variable If Else <kuid:400260:100260>. При выполнении заложенного в ней условия бот выполняет следующую за ней команду, в противном случае пропускает следующую и переходит к выполнению второй в очереди команды (то есть через одну). Удобно использовать в связке с библиотекой очереди команд.
Про неё я знаю, но она не совсем подходит. Ситуация такая, приехал бот к веерному депо и начинает искать свободное стойло, первое-занято, второе-занято, третье-свободно, повернул круг, заехал на стойло, но тут же начинает проверять свободность других стойл.
К каждой проверке прикреплять библиотеку команд с задачей замена, а не конкретную команду. Как условие будет верно, все остальные команды уберутся.
Уроки по Trainz: https://www.youtube.com/c/TeamoftheTrainz
Sandrilyon, да я понял это. Но вот на примере. Х1, Х2, Х3-номера стойл депо, 0-свободно, 1-занято. В библиотеку заносим-Q1-повернуть круг на первую позицию, манёвр до стоп маркера, разворот локомотива. Таких Q тоже три для каждого стойла. Делаем список команд-проверяем Х1=0, верно-Q1, не верно-проверяем Х2=0, верно-Q2, не верно-проверяем Х3=0, верно-Q3, не верно-манёвры назад на станцию. Так вот, при проверке Х1, если оно верно-выполняется Q1, пропускается проверка Х2. Но следующая то команда Q2! И получиться, бот заедет на первое стойло, и начнёт выполнять команду для заезда на второе стойло. Вот тут и нужна команда отмены дальнейшего списка, чтобы локомотив заехал и отрубил себе дальнейшие проверки
Вот тут и нужна команда отмены дальнейшего списка, чтобы локомотив заехал и отрубил себе дальнейшие проверки
Команда "Копировать список команд из библиотеки очереди команд" имеет опции: вставить, вставить в конец, вставить с заменой. Последняя опция отменяет выполнение всех последующих после команд в списке после выполнения того списка команд, который был вставлен из библиотеки.
Последний раз редактировалось a605; 08.01.2017 в 17:07.
Вот вы говорите: «Не может быть!.. Не может быть!..»
А все-таки - было!..