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

Цитата:
Сообщение от КЕ Посмотреть сообщение
То есть эту "метку" ставить на первый проходной в нашем случае?
if (!train_requires_next_signal(sigid,1)) - число "1" означает проверку первого от нас светофора?
"position" ("число 1") здесь означает другое. Что Path пересекает этот светофор. То есть заходит за него.
Если позиция = 0, проверяется, достигает ли маршрут требуемого сигнала;
если позиция = 1; проверяется, выходит ли маршрут за пределы требуемого сигнала.
[зачем им нужен "0" - я хз ]

Добавлено через 7 минут
Цитата:
Сообщение от КЕ Посмотреть сообщение
Не знаю, как в OR, но в МСТС как я ни бился, запомнить состояние не получалось. При каких-то изменениях в одной сигнальной точке остальные тоже отрабатывают свой скрипт, обновляются, и маневровый режим терялся в момент прохода сервиса через какую-либо сигнальную точку, даже если аспект не менялся...

Если только попробовать

if (opp_sig_lr (SIGFN_NORMAL) ==2)
{
state =2;
}

и больше ничего! )))
У меня была другая идея. Заявить переменную, скажем, float shunt;
Вписать ей действие shunt = shunt +0;, в случае, если на выходном появляется 2, давать shunt = 1, найти условие, при котором возвращать shunt = 0, скажем, поезд прехал маневровый в сторону станции по block_stste () через BLOCK_OCCUPIED - как я уже писал, в ORTS состояние блока учитывает направление движения. Но, я не могу поймать "оппозит"!!!
Сейчас буду пробовать через sigid фуекцией sigid = opp_sig_id(SIGFN_Type, <n>) (этот <n> мне тоже непонятен. ИМХО - очепятка просто)
vicente вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо vicente за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


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