| Этот пользователь сказал Спасибо Ted за это полезное сообщение: |
|
|
|
|
|
|
#1 |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Нет конечно. NORMAL, DISTANCE, SHUNTING, INFO. И в сценариях можно предписывать трафику и игроку слушаться сигналов определённого типа, а не только NORMAL.
|
|
|
|
| Этот пользователь сказал Спасибо Ted за это полезное сообщение: |
|
|
#2 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
![]() Да? Тогда странно - вот на скринах левый МСТС, правый RTS, на проходном в обоих случаях жёлтый; выходной светофор в RTS вместо зелёного даёт белый; но белый в скрипте прописан для случая, если след. сигнал - белый ("RESTRICTING") или отсутствует. Здесь для показания огней используется DISTANCE, и он работает неправильно - не видит след. сигнал. В МСТС сигнализация тщательно протестирована, работает правильно.
__________________
next_state == 7; Последний раз редактировалось КЕ; 16.10.2013 в 11:10. |
|
|
|
|
|
#3 |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Ну, конечно, можно бы скрипт посмотреть... Но точно скорее всего сказать можно будет только посмотрев на живом примере под отладчиком.
|
|
|
|
|
|
#4 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
Вот эта сигналка, светофор - выходной 4-линзовый. Там ещё схема расстановки.
![]() Табло - REPEATER - тоже не работает: в столбцах Dv и Nv показывает 0 ("STOP"), а должно быть - 4 ("APPROACH_2")
__________________
next_state == 7; |
|
|
|
|
|
#5 |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Потестил, причину нашёл.
В скриптах вот это Код:
#next_sig_lr(SIGFN_NORMAL) МСТС очевидно лишние символы игнорирует. У меня # рассматривается как неизвестное действие от next_sig_lr. |
|
|
|
|
|
#6 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
# - это округление до целого числа. Не знаю, зачем в МСТС это так установлено - всё равно в "рельсовой цепи" идут аспекты сигналов целыми числами: 0, 1, 2, 3, 4, 5, 6, 7.
Скрытый текст:
__________________
next_state == 7; Последний раз редактировалось КЕ; 16.10.2013 в 20:52. |
|
|
|
|
|
#7 |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Ну, добавил оператор округления. Хотя, он явно ни к селу ни к городу... Нафига округлять, если там все операторы сравнения имеют целочисленную версию (==#,>#) Ни Тимас ни Слава Усов унарного оператора # не использовали. Нафига это надо?
Сижу дальше. this_sig_lr для последнего сигнала в цепи возвращало всегда STOP. Переделал, теперь просматривает текущий сигнал. Вот, сейчас он отрабатывает...
|
|
|
|
| Этот пользователь сказал Спасибо Ted за это полезное сообщение: |
|
|
#8 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
Ted, а это будет в следующем обновлении?
__________________
next_state == 7; |
|
|
|
|
|
#9 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
Нет, эта "#" есть и у Славы, и у Тимаса, и у Алексея. Вот Усовская:
... if (next_state ==# SIGASP_STOP_AND_PROCEED || next_state ==# SIGASP_RESTRICTING || next_state ==# SIGASP_STOP ) ... Тимасовская: ... if ((next_state ==# SIGASP_STOP) || ((next_sig_mr (SIGFN_NORMAL) ==# SIGASP_STOP_AND_PROCEED) && (next_state ==# SIGASP_RESTRICTING))) {state = SIGASP_RESTRICTING;} ... У Алексея тоже: ... if ( WORK1 ==# SIGASP_CLEAR_2 ) { SVET = 5; } if ( WORK1 ==# SIGASP_CLEAR_1 ) { SVET = 4; } if ( WORK1 ==# SIGASP_APPROACH_3 ) { SVET = 3; } if ( WORK1 ==# SIGASP_APPROACH_2 ) { SVET = 2; } ... Я заменил "словесные" аспекты цифрами, остальное так же. А this_sig_lr использовал в светофорах с несколькими субъобъектами для контроля, например - светофор с маршрутным указателем, у которого цифра на МУ загорается только при разрешающем показании этого светофора.
__________________
next_state == 7; Последний раз редактировалось КЕ; 17.10.2013 в 09:30. |
|
|
|
|
|
#10 | |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Да нет же, это совершенно другое. Тут # - часть операторов сравнения!
Цитата:
|
|
|
|
|
|
|
#11 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
Понял.
А вчерашнее if(...#next_sig_lr(SIGFN_NORMAL)==...) - такое же сравнение, что и ... next_state = next_sig_lr (SIGFN_NORMAL); if (next_state==#...) ... только функция проверки задаётся "на ходу" , по ходу скрипта.Или я не о том?
__________________
next_state == 7; Последний раз редактировалось КЕ; 17.10.2013 в 09:41. |
|
|
|
|
|
#12 |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Проблема была не в том, что на ходу задаётся.
Компилятор знает операторы ==, ==#,>,># и т.д., но он не знал оператора #. Код "#next_sig_lr(SIGFN_NORMAL)==0" раскладывался в такое: PUSH SIGFN_NORMAL CALL next_sig_lr ;результат в AX ??? AX ; в AX 0 CMP AX,0 ; всегда равно JNE else... ; на else он не переходил никогда |
|
|
|
| Этот пользователь сказал Спасибо Ted за это полезное сообщение: |
|
|
#13 |
|
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
![]() |
Ясно. Я-то думал, #...== - то же , что и #==.
Ted, а вот в тестовом маршруте, который на скрине - там всё полностью расставлено, АЛСН-блоки перед каждым светофором? И ещё вопрос - чем лучше открыть файл тайла -*.t?
__________________
next_state == 7; |
|
|
|
|
|
#14 |
|
Разработчик
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
![]() |
Всё расставлено, иначе они бы все жёлтым горели.
Дык... 16-ричным редактором каким-нить лучше всего, специализированных редакторов под него нет. |
|
|
|
| Этот пользователь сказал Спасибо Ted за это полезное сообщение: |
|
|
#15 |
|
Матёрый пользователь
|
Как нужно устанавливать RTS? Скопировать содержимое папок GLOBAL, GUI, SOUND, TRAINS в соответствующие папки MSTS?
__________________
Никнейм Арсений К. зарегистрирован. Grammar Nazi http://www.visited.ru/rumap.php?visi...YASMOTAMTVETUL |
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Новый движок для MSTS - RTrainSim | Ted | RTrainSim - Об игре | 900 | 08.06.2025 13:57 |
| Ошибки MSTS, поиск и устранение... | AlexB | MSTS - Об игре | 5497 | 04.05.2025 17:17 |
| RTrainSim DOWNLOAD | Ted | RTrainSim - Об игре | 45 | 03.02.2021 22:12 |
| Разработка подвижного состава для RTrainSim | Mashinistvova | RTrainSim - Об игре | 744 | 09.06.2020 19:31 |
|
|
![]() Что это? |