Форум Trainsim  

Вернуться   Форум Trainsim > RTrainSim > RTrainSim - Об игре

Ответ
 
Опции темы Опции просмотра
Старый 16.10.2013, 10:50   #1
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Нет конечно. NORMAL, DISTANCE, SHUNTING, INFO. И в сценариях можно предписывать трафику и игроку слушаться сигналов определённого типа, а не только NORMAL.
Ted вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Ted за это полезное сообщение:
Старый 16.10.2013, 11:01   #2
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию



Да? Тогда странно - вот на скринах левый МСТС, правый RTS, на проходном в обоих случаях жёлтый; выходной светофор в RTS вместо зелёного даёт белый; но белый в скрипте прописан для случая, если след. сигнал - белый ("RESTRICTING") или отсутствует.
Здесь для показания огней используется DISTANCE, и он работает неправильно - не видит след. сигнал.
В МСТС сигнализация тщательно протестирована, работает правильно.
__________________
next_state == 7;

Последний раз редактировалось КЕ; 16.10.2013 в 11:10.
КЕ вне форума   Ответить с цитированием
Старый 16.10.2013, 12:19   #3
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Ну, конечно, можно бы скрипт посмотреть... Но точно скорее всего сказать можно будет только посмотрев на живом примере под отладчиком.
Ted вне форума   Ответить с цитированием
Старый 16.10.2013, 13:12   #4
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Вот эта сигналка, светофор - выходной 4-линзовый. Там ещё схема расстановки.



Табло - REPEATER - тоже не работает:
в столбцах Dv и Nv показывает 0 ("STOP"), а должно быть - 4 ("APPROACH_2")
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 16.10.2013, 19:47   #5
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Потестил, причину нашёл.
В скриптах вот это
Код:
#next_sig_lr(SIGFN_NORMAL)
что означает?
МСТС очевидно лишние символы игнорирует. У меня # рассматривается как неизвестное действие от next_sig_lr.
Ted вне форума   Ответить с цитированием
Старый 16.10.2013, 20:38   #6
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

# - это округление до целого числа. Не знаю, зачем в МСТС это так установлено - всё равно в "рельсовой цепи" идут аспекты сигналов целыми числами: 0, 1, 2, 3, 4, 5, 6, 7.
Скрытый текст:
#next_sig_lr(SIGFN_NORMAL) - определение аспекта следующего (next) сигнала по "верхнему" (lr) значению (в РЦ могут идти одновременно "верхнее" и "нижнее" показание, например, у входных светофоров Тимаса идут аспекты 0 ("STOP") и, скажем, 7 ("боковая часть" в "0" и погашена, по прямой - зелёный).
Т.е. в этой записи в "РЦ" читается "верхний" аспект, тип проверяемого светофора - NORMAL (например, этот Тимасовский сигнал прочитается как "7" - "CLEAR_2")
__________________
next_state == 7;

Последний раз редактировалось КЕ; 16.10.2013 в 20:52.
КЕ вне форума   Ответить с цитированием
Старый 17.10.2013, 06:37   #7
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Ну, добавил оператор округления. Хотя, он явно ни к селу ни к городу... Нафига округлять, если там все операторы сравнения имеют целочисленную версию (==#,>#) Ни Тимас ни Слава Усов унарного оператора # не использовали. Нафига это надо?
Сижу дальше. this_sig_lr для последнего сигнала в цепи возвращало всегда STOP. Переделал, теперь просматривает текущий сигнал.

Вот, сейчас он отрабатывает...
Ted вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Ted за это полезное сообщение:
Старый 20.10.2013, 10:08   #8
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от Ted Посмотреть сообщение
Ну, добавил оператор округления... Вот, сейчас он отрабатывает...
Ted, а это будет в следующем обновлении?
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 17.10.2013, 09:16   #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.
КЕ вне форума   Ответить с цитированием
Старый 17.10.2013, 09:29   #10
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Да нет же, это совершенно другое. Тут # - часть операторов сравнения!
Цитата:
Сообщение от Kostian Посмотреть сообщение
[SIZE="2"]
Усовская:
...
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;}
...
Это бинарные операторы целочисленного сравнения. Есть и операторы без #, но это попросту другие операторы.
Ted вне форума   Ответить с цитированием
Старый 17.10.2013, 09:54   #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.
КЕ вне форума   Ответить с цитированием
Старый 17.10.2013, 10:06   #12
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Проблема была не в том, что на ходу задаётся.
Компилятор знает операторы ==, ==#,>,># и т.д., но он не знал оператора #.
Код "#next_sig_lr(SIGFN_NORMAL)==0" раскладывался в такое:
PUSH SIGFN_NORMAL
CALL next_sig_lr ;результат в AX
??? AX ; в AX 0
CMP AX,0 ; всегда равно
JNE else... ; на else он не переходил никогда
Ted вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Ted за это полезное сообщение:
Старый 17.10.2013, 11:57   #13
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,087
Вы сказали Спасибо: 8,774
Поблагодарили 2,574 раз(а) в 1,173 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Ясно. Я-то думал, #...== - то же , что и #==.
Ted, а вот в тестовом маршруте, который на скрине - там всё полностью расставлено, АЛСН-блоки перед каждым светофором?
И ещё вопрос - чем лучше открыть файл тайла -*.t?
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 18.10.2013, 20:44   #14
Ted
Разработчик
 
Регистрация: 10.05.2007
Сообщений: 428
Вы сказали Спасибо: 85
Поблагодарили 1,499 раз(а) в 200 сообщениях
Ted стоит на развилке (репутация по умолчанию)
По умолчанию

Всё расставлено, иначе они бы все жёлтым горели.
Дык... 16-ричным редактором каким-нить лучше всего, специализированных редакторов под него нет.
Ted вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Ted за это полезное сообщение:
Старый 29.10.2013, 18:35   #15
Арсений К.
Матёрый пользователь
 
Аватар для Арсений К.
 
Регистрация: 13.04.2013
Адрес: Москва, СВАО, Свиблово
Сообщений: 1,360
Вы сказали Спасибо: 1,575
Поблагодарили 1,375 раз(а) в 565 сообщениях
Арсений К. стоит на развилке (репутация по умолчанию)
Отправить сообщение для Арсений К. с помощью Skype™
По умолчанию

Как нужно устанавливать RTS? Скопировать содержимое папок GLOBAL, GUI, SOUND, TRAINS в соответствующие папки MSTS?
__________________
Никнейм Арсений К. зарегистрирован.
Grammar Nazi
http://www.visited.ru/rumap.php?visi...YASMOTAMTVETUL
Арсений К. вне форума   Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новый движок для 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


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


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