1. Игрок садится на поезд на карте A.
2. Загружается карта B
3. Поезд едет по карте B
4. Поезд останавливается и снова загружается карта A, но игрок уже находится в другой её части.
5. Игрок делает что-то хорошее в этой части карты A и возвращается к поезду.
6. Загружается карта B
7. Поезд едет в обратном направлении
Так как с обратным направлением в HL беда (можно задать отрицательную скорость, однако при вызове поезда он всё равно до следующего path_track'а будет ехать в соответствии со знаком своей собственной скорости (плюс - вперед, минус - назад), я решил схитрить и заменить поезд на другой, с соответствующим направлением, пока игрок делает "что-то хорошее" в пункте 5. Т.е. по возвращении всё выглядит так, будто ничего и не изменилось.
Но появляется совсем непонятная проблема - в одном из двух случаев первый поезд не желает уезжать с глаз долой в своём направлении и выбирает path_track второго; второй же наоборот предпочитает развернуться и пойти по пути, предназначенном для первого. path_track'и я не раз проверял - эти два пути никак не пересекаются.
По ссылкам две карты, показывающие мой план. Для проверки нужно загрузить train_test_a и сесть в ближний поезд, проехаться так через карту B вновь на карту A и там нажать кнопку. Снова сесть на поезд (уже второй). Перед нажатием кнопки лучше сохраниться, так как глюк появляется не всегда - иногда поезда всё-таки едут в правильных направлениях.
Второй поезд обычно едет в неверном направлении, когда игрок стоит в определенном месте - где-то около места для инвалидов.
Решил пойти другим путем. Теперь использую один поезд и развилку. На одной карте всё нормально, но при разделении на две возникает проблема - поезд не понимает развилку.
Сейчас обнаружил, что поезд на второй карте не циклится, а совершает лишь по одному проходу туда-обратно, и затем идет по развилке, как полагается. Пока не понял, почему.
Отключил smart edit и прописал глобальные имена каждому path_track'у - не помогло.
Кажется, я понял в чем проблема - поезд идет на развилку лишь после того, как пересекает path_track с альтернативным путем (Хотя на карте train_track_ работает нормально). Пока не знаю, как исправить в данном случае.
Вернулся к проблеме, боролся, боролся и кое-что понял. Почему-то после повторной активации поезд первым делом возвращается на точку p0. Сначала думал, что это из-за того, что p0 прописана у поезда в First Stop Target. Сделал другой First Stop Target - безрезультатно, поезд упорно едет в p0. Сделал промежуточный path_track между p1 и p0 - поезд всё равно сначала едет в p0, затем возвращается назад до точки с развилкой и едет как надо. В чем магия?
Перезалил train_test и train_test_2. По тем же ссылкам.