Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
![]() |
![]() |
#391 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
Сигнализация комп не грузит, на ФПС (есди говорим про это) никак не повлияет.
А какая лучше - это смотря что именно лучше? Простота установки, или количество моделей, или работа в разных трех симуляторах... Что именно нужно в первую очередь?
__________________
next_state == 7; |
![]() |
![]() |
![]() |
|
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
![]() |
![]() |
#392 | |
Пользователь
Регистрация: 24.09.2016
Адрес: ДОН ЖД 1015 км
Сообщений: 41
Вы сказали Спасибо: 95
Поблагодарили 10 раз(а) в 6 сообщениях
![]() |
![]() Цитата:
__________________
БЕЛЫЙ и пушистый |
|
![]() |
![]() |
![]() |
#393 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
Много разных в сигнализации АРК.
__________________
next_state == 7; |
![]() |
![]() |
![]() |
#394 |
Пользователь
Регистрация: 24.09.2016
Адрес: ДОН ЖД 1015 км
Сообщений: 41
Вы сказали Спасибо: 95
Поблагодарили 10 раз(а) в 6 сообщениях
![]() |
![]()
Надо посмотреть
__________________
БЕЛЫЙ и пушистый |
![]() |
![]() |
![]() |
#395 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Опомнился и вспомнил об ApproachControlSettings , для того, чтобы реализовать обгоны скриптом светофора (точки ожидания перестали удовлетворять), и вот очередной сюрприз: в версии х3725 оно уже не фурычит. Светофор действительно закрыт, но когда трафик проследует предыдущий светофор, он открывается вне зависимости от значения "position".
|
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#396 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Разобрался. Если стартовать за SignalNumClearAhead, работает задержка в открытии сигнала. Сигнал при этом ничего не блокирует, маршрут сервису готовится, как будто сигнал открыт, просто открытие происходит на расстоянии position и на скорости speed
|
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#397 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 35
Вы сказали Спасибо: 51
Поблагодарили 7 раз(а) в 6 сообщениях
![]() |
![]()
Прошу Вашей помощи в скрипте. При прописании строчки:
if (enabled) { if (route_set()) { Что бы потушить светофоры встречного направления на однопутном участке, светофор перестал сигнализировать сигналом "один жёлтый мигающий" при открытом входном светофоре, сигнализирующим "два жёлтых огня" или "два жёлтых огня, из них один верхний мигающий" в этом случае предвходная точка сигнализирует "один зелёный огонь". При всех остальных сигналах входного светофора сигнализирует правильно. Вот сам скрипт: SCRIPT T_Head_YGR extern float block_state (); extern float route_set (); extern float next_sig_lr (); extern float next_sig_mr (); extern float def_draw_state (); extern float state; extern float draw_state; extern float enabled; extern float sig_feature (); float next_state; if (enabled) { if (route_set()) { state = SIGASP_STOP_AND_PROCEED; if ((enabled || !sig_feature (SIGFEAT_USER1)) && (block_state() ==# BLOCK_CLEAR)) { next_state = next_sig_lr (SIGFN_NORMAL); if ((next_state ==# SIGASP_STOP) || ((next_sig_mr (SIGFN_NORMAL) ==# SIGASP_STOP_AND_PROCEED) && (next_state ==# SIGASP_RESTRICTING))) { state = SIGASP_RESTRICTING; } else if ((next_state ==# SIGASP_STOP_AND_PROCEED) || (next_state ==# SIGASP_RESTRICTING)) { state = SIGASP_APPROACH_1; } else { state = SIGASP_CLEAR_2; } } draw_state = def_draw_state (state); if (state ==# SIGASP_CLEAR_2) { if (next_state ==# SIGASP_APPROACH_2) { draw_state = 4; } else if ((next_state ==# SIGASP_APPROACH_3) || (next_state ==# SIGASP_CLEAR_1)) { draw_state = 5; } } } else { state = SIGASP_STOP; if (block_state() ==# BLOCK_JN_OBSTRUCTED) { state = SIGASP_STOP_AND_PROCEED; } } } else state = SIGASP_STOP; draw_state = def_draw_state (state); |
![]() |
![]() |
Этот пользователь сказал Спасибо Forsayth за это полезное сообщение: |
![]() |
#398 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
То есть (route_set()) - чтоб гасить встречные огни?? Это же для линковки по стрелкам для "головы" входного/выходного сигнала из нескольких субобъектов.
Проходные светофоры встречного направления гасятся через (!enabled). Огни Жм, Ж-Ж, Ж-Жм на каких аспектах? И лучше глядя в sigcfg разбираться. Это точно скрипт проходного? Последний раз редактировалось КЕ; 08.03.2020 в 01:09. |
![]() |
![]() |
Этот пользователь сказал Спасибо КЕ за это полезное сообщение: |
![]() |
#399 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 35
Вы сказали Спасибо: 51
Поблагодарили 7 раз(а) в 6 сообщениях
![]() |
![]()
Вот скрипт sigcfg проходного светофора:
SignalType ( "T_Head_YGR" SignalFnType ( NORMAL ) SignalLightTex ( "T_SignalLight.ace" ) SigFlashDuration ( 1.0 0.5 ) SignalLights ( 4 SignalLight ( 0 "Yellow Light" Position ( 0 7.475 0.01 ) Radius ( 0.35 ) ) SignalLight ( 1 "Green Light" Position ( 0 7.175 0.01 ) Radius ( 0.35 ) ) SignalLight ( 2 "Red Light" Position ( 0 6.875 0.01 ) Radius ( 0.35 ) ) SignalLight ( 3 "No Light" Position ( 0 -1 0 ) Radius ( 0.01 ) ) ) SignalDrawStates ( 7 SignalDrawState ( 0 "Red" DrawLights ( 1 DrawLight ( 2 ) ) ) SignalDrawState ( 1 "Yellow" DrawLights ( 1 DrawLight ( 0 ) ) ) SignalDrawState ( 2 "Green" DrawLights ( 1 DrawLight ( 1 ) ) ) SignalDrawState ( 3 "White" DrawLights ( 1 DrawLight ( 2 ) ) ) SignalDrawState ( 4 "Yellow F" DrawLights ( 1 DrawLight ( 0 SignalFlags ( FLASHING )) ) ) SignalDrawState ( 5 "Green F" DrawLights ( 1 DrawLight ( 1 SignalFlags ( FLASHING )) ) ) SignalDrawState ( 6 "No" DrawLights ( 1 DrawLight ( 3 ) ) ) ) SignalAspects ( 5 SignalAspect ( STOP "No" SpeedKPH ( 0 ) ) SignalAspect ( STOP_AND_PROCEED "Red" SpeedKPH ( 0 ) ) SignalAspect ( RESTRICTING "White" SpeedKPH ( 20 ) ) SignalAspect ( APPROACH_1 "Yellow" SpeedKPH ( 60 ) ) SignalAspect ( CLEAR_2 "Green" ) ) SignalNumClearAhead ( 3 ) ) |
![]() |
![]() |
Этот пользователь сказал Спасибо Forsayth за это полезное сообщение: |
![]() |
#400 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
(route_set()) лучше вообще убрать.
И вообще странно, в секции конфига SignalDrawStates ( проходному прописан белый огонь, хотя в секции SignalLights ( белого огня нет... ![]() Попробуем вообще убрать "всё насчёт белого" из скрипта. Строку next_state = next_sig_lr (SIGFN_NORMAL); перенести в начало скрипта сразу после if (enabled) {... Вот если так попробовать: SCRIPT T_Head_YGR extern float enabled; extern float block_state (); extern float next_sig_lr (); extern float next_sig_mr (); extern float def_draw_state (); extern float state; extern float draw_state; extern float sig_feature (); float next_state; if (enabled) { next_state = next_sig_lr (SIGFN_NORMAL); state = 1; if ( ( enabled || !sig_feature ( SIGFEAT_USER1 ) ) && ( block_state () == BLOCK_CLEAR ) ) { if ( ( next_state == 1 ) || ( next_state == 2 ) ) { state = 3; } /// "Yellow" else { state = 7; } } draw_state = def_draw_state (state); if ( state == 7) { if ( next_state == 4) { draw_state = 4; } /// "Yellow F" else if ( ( next_state == 5 ) || ( next_state == 6 ) ) { draw_state = 5; } /// "Green F" } } else state = 0; draw_state = def_draw_state (state); Последний раз редактировалось КЕ; 08.03.2020 в 22:14. |
![]() |
![]() |
Этот пользователь сказал Спасибо КЕ за это полезное сообщение: |
![]() |
#401 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 35
Вы сказали Спасибо: 51
Поблагодарили 7 раз(а) в 6 сообщениях
![]() |
![]()
К сожалению, все также горит предвходной зелёный, при открытом входном на бок "Два желтых из них верхний мигающий"
![]() Последний раз редактировалось Forsayth; 08.03.2020 в 22:34. |
![]() |
![]() |
![]() |
#402 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
А можно скрипт входного? Той части, которая набок сигналит?
|
![]() |
![]() |
![]() |
#403 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 35
Вы сказали Спасибо: 51
Поблагодарили 7 раз(а) в 6 сообщениях
![]() |
![]()
Вот часть скрипта:
SCRIPT T_Head_Yx_RY_I extern float block_state (); extern float route_set (); extern float next_sig_lr (); extern float next_sig_mr (); extern float def_draw_state (); extern float state; extern float draw_state; extern float enabled; extern float sig_feature (); float next_state; if (route_set()) { state = SIGASP_STOP_AND_PROCEED; if (enabled && (block_state() ==# BLOCK_CLEAR)) { next_state = next_sig_lr (SIGFN_NORMAL); if ((next_state ==# SIGASP_STOP) || ((next_sig_mr (SIGFN_NORMAL) ==# SIGASP_STOP_AND_PROCEED) && (next_state ==# SIGASP_RESTRICTING))) { state = SIGASP_RESTRICTING; } else { state = SIGASP_APPROACH_2; } } draw_state = def_draw_state (state); if ((state >=# SIGASP_APPROACH_1) && (next_state ># SIGASP_RESTRICTING)) { draw_state = 3; } } else { state = SIGASP_STOP; if (block_state() ==# BLOCK_JN_OBSTRUCTED) { state = SIGASP_STOP_AND_PROCEED; } draw_state = def_draw_state (state); } |
![]() |
![]() |
![]() |
#404 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
![]() |
![]()
А если вот такой вариант для проходного:
SCRIPT T_Head_YGR extern float enabled; extern float block_state (); extern float next_sig_lr (); extern float next_sig_mr (); extern float def_draw_state (); extern float state; extern float draw_state; extern float sig_feature (); float next_state; if (enabled) { next_state = next_sig_lr (SIGFN_NORMAL); state = 1; if ( ( !sig_feature ( SIGFEAT_USER1 ) ) && ( block_state () == BLOCK_CLEAR ) ) { if ( ( next_state == 1 ) || ( next_state == 2 ) ) { state = 3; } /// "Yellow" else { state = 7; } /// "Green" draw_state = def_draw_state (state); if ( state == 7) { if ( next_state == 4) { draw_state = 4; } /// "Yellow F" else if ( ( next_state == 5 ) || ( next_state == 6 ) ) { draw_state = 5; } /// "Green F" } } } else state = 0; draw_state = def_draw_state (state); |
![]() |
![]() |
Этот пользователь сказал Спасибо КЕ за это полезное сообщение: |
![]() |
#405 |
Пользователь
Регистрация: 02.12.2009
Сообщений: 35
Вы сказали Спасибо: 51
Поблагодарили 7 раз(а) в 6 сообщениях
![]() |
![]()
Результат без изменений... Но, вот только что, попробовал изменить в sigcfg местами линзы огней, то желтый мигает но во всех случаях когда должен гореть зеленый. Получается что скрипт не считывает блок, где нужен желтый мигающий. Или же его пропускает. На все остальные сигналы реагирует нормально.
|
![]() |
![]() |
![]() |
Здесь присутствуют: 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 |
|
![]() Что это? |