Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Маршруты

Ответ
 
Опции темы Опции просмотра
Старый 02.05.2020, 13:51   #496
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от КЕ Посмотреть сообщение
Как он работает?
Если блок свободен:
На следующий 0 даёт 1;
Остальные аспекты дублирует.
Если блок занят (JN_OBSTRUCTED) - 0;
Если блок занят (OCCURRED):
Выходной открыт любым показанием - 0;
Выходной закрыт - 2;

Вроде, всё назвал. С телефона сейчас.

Цитата:
Сообщение от КЕ Посмотреть сообщение
Это если на выходном STOP?
Да. Нужно различать между сервисом, следующим с перегона на станцию по 1 и тем, что выезжает маневровым порядком и возвращается на свободный путь со следующим 0 по тому же 1.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 
Старый 02.05.2020, 14:00   #497
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

А этот маркер не мешает локомотивной сигнализации?
КЕ вне форума   Ответить с цитированием
Старый 02.05.2020, 14:14   #498
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Нет. Он же дублирует выходной. На 2D кабинах я "подправил" себе АЛСН под Open Rails - на 0 у меня КЖ, на 1 - тоже. Остальные аспекты дублируются, так что, всё оk. Даже какую-то трёхмерную кабину так переделал "методом тыка"... или две. Не помню уже. ЭРка, вроде, какая-то и ЧС4т от Spiritа. Давно не гоняю уже. Тупо любуюсь сценарием, лично не участвуя в нём.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 02.05.2020, 14:56   #499
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

О, не видел такие кабины... Рулил только в трехмерной для 2ТЭ10М.
Где их скачать?
КЕ вне форума   Ответить с цитированием
Старый 02.05.2020, 15:29   #500
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Я не помню уже. Давно это было. Но, руками точно ковырялся. Возможно, прикручивал РТС-овские кабины. Не помню, честно. Сейчас не до кабин.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 02.05.2020, 18:41   #501
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

РТС-ную можно, да только ничего там работать не будет, поедем по монитору пути. ))
КЕ вне форума   Ответить с цитированием
Старый 02.05.2020, 20:00   #502
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от КЕ Посмотреть сообщение
Как он работает?
Логика маневрового:
Если блок не свободен, - аспект 0;
В остальных случаях при свободном блоке - дублирование аспекта маркера РЦ. Также учитываются линки.
Я выше выкладывал его полный скрипт.

Входной сигнал:
Если блок не свободен, а также если блок свободен, но следующий (маневровый) - 0 или 2 - аспект 0;
В остальных случаях - логика исходит из следующего сигнала. Если маневровый 1, входной будет 3 или 4 исходя из линка, далее при аспектах выше 2 маневровый дублирует выходной, так что там - обычная конвенциональная логика.

Добавлено через 1 час 8 минут
Такая логика маневрового позволяет ставить их несколько один за другим. Также у меня есть маневровые с логикой как в маркере РЦ как самостоятельного сигнала - вначале именно такие стояли на маршруте, а маркеров не было, пока, как я уже говорил, разработчик сигнализации Open Rails не "ослепил" сигналы, ограждающие точки. Маршрут огромный, так что, где-то они у меня ещё валяются на каких-то станциях. Там ставил оба типа маневровых. Последним был тот,,который с логикой маркера, остальные - те, что я описал.
Также есть станции "классические" - входной и выходной. Там другие светофоры, почти не отличающиеся от оригинала от Timas.

SNCA маневрового и РЦ в Open Rails - "-1". Это позволяет не завышать параметр у остальных светофоров. В MSTS эта логика тоже работает. Но, там, как известно, SNCA берется самый высокий в конфигурации. У меня в MSTS-овском варианте стоит "7", но это зависит от маршрута. В смысле, сколько маневровых на больших станциях стоят один за другим, а также - от устройства станций с маневровыми и маршрутными светофорами.
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 02.05.2020, 20:26   #503
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
пока, как я уже говорил, разработчик сигнализации Open Rails не "ослепил" сигналы, ограждающие точки
Это когда сигнал в STOP - он не читает, что за ним дальше?
КЕ вне форума   Ответить с цитированием
Старый 02.05.2020, 21:49   #504
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Не когда STOP, a когда он !enabled. Не определяет route_set (). И состояние блока - возвращает всегда BLOCK_JN_OBSTRUCTED. Насчет сигналов - надо потестить. Я не использую это

Добавлено через 11 минут
В смысле, нет такой ситуации, когда мне маневровым !enabled нужно знать состояние следующего сигнала.

Добавлено через 37 минут
Тем более, в Open Rails, где enabled () работает отлично от MSTS
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 03.05.2020, 15:47   #505
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Эх, где бы я ещё так славно, долго, а главное - качественно потрахался, как не с сигналкой в симуляторе!
Короче, долбился я, долбился с этим маневровым показанием - со временем даже то, что, вроде, работало из функций, начало "глючить". Маневровый перестал "видеть" оппозит и т.п. Думаю, я "нагромоздил" там условий и есть какие-то взаимоисключающие. В общем, переписываю "с нуля" скрипт проходного.

Добавлено через 2 минуты
Дал ему
if (block_state ==# BLOCK_JN_OBSTRUCTED...
А ниже:
if (block_state !=# BLOCK_CLEAR...
И он первое не выполняет
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 03.05.2020, 17:50   #506
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

То есть даже без else перед if (block_state !=# BLOCK_CLEAR... не проверяет?
КЕ вне форума   Ответить с цитированием
Старый 03.05.2020, 23:57   #507
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Да, там сам черт ногу сломит - разбираться почему не сработало. У меня первый проходной (ну, в смысле, вообще все проходные) - довольно ёмкий сигнал. Первым проходным он становится через флаг. Если этот флаг включен и светофор !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 минуты
Потихоньку начинаю стороить проходной. Вот "тело":
Цитата:
next_state = next_sig_lr (SIGFN_NORMAL);

state = SIGASP_CLEAR_2;
direction = this_sig_lvar (1);

if (block_state() ==# BLOCK_OCCUPIED)
{
state = SIGASP_STOP;
}
else if ((next_state ==# SIGASP_STOP) || (next_state ==# SIGASP_STOP_AND_PROCEED) || (next_state ==# SIGASP_RESTRICTING))
{
state = SIGASP_APPROACH_1;
}
draw_state = def_draw_state (state);
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 if ( direction ==# 1)
{
draw_state = 6;
}
if (!enabled && has_number_plate)
{
if (block_state ==# BLOCK_JN_OBSTRUCTED)
{
state = SIGASP_RESTRICTING;
store_lvar (1,1);
}
else
{
store_lvar (1,0);
}
}
draw_state = 6 - не горит. Потом можно будет через функцию "гасить" весь перегон.

Скрипт полностью рабочий. Забирай

Добавлено через 2 минуты
Пока оставлю его так. Пойду к маневровому, "ловить" этот самый direction
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 04.05.2020, 10:52   #508
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Думаю все-таки точнее потестить с нулевыми стрелками границы станции и обратной головой на входном.
Нет, не буду, это только путаницу создаст в горловине...
__________________
next_state == 7;

Последний раз редактировалось КЕ; 04.05.2020 в 16:49.
КЕ вне форума   Ответить с цитированием
Старый 04.05.2020, 15:22   #509
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию Вот как это работает на тестовом отрезке:

Перед тестами на маршруте (неизвестно когда )

Первому трафику я насильно перекрыл выходной, чтобы создать ситуацию аналогичную той по которой сервис игрока заехал на свободный путь станции с закрытым выходным. Третий трафик приближается к входному, который закрыт, так как путь приёма занят. На прежней версии в этой ситуации маневровый горел белым.

Маневпрвый KRN25


Табло со стороны перегона показывает когда запоминается переменная, отвечающая за направление:
Цитата:
{
state = SIGASP_RESTRICTING;
store_lvar (1,1);
}
Добавлено через 47 минут
Скрытый текст:

Костя, ты говорил о 3d кабинах...
Нашёл у себя на канале старое видео. Сигнализации тоже касается, я там барабан "ковырял руками" - в конце видео обрати внимание: что показывает АЛСН на красный

Зd кабина в Open Rails

Ха-ха.. сам лок - попробуй найди ещё.. в моём-то бардаке

Последний раз редактировалось vicente; 04.05.2020 в 15:24.
vicente вне форума   Ответить с цитированием
Старый 04.05.2020, 16:36   #510
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Идеально сработано! ))
Цитата:
{
state = SIGASP_RESTRICTING;
store_lvar (1,1);
}
Есть еще примеры использования этих новых переменных? Смысл чисел в скобках?..
Цитата:
что показывает АЛСН на красный
Хорошо показывает!
Но всё остальное горит жёлтым...
__________________
next_state == 7;

Последний раз редактировалось КЕ; 04.05.2020 в 17:43.
КЕ вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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