Форум Trainsim  

Вернуться   Форум Trainsim > Auran TrainZ > TrainZ - Маршруты и сценарии

 
 
Опции темы Опции просмотра
Старый 28.08.2009, 13:08   #1
NickLon
Матёрый пользователь
 
Регистрация: 27.03.2008
Адрес: Мск
Сообщений: 603
Вы сказали Спасибо: 9
Поблагодарили 7 раз(а) в 6 сообщениях
NickLon стоит на развилке (репутация по умолчанию)
Отправить сообщение для NickLon с помощью ICQ
По умолчанию Выстраивание правил в настройках сессии. Косяк не детский!

Всем привет!.. Долго думал, как объяснить мою ситуацию и подумал, что лучшим способом будет нарисовать блок схему здесь. Итак, это в настройках сессии, правила. Используется правило ChekTrackside. Страбатыват по триггерам. (для наглядности в одну ступень ставлю две точки; в ТРС - одна ступень). Четное направление.
CheckTrackside Trigger1;
..CheckTrackside Trigger2;
....Var1 = Var1+1;
// до сей поры фиксируется факт для возможного встречного, что перегон занят
CheckTrackside Trigger3;
..CheckTrackside Trigger4;
....Var1 = Var1-1;
//здесь, перед тем, как поезду зайти на станцию прибытия, освобождается перегон
....If Var2 > 0 Then
......сборка прибытия на один из боковых;
....If Var2 = 0 Then
......сборка прибытия на любой, включая главный первым;
//Var2 - это переменная встречной, нечетной схемы.
Так вот, поезд выходит со станции1 на станцию2 в четном направлении, Четный поезд. Проходит Trigger1 и Trigger2, срабатывает правило и переменная Var1 принимает значение 1. Потом он проходит перед станцией2 Trigger3 и Trigger4, срабатывает правило и переменная Var1 принимает значение 0.
В то время, когда он вышел со станции1, со станции3 на станцию2 в нечетном направлении тоже вышел поезд, Нечетный. Нечетный позже прибывает на станцию, следовательно Четный заходит на боковой и ждёт проследования по главному Нечетного.
Нечетный проходит станцию, дальше начинает в обратном порядке проходить четные триггеры. Правила не должны срабатывать и переменная Var1 не должна меняться. В первом случае, когда Нечетный проходит сначала Trigger4 потом Trigger3 переменная Var1 не меняется. А вот во втором случае, когда он проходит сначала Trigger2, а потом Trigger3 переменная Var1... увеличивается на 1.
Более того, уже как и на что я эту схему не тестировал и выяснил, что увеличение переменной Var1, когда это делать не надо, происходит в момент, когда поезд проезжает Trigger2! И ещё более того, в процессе теста, я сделал такую конструкцию:
CheckTrackside Trigger1;
..Тест = Тест + 1;
..CheckTrackside Trigger2;
....Var1 = Var1+1;
....Тест1 = Тест1 + 1;
Все переменные увеличиваются на 1 после проследования Нечетным поездом Trigger2! Во кино!!! Повторяю, Нечетный сначала наезжает на Trigger2? а потом на Trigger1!
Всё бы ничего, если бы и на уменьшение была бы такая же картина, я бы плюнул и подумал бы, что такая конструкция в TRS2006 не работает в принципе, или я сам накосячил. Так нет же! Там работает как надо, а тут горбатого лепит к стенке.
Мож кто-нить чё подскажет, а?
NickLon вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:01. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?