![]() |
![]() |
![]() |
#721 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]() |
![]() |
![]() |
![]() |
|
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
![]() |
![]() |
#722 | |
Новичок
Регистрация: 25.06.2017
Сообщений: 114
Вы сказали Спасибо: 35
Поблагодарили 71 раз(а) в 34 сообщениях
![]() |
![]() Цитата:
Я тут поборол сигналку на БМО 1.8. Покопав далее скрипт distance входных сигналов заметил такое: Код:
if ( sig_feature( SIGFEAT_GRADIENT_PLATE ) && !sig_feature( SIGFEAT_NUMBER_PLATE ) ) { WORK1 = opp_sig_mr ( SIGFN_NORMAL ); if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { opp_ONE_WAY = 1; } WORK1 = opp_sig_lr ( SIGFN_DISTANCE ); if ( WORK1 ==# SIGASP_RESTRICTING ) { opp_POEZD = 2; } if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { opp_POEZD = 1; } } if ( sig_feature( SIGFEAT_GRADIENT_PLATE ) && !sig_feature( SIGFEAT_NUMBER_PLATE ) ) { if ( ( block_state() ==# BLOCK_OCCUPIED || POEZD !=# 0 ) && opp_POEZD !=# 1 ) { state = SIGASP_STOP_AND_PROCEED; } if ( opp_ONE_WAY ==# 1 || opp_POEZD ==# 2 ) { state = SIGASP_STOP_AND_PROCEED; } } Глянул код голов normal у проходных, нашел это: Код:
state = SIGASP_STOP; if ( sig_feature( SIGFEAT_NUMBER_PLATE ) && POEZD !=# 1 ) { if ( block_state() !=# BLOCK_CLEAR || POEZD ==# 2 || ONE_WAY ==# 1 ) { state = SIGASP_STOP_AND_PROCEED; } } А выше это в коде: Код:
WORK1 = next_sig_mr ( SIGFN_NORMAL ); if ( WORK1 ==# SIGASP_STOP_AND_PROCEED ) { ONE_WAY = 1; } Направление перегона переключается не в Иванцево, а в Драчеево, то есть с другого конца, по редактору видно, что enable не дотягивает до входного, его скрипт не срабатывает. Попробовал увеличить вAPK_3AB_YGR_YW_DISTANCE параметр SignalNumClearAhead до 15. Теперь работает на тестовой сцене. |
|
![]() |
![]() |
![]() |
#723 | |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Нет. Исходный код меняют разрабы. Есть там определённая процедура изменения кода. "Открытость" состоит в том, что любой желающий может предложить изменения в коде, а команда вносит эти изменения в тестовые версии по своему усмотрению. Русификацию, например, делает твой "визави" на форуме Игоря... ну, тот, что в беседу тебя внёс на elvastower.com , ссылку на которую ты мне кинул
![]() Речь идёт о замене sigscr.dat на программу на С#. Кстати, молодёжь, кто знает Шарп? Я вообще в нем ни бум-бум! ![]() Может кто-нибудь набрость какой-нибудь скрипт сигнальной головы? Я имею в виду перевод из этого недо-С в С#... Я бы глянул и смекнул: что к чему. Потому что самоучитель я ниасиливаю (стар?), да и времени, если честно - совсем на него нет. Туплю на азах, в общем. Форма скрипта в с# такова: Цитата:
|
|
![]() |
![]() |
![]() |
#724 |
Новичок
Регистрация: 25.06.2017
Сообщений: 114
Вы сказали Спасибо: 35
Поблагодарили 71 раз(а) в 34 сообщениях
![]() |
![]()
Да проблема не в языке, а в самом проекте, нужно ведь изучить сорцы OR, прочитать даташиты по их функционалу, что и как подавать в эти переопределяющие методы ovveride. Сам язык понять можно быстро по ютуб урокам.
Судя по всему вся логика в Update. А вот HandleSignalMessage это что не очень понял, то ли для отладки, то ли обмен инфой между сигналами. Последний раз редактировалось roman5; 25.09.2021 в 14:02. |
![]() |
![]() |
Этот пользователь сказал Спасибо roman5 за это полезное сообщение: |
![]() |
#725 | |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Рома, я писал, что не вижу по Иванцево буфера изменения направления. Головы входного "хватают" STOP_AND_PROCEED с выходного и соответственно - противоположное направление. А как в Драчеево это переключается? Там стоит дополнительный служебный маркер?
И, это... спасибо за проделанную работу. Дотошный ![]() Добавлено через 4 минуты Источник скачивается на сайте. Если понимаешь язык, можешь разобраться не только с сигналкой, но и с другими интересующими вещами в соответствующих cs файлах. Меня интересует пока только синтаксис Добавлено через 11 минут Цитата:
|
|
![]() |
![]() |
![]() |
#726 | |
Новичок
Регистрация: 25.06.2017
Сообщений: 114
Вы сказали Спасибо: 35
Поблагодарили 71 раз(а) в 34 сообщениях
![]() |
![]() Цитата:
Код:
if ( ( block_state() ==# BLOCK_OCCUPIED || POEZD !=# 0 ) && opp_POEZD !=# 1 ) { state = SIGASP_STOP_AND_PROCEED; } if ( opp_ONE_WAY ==# 1 || opp_POEZD ==# 2 ) { state = SIGASP_STOP_AND_PROCEED; } 1. Поезд еще на станции POEZD=2 - попадаем в первый if, потом выезжаем за маркер, тут по block_state() начинает sap удерживаться. 2. На Драчеево стоит маркер около входного встречный. 3. Когда заезжаем за входной, на встречном проходном скрипт делает на normal голове аспект sap, благодаря этому теперь opp_ONE_WAY=1 помогает держать перегон. В тех случаях, где входной и встречный проходной не рядом стоят, то за счет встречного маркера у входного делается opp_POEZD=2 - состояние res встречного маркера. Таким образом, opp_ONE_WAY помогает держать sap на перегоне, если туда заедут по удалению не сколько поездов, переменная будет скинута, как только последний поезд заедет за входной станции прибытия. Добавлено через 14 минут Немножко скринов еще сделал. Скрытый текст:
На 1-2 скринах: никого нет, сигналка в обе стороны включена. На 3: трафик появился, белый на маркере, sap подхватился. На 4-5 выезд со станции. Переключение маркера на clear2 - перегон свободен за ним. На 6-7: проходной изначально stop normal, по проезду на sap перешел. |
|
![]() |
![]() |
Этот пользователь сказал Спасибо roman5 за это полезное сообщение: |
![]() |
#727 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
У всех скрины открываются? А то у меня - нет.
__________________
next_state == 7; |
![]() |
![]() |
![]() |
#728 |
Опытный
Регистрация: 01.10.2012
Сообщений: 293
Вы сказали Спасибо: 79
Поблагодарили 109 раз(а) в 47 сообщениях
![]() |
![]() |
![]() |
![]() |
![]() |
#729 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
Ром, скрины проверь - не открываются!
Добавлено через 1 час 3 минуты Сюда бы еще Рому RWM, он тоже вроде программер. Жаль, давно пропал с форумов...
__________________
next_state == 7; |
![]() |
![]() |
![]() |
#730 |
Опытный
Регистрация: 01.10.2012
Сообщений: 293
Вы сказали Спасибо: 79
Поблагодарили 109 раз(а) в 47 сообщениях
![]() |
![]()
Ребята, а есть ли способ решения задачи, при которой бы сервис игрока или трафика, смог бы выехать за сигнал светофора, после чего сделав реверс в сторону этого же светофора, уже по заранее проложенному пути? Насколько мне известно, это невозможно, так как на светофоре горит красный и как только проезжаешь его, игра заканчивается.
|
![]() |
![]() |
![]() |
#731 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
В MSTS - разгонись, потом КМ в ноль, и реверс назад. Проедешь закрытый сигнал без разбора у начальника депо!
![]()
__________________
next_state == 7; |
![]() |
![]() |
![]() |
#732 |
Опытный
Регистрация: 01.10.2012
Сообщений: 293
Вы сказали Спасибо: 79
Поблагодарили 109 раз(а) в 47 сообщениях
![]() |
![]()
А как трафик в этом случае поведёт себя?
![]() |
![]() |
![]() |
![]() |
#733 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
Встанет у красного, разумеется.
__________________
next_state == 7; Последний раз редактировалось КЕ; 26.09.2021 в 01:23. |
![]() |
![]() |
![]() |
#734 |
Новичок
Регистрация: 25.06.2017
Сообщений: 114
Вы сказали Спасибо: 35
Поблагодарили 71 раз(а) в 34 сообщениях
![]() |
![]() |
![]() |
![]() |
![]() |
#735 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Именно
"Как молоды мы были, как молоды мы были..." Именно так эта функция описана кужувцами в Документации по сигнализациям MSTS . Не я один "сел в лужу" с оппозитами, надо сказать в своё оправдание. Вполне себе уважаемые Буржуи в отношении сигнализаций, тоже не вкуривали этот вопрос, пока знающие люди не разъяснили. На данный момент, совершенно очевидно: как работают функции с префиксом opp_ |
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Скрипты Вл | ~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 |
|
![]() Что это? |