Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
![]() |
|
Сайт | ПРАВИЛА ФОРУМА | FAQ | Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
|
![]() |
#1 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Нет, уж, спасибо. Предпочитаю роль "зрителя"
![]() Что-то, я тупил последние пару дней, пытаясь получить это несчастное маневровое показание через какую-то страшную ...опу - через два оппозита. Типа, маневровый "смотрит" назад, на первый проходной, тот, в свою очередь - на входной. И этот, второй оппозит не срабатывал, естественно, потому что проходной-то - !enabled! Правильная мысль всегда приходит последней. Думаю, достаточно будет "ловить" маневровым только первый проходной обратного направления. Логика такая: проходным через функцию block_state () о работе которой я писал раннее, можно "поймать" направление движения сервиса "к входному" . Потому что, на втором от станции блок-участке в сторону станции сервис может быть только в поездном режиме. В этот момент маневровый уже должен быть enabled . Совокупность этих двух условий будет запоминать на маневровом поездной режим. При поездном режиме маневровый дублирует аспекты маркера РЦ, а тот - выходного, а если тот 0, даёт 1 со скоростью, соответственно пути приема (60, 40, 25 и т.д). Аспекты я решил не менять - оно и так работает прекрасно. Есть, как я писал, пара "штрихов", которые я исправляю. Дело в том, что если путь приёма занят, сегодня у меня на маневровом горит белый на аспекте 2, а входной при таком раскладе запрограммирован давать 0 на следующий 2. В поездном режиме я оставлю маневровый 2, но показание дам - синий. Второй момент - в обоих режимах на свободный путь станции при выходном 0, маневровый даёт 1, и синий, при манёврах я смогу при том же 1, дать ему белое показание. Reset "механизма": Проходной "обнуляется" когда он !enabled и блок за ним не занят вообще, а маневровый - когда он !enabled (голова проследовала его). Через пару часов будет возможность протестировать это. Будет работать - можно будет поиграться с условиями сброса маневрового, чтобы не менялся с белого на синий сразу после проследования головы. Кроме возвращения с сейва, издержкой такого подхода может быть то, что чертов Open Rails учитывает длину поезда при прокладке маршрутов (мануал симулятора). У меня на тестовой ветке ЧМушки, и он спокойно может пустить лок до входного, когда маневровый лок выезжает со станции и становится на отрезке между входным и маневровым сигналами. Но, тут уже буду думать потом: стоит ли блокировать весь перегон. Ситуация редкая, хотя, если честно, в реале (по крайней мере - у нас, в Израиле, чтобы манёвры отправились на перегон, направление на пульте должно быть "от станции" и никаких встречных не может быть по определению. Последний раз редактировалось vicente; 02.05.2020 в 12:17. |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#2 | |||
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]() Цитата:
![]() Цитата:
Цитата:
Последний раз редактировалось КЕ; 02.05.2020 в 13:00. |
|||
![]() |
![]() |
![]() |
#3 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Если блок свободен:
На следующий 0 даёт 1; Остальные аспекты дублирует. Если блок занят (JN_OBSTRUCTED) - 0; Если блок занят (OCCURRED): Выходной открыт любым показанием - 0; Выходной закрыт - 2; Вроде, всё назвал. С телефона сейчас. Да. Нужно различать между сервисом, следующим с перегона на станцию по 1 и тем, что выезжает маневровым порядком и возвращается на свободный путь со следующим 0 по тому же 1. |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#4 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Логика маневрового:
Если блок не свободен, - аспект 0; В остальных случаях при свободном блоке - дублирование аспекта маркера РЦ. Также учитываются линки. Я выше выкладывал его полный скрипт. Входной сигнал: Если блок не свободен, а также если блок свободен, но следующий (маневровый) - 0 или 2 - аспект 0; В остальных случаях - логика исходит из следующего сигнала. Если маневровый 1, входной будет 3 или 4 исходя из линка, далее при аспектах выше 2 маневровый дублирует выходной, так что там - обычная конвенциональная логика. Добавлено через 1 час 8 минут Такая логика маневрового позволяет ставить их несколько один за другим. Также у меня есть маневровые с логикой как в маркере РЦ как самостоятельного сигнала - вначале именно такие стояли на маршруте, а маркеров не было, пока, как я уже говорил, разработчик сигнализации Open Rails не "ослепил" сигналы, ограждающие точки. Маршрут огромный, так что, где-то они у меня ещё валяются на каких-то станциях. Там ставил оба типа маневровых. Последним был тот,,который с логикой маркера, остальные - те, что я описал. Также есть станции "классические" - входной и выходной. Там другие светофоры, почти не отличающиеся от оригинала от Timas. SNCA маневрового и РЦ в Open Rails - "-1". Это позволяет не завышать параметр у остальных светофоров. В MSTS эта логика тоже работает. Но, там, как известно, SNCA берется самый высокий в конфигурации. У меня в MSTS-овском варианте стоит "7", но это зависит от маршрута. В смысле, сколько маневровых на больших станциях стоят один за другим, а также - от устройства станций с маневровыми и маршрутными светофорами. |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#5 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
А этот маркер не мешает локомотивной сигнализации?
|
![]() |
![]() |
![]() |
#6 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Нет. Он же дублирует выходной. На 2D кабинах я "подправил" себе АЛСН под Open Rails - на 0 у меня КЖ, на 1 - тоже. Остальные аспекты дублируются, так что, всё оk. Даже какую-то трёхмерную кабину так переделал "методом тыка"... или две. Не помню уже. ЭРка, вроде, какая-то и ЧС4т от Spiritа. Давно не гоняю уже. Тупо любуюсь сценарием, лично не участвуя в нём.
![]() |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#7 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
О, не видел такие кабины... Рулил только в трехмерной для 2ТЭ10М.
Где их скачать? |
![]() |
![]() |
![]() |
#8 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Я не помню уже. Давно это было. Но, руками точно ковырялся. Возможно, прикручивал РТС-овские кабины. Не помню, честно. Сейчас не до кабин.
|
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#9 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
РТС-ную можно, да только ничего там работать не будет, поедем по монитору пути. ))
|
![]() |
![]() |
![]() |
#10 | |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#11 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Не когда STOP, a когда он !enabled. Не определяет route_set (). И состояние блока - возвращает всегда BLOCK_JN_OBSTRUCTED. Насчет сигналов - надо потестить. Я не использую это
Добавлено через 11 минут В смысле, нет такой ситуации, когда мне маневровым !enabled нужно знать состояние следующего сигнала. Добавлено через 37 минут Тем более, в Open Rails, где enabled () работает отлично от MSTS |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#12 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Эх, где бы я ещё так славно, долго, а главное - качественно потрахался, как не с сигналкой в симуляторе!
Короче, долбился я, долбился с этим маневровым показанием - со временем даже то, что, вроде, работало из функций, начало "глючить". Маневровый перестал "видеть" оппозит и т.п. Думаю, я "нагромоздил" там условий и есть какие-то взаимоисключающие. В общем, переписываю "с нуля" скрипт проходного. ![]() Добавлено через 2 минуты Дал ему if (block_state ==# BLOCK_JN_OBSTRUCTED... А ниже: if (block_state !=# BLOCK_CLEAR... И он первое не выполняет |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#13 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
То есть даже без else перед if (block_state !=# BLOCK_CLEAR... не проверяет?
|
![]() |
![]() |
![]() |
#14 | |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Да, там сам черт ногу сломит - разбираться почему не сработало. У меня первый проходной (ну, в смысле, вообще все проходные) - довольно ёмкий сигнал. Первым проходным он становится через флаг. Если этот флаг включен и светофор !enabled - он 1 (на однопутках первый проходной - 2 - не суть - на оба этих аспекта выходные были запрограммированы давать маневровый сигнал (сейчас я изменил условие с новой функцией - я показывал). Ну, и под этим - целый блок с показаниями при аспекте 1, согласно занятости перегона. Плюс учтена возможность давать ЖМ и ЗМ, потому что первый проходной может быть и предвходным одновременно.
Затем идёт блок для обычного движения, когда светофор enabled. Но само условие enabled я, в своё время, не вписывал - не нужно было. И весь блок идёт просто под else if (.... Подозреваю, что этот store_lvar не в любое место скрипта можно запихнуть. Ну, и условия эти... if (block_state ==# BLOCK_JN_OBSTRUCTED... стоит в первом блоке, под !enabled, a if (block_state !=# BLOCK_CLEAR... - в блоке под else if (... Может, в этом проблема, я хз. Так как скрипт всё равно переписывать, копать дальше не вижу смысла Добавлено через 1 час 4 минуты Упс... прошу прощения. Там было не else if (..., a просто else (..., a уже внутри, отдельно , было if (... Короче, многоэтажка, родившаяся в тестах и не приведенная в "товарный вид" потому что... ну, работало и так... ![]() Добавлено через 4 минуты Потихоньку начинаю стороить проходной. Вот "тело": Цитата:
Скрипт полностью рабочий. Забирай ![]() Добавлено через 2 минуты Пока оставлю его так. Пойду к маневровому, "ловить" этот самый direction ![]() |
|
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#15 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
Думаю все-таки точнее потестить с нулевыми стрелками границы станции
Нет, не буду, это только путаницу создаст в горловине...
__________________
next_state == 7; Последний раз редактировалось КЕ; 04.05.2020 в 16:49. |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрипты Вл | ~sejo~ | TrainZ - Подвижной состав | 2 | 25.09.2010 18:11 |
Как эта конфигурация ? | vita | IT, компьютеры, электроника | 9 | 02.06.2009 00:26 |
Заказы на скрипты | TRam_ | TrainZ — Об игре | 5 | 03.04.2009 16:25 |
MSTS-конфигурация компьютера | GeneZone | MSTS - Об игре | 6 | 03.03.2008 21:03 |
Trainz 2006 SP1 Конфигурация PC | vita | TrainZ — Об игре | 18 | 11.02.2008 00:11 |
|
![]() Что это? |