Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
![]() |
|
![]() |
#1 | |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Так точно
В Open Rails, как я уже упомянул сигнал становится «отключенным» (!enabled) после того, как поезд передает сигнал! Таким образом, после прохождения поезда для функции всегда установлено значение FALSE. Добавлено через 3 минуты Под number_plate - "флаг", который устанавливается на первом проходном. Только он даёт RESTRICTING-аспект. Остальные показывают обычные аспекты по скрипту. Добавлено через 27 минут Цитата:
![]() Лови рабочий скрипт выходного "нового поколения" с белым независимо от состояния первого проходного: Скрытый текст:
Маневровый белый этого светофора вообще не зависит от аспекта следующего. |
|
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#2 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
next_sig_id - это что-то новое! Что за функция?
if (!train_requires_next_signal(sigid,1)) - что за условие? |
![]() |
![]() |
![]() |
#3 | |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Это новые функции, которые были внесены в Open Rails. Нехватка аспектов ощущается не только у нас
![]() sigid определяет объект, с которого нужно считать дополнительную информацию. Строкой Цитата:
train_requires_next_signal(sigid,position) - функция, проверяющая проходит ли Path через сигнал, идентифицированный параметром sigid |
|
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#4 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
То есть эту "метку" ставить на первый проходной в нашем случае?
if (!train_requires_next_signal(sigid,1)) - число "1" означает проверку первого от нас светофора? Последний раз редактировалось КЕ; 27.04.2020 в 01:46. |
![]() |
![]() |
![]() |
#5 | ||
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]() Цитата:
Если позиция = 0, проверяется, достигает ли маршрут требуемого сигнала; если позиция = 1; проверяется, выходит ли маршрут за пределы требуемого сигнала. [зачем им нужен "0" - я хз ![]() Добавлено через 7 минут Цитата:
Вписать ей действие shunt = shunt +0;, в случае, если на выходном появляется 2, давать shunt = 1, найти условие, при котором возвращать shunt = 0, скажем, поезд прехал маневровый в сторону станции по block_stste () через BLOCK_OCCUPIED - как я уже писал, в ORTS состояние блока учитывает направление движения. Но, я не могу поймать "оппозит"!!! Сейчас буду пробовать через sigid фуекцией sigid = opp_sig_id(SIGFN_Type, <n>) (этот <n> мне тоже непонятен. ИМХО - очепятка просто) |
||
![]() |
![]() |
Этот пользователь сказал Спасибо vicente за это полезное сообщение: |
![]() |
#7 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
А, понял - выбираем нужный светофор, а потом по ходу дела проверяем, проходит путь сервиса через него или нет. Здорово!
Просто, как все гениальное!!! ))) В принципе, я сегодня нулевыми стрелками делал то же самое! ))) Последний раз редактировалось КЕ; 27.04.2020 в 01:56. |
![]() |
![]() |
![]() |
#8 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Вот этого, как раз, я пока не соображу: можно или не можно...
"Долблюсь" как раз с этим. Поэтому и про оппозиты спрашивал. Мне надо передать от выходного (того самого, что на скрипте KRN25_YR_YW ) противостоящему маневровому информацию о том, что выходной открылся белым. Маневровый должен обработать эту информацию, передав её всем своим "головам" и запомнить. И после того, как манёвры выедут с пути станции, ограждённого этим выходным, "знать", что нужно открываться маневровым показанием. Более того, мне нужно, чтобы, в Timetable Mode, в случае команд $forms, $triggers и так далее, этот маневровый "помнил" в каком режиме он находится. Потому что $forms, $triggers "и так далее" - это пропадание сервиса и возникновение на его месте другого. В смысле, если я проложу путь на станцию, и на ней сделаю $forms / $triggers - выходной с пути , на котором будет выполяться команда останется закрытым до возникновения нового сервиса. А, закрытым он будет, потому что !enabled. |
![]() |
![]() |
![]() |
#9 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
Не знаю, как в OR, но в МСТС - как я ни бился, запомнить состояние не получалось... При каких-то изменениях в одной сигнальной точке остальные тоже отрабатывают свой скрипт, обновляются, и маневровый режим терялся в момент прохода сервиса через какую-либо сигнальную точку, даже если ее аспект не менялся...
Нет никакой внешней переменной, об'единяющей все светофоры, которую можно было бы устанавливать и сбрасывать командой из скрипта (что-то отдаленно похожее есть в RTS, но там signal_mode устанавливается и сбрасывается игроком вручную (сочетанием клавиш по ходу игры), а скрипты ее только считывают). А мы можем только менять аспекты сигнальных голов, и больше ничего... Ну вот только если только попробовать у противостоящего маневрика это: if (opp_sig_lr (SIGFN_NORMAL) ==2) { state =2; } и больше ничего! )) При загрузке сценария исходно все аспекты по нулям, а потом он перейдет в RESTRICTING, да так и останется (?)... Последний раз редактировалось КЕ; 27.04.2020 в 02:35. |
![]() |
![]() |
![]() |
#10 | |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
Переменная float shunt - не сбросится в ноль при перезагрузке сервисов?
Я так делал, но такая же внутренняя переменная при движении сервиса "терялась" при реверсе движения или еще как-то, как я писал чуть выше. Цитата:
Последний раз редактировалось КЕ; 27.04.2020 в 03:12. |
|
![]() |
![]() |
Этот пользователь сказал Спасибо КЕ за это полезное сообщение: |
![]() |
#11 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]() |
![]() |
![]() |
![]() |
#12 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
Не знаю. Может, я что-то делаю не так...
И Не должен сбрасываться. Светофор связан с сервисами постольку-поскольку. Через функции. Всё это я собираюсь делать когда светофор !enabled - сервис движется в другом направлении, он будет !enabled. И, когда сервис проехал светофор - тот становится снова !enabled. Вопрос в том, корректно ли так писать скрипт. |
![]() |
![]() |
![]() |
#13 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
Я использовал оппозиты (маркеры-"датчики" на пути) только для определения занятости БУ, считывая их аспект, меняющийся через функцию BLOCK_STATE (). Они больше ничего не могут.
|
![]() |
![]() |
![]() |
#14 |
Заблокирован
Регистрация: 06.10.2007
Сообщений: 1,764
Вы сказали Спасибо: 899
Поблагодарили 1,214 раз(а) в 730 сообщениях
![]() |
![]()
DISTANCE?
|
![]() |
![]() |
![]() |
#15 |
Разработчик
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,571 раз(а) в 1,172 сообщениях
![]() |
![]()
И нормалы тоже так.
Хотя в последних версиях ОР надо проверять. sigid = opp_sig_id(SIGFN_Type, <n>) - сработает? Получится оппозитно проверить путь до какого-то сигнала - после реверса, когда сервис уже прошел наиболее отдаленную точку пути - точку разворота, и пошел по горловине в сторону станции? Последний раз редактировалось КЕ; 27.04.2020 в 03:39. |
![]() |
![]() |
![]() |
Здесь присутствуют: 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 |
|
![]() Что это? |