Представляю Вам настройки команду Moveturntable, команды, предназначенной для поворота поворотного круга в депо ботом, без участия игрока. Вот сама команда http://rusfolder.com/39244372. Помимо этого нужно правило "InputTable", которое в Trainz 2012 уже встроено в дефолт.
Устанавливаем на карту веерное депо с дефолтным названием Turntable 0
В сессию добавляем правило InputTable
После открываем на редактирование правило InputTable
Нажимаем на "add"
В появившемся окне вводим "turntable(не меняем), имя поворотного круга, число позиций поворота"
Теперь рассмотрим указанные пункты. Имя поворотного круга-вроде бы всё просто, но при добавлении круга на карту в названии между именем и цифрой много пробелов, поэтому рекомендую скопировать имя поворотного круга и вставить в это окно.
Число позиций поворота-число остановок круга и точки остановки круга, на которых бот будет его останавливать. На данном круге. На данном круге 7 стойл в веерном депо. В добавок, оставляем одну позицию под разворот на 180 градусов. Поэтому в InputTable и написали число позиций 8.
Углы поворота берутся из config поворотного круга, из строчки angle
Причём, если мы указали 8 позиций, то будут браться только первые 8 значений abgle (7 позиций стойл, поворот на 180 гр. - 0+180). Остальные значения angle в расчёт командой не берутся при постановки круга на определённую позицию.
В список команд добавляем команду MoveTurntable
Заходим в Drivesetup и видим у нашего машиниста команду MoveTurntable
Рассмотрим пункты stop name 0-7 - точки, на которые можно поставить круг минуя промежуточные (без остановки). next, prev - равносильно повороту круга игроком, по каждой точке, указанной в angle.
В принципе - всё. Будут вопросы - задавайте. Надеюсь кому-то помогло.
Serega_82(TCH39), сохранения сессии работают? Бот за собой после проезда может перевести круг в положение "по умолчанию"? Чтоб следующий бот знал, с какого положения поворачивать.
Чуть-чуть не понял, а что именно такого в сохранённых сессиях?
Сообщение от Kompozitor
Бот за собой после проезда может перевести круг в положение "по умолчанию"? Чтоб следующий бот знал, с какого положения поворачивать.
А зачем? Задавать команду каждому боту круг в положение 0, и он будет крутить его, а если круг и правда в положении 0, команда уходит как выполненная. Причём команда не знает, что такое положение круга по-умолчанию.
Доброй ночи,помогите разобраться с ошибкой,бот упорно не хочет вращаться. Постоянно такая ошибка Train : Thread Exception: ER_NullReference, line 32, file moveturntableschedulecommand.gs (1) Trainz 12 (build 61388).
Это действительно удобный и красивый способ повернуть круг сразу на нужную позицию без остановок по одной, ну и в случае, если положение локомотива совпадает с положением красных стрелок и вместо них выбирается локомотив, командой проще.
Но есть один нюанс - не все круги в игре имеют точки по всему кругу, чтоб к ним можно было присоединить невидимые рельсы. Просто бывает нужно длинному локомотиву подъехать буквально на край поворотной платформы, а пот управлением бота любыми командами локомотив останавливается в 5 метрах от окончания рельсов. Даже если поставить на край платформы два сигнала, и у желтого останавливается за 5 метров. Есть разные команды, которые позволяют двигать локомотив определённое время (Just Drive), предварительно выбрав максимальную скорость и ускорение отдельными командами. Но это лишние нагромождения и для разных локомотивов по-разному работает.