Цитата:
Сообщение от КЕ
Нет, проходной оставался открытым при реверсе.
|
Да, это так. Подзабыл, прошу прощения. Ровно 10 лет назад я
нацарапал на заборе тестил эту функцию "чистым тестом"
с блэкджеком и шлюхами с фотографиями (к сожалению, сайты давно почили в бозе, и много материала утеряно). Описание теста прилагаю полным текстом сообщения, за исключением скринов..
Скрытый текст:
Немного о функции*enabled
Данная функция является внешней функцией относительно скрипта. Мы знаем, что в скриптах есть функции внешние, то есть прописаны они в другом месте - ехе-файле симулятора и изменять в работе самой функции мы ничего не можем (см.мануал) и есть функции, которые, теоретически, может прописать разработчик сигнализации внутри самого скрипта (чем и занимаюсь сейчас для создания своего варианта одностороннего пропуска).
Итак, enabled.
Кужувский разработчик пишет:
Код:
Contains TRUE (non-zero) if the current signal instance is enabled to show
its natural state, or FALSE otherwise.
Это значит, что функция возвращает единицу, если светофор включен, чтобы показать его состояние, в противном случае - выдает 0.
То есть не все светофоры на маршруте работают по скрипту, а только те, которые находятся впереди и позади сервиса на определенном расстоянии. Расстоянием здесь является не километраж и не количество узлов, как в подготовке маршрута МСТС, а количество светофоров. Какое кол-во светофоров будут enabled перед сервисом (кстати, не важно сервис ли это игрока или трафик) мы задаем в файле конфигурации сигнала в параметре SignalNumClearAhead. Небольшой тест покажет наглядно как это работает.
Я поставил на перегоне проходные светофоры (модели Тимаса), прописав в них SignalNumClearAhead (2), обычные сигналы проходного 3АБ, а при функции enabled = 0, или правильней - !enabled - синий.
Результат - перед сервисом 2 светофора зеленые, остальные - синие - !enabled. Это понятно. Цель теста - выяснить, что с остальными светофорами на перегоне. У нас еще три направления. На скрине мы видим, что за занятым сервисом блок-участком светофор красный, то есть enabled. За этим светофором, против хода сервиса,как и положено желтый, а уже перед ним - !enabled - синий.
Что происходит с противоположной стороны?
Перед сервисом 2 светофора становятся enabled красный и желтый. Светофоры же позади него сразу же становятся !enabled - синие.
Интересно, что если я возвращаюсь назад, то светофоры по мере удаления от них остаются enabled - зелеными. То есть если я вернусь на 2 блок-участка, то впереди меня будет не 2, а 4 зеленых светофора. В обратном же направлении, направлении движения, ни один светофор enabled не становится.
Нужное место я выделил под спойлером в последнем абзаце
Добавлено через 30 минут
Цитата:
Сообщение от КЕ
Но если б можно было передавать аспекты "вперед" по ходу сервиса.... Мечты! 
|
Ну, с MSTS уже вряд ли что можно сделать. Но, мечты сбываются в наше время в Open Rails , и это дело обещают/сделано уже там. Но, как поётся в песне, "того, что нужно нам, всегда на свете нет..." Прграммировать светофоры для этого нужно с
С#, а я вообще не знаю его, и в жизни программированием не занимаюсь.
Цитата:
Сообщение от КЕ
Насколько надежно это работало?
|
Всегда. Там никакого выпендрёжа нет, на самом деле. Вся цепочка светофоров NORMAL-ы, каждый работает по известным и накатанным функциям и зависит толькоот следующего сигнала. Единственное- пришлось поднять SignalNumClearAhead , а я это очень не люблю. Но, маршрут - мой личный,
ворочу чего хочу, в сценариях, естественно, я это учитывал.