Речь пойдет о маршрутных указателях (МУ) и указателях направления (УН). Эти красивые дисплейчики введены в комплект сигналки в версиях выше 240319.0.10.1b. Матрицы - потому что в этих указателях использован матричный принцип вывода информации. А ещё потому, что движок форума не позволяет мне делать длинные заголовки. Дальше по тексту я буду называть матрицами одно- или двухсимвольные указатели, отдельностоящие, или установленные на светофоре. Если это неправильное название и у Вас от этого подергивается левый глаз - извините, но мне так проще.
Для того, чтобы разобраться с установкой и (главное!) настройкой матриц, надо определиться с терминами и понятиями. Самый важный пункт, который надо усвоить для правильной настройки матрицы - это понятие "до" и "после". Что имеется ввиду? Попробую объяснить. Вот скриншот:
Как можно увидеть на этом скриншоте, имеется 2 пути, обозначенных как "П" и "11Л". "П" - это правый, "Л", соответственно - левый. Это для наглядности. Если смотреть по ходу движения, то эти пути находятся ДО выходных светофоров "Н1" и "Н2", ПОСЛЕ входного "Н". Какое это имеет значение? Дело в том, что матрицы управляются следующими по ходу движения светофорами. Соответственно, если матрица расположена перед тем же светофором, что и путь, обозначение которого надо вывести, то это будет "до", а если матрица находится перед светофором, а путь, обозначение которого надо вывести, - за этим светофором, то это уже будет "после". Чтобы матрица правильно работала, ей надо будет указать, где находится требуемый путь.
Следующее понятие - режим работы. Матрицы работают не всегда, они могут зажигаться только если светофор открыт в поездном или маневровом режиме. Поэтому мне показалось уместным сделать возможность указывать матрице, когда именно ей следует включаться: в поездном режиме, в маневровом или в обоих случаях.
Разряд. Поскольку матрица может состоять из двух указателей, предусмотрено 2 знакоместа для обозначения пути. Также есть третье знакоместо - для символа направления. Суммарно получается 3 знакоместа, где первое называется левым (l, left), второе - правым (r, right) (символьные знакоместа), третье - направлением (d, direct). Это означает, что структура обозначения пути имеет вид "lrd". То есть, если мы назвали путь, например, "В2/", то символ "В" будет помещен в разряд "l", символ "2" будет помещен в разряд "r", а символ "/" будет помещен в разряд "d". Для чего это нужно? Это сделано для того, чтобы можно было по своему желанию назначать любую матрицу на вывод любого символа из обозначения пути.
Паттерн. Это именно то, что задает режим работы матрицы и указывает ей, откуда брать информацию для отображения. Что такое паттерн? В простом виде - это 3 буквы, указывающие матрице, что делать. Первая буква - это разряд. Как описано выше, это может быть 3 варианта - левый (l) или правый (r) символ, либо направление (d). Вторая буква - это позиция пути ("до" или "после" светофора). Если "до" - это буква "b" (before), если "после" - "a" (after). Третья буква - это режим работы светофора, при котором матрица должна активироваться. Если в поездном режиме - "t" (train), если в маневровом - "s" (shunt), если в обеих случаях - "a" (all). Соответственно, если нам надо на одиносимвольную матрицу вывести первый символ обозначения пути, расположенного за светофором, в поездном режиме - паттерн будет "lat". Для двухсимвольных матриц паттерн складывается. То есть, если надо вывести второй (правый) символ и направление пути, расположенного за светофором, символ в маневровом, а направление - в маневровом и поездном режимах, паттерн будет "rasdaa". Если эта матрица должна работать только в поездном режиме - паттерн будет "ratdat". Если матрица находится перед тем же светофором, что и путь - паттерн будет "rbsdba" для первого случая и "rbtdbt" - для второго. Если надо вывести не первый, а второй символ - указываем не "r", а "l", соответственно получаем "lasdaa" ("latdat") или "lbsdba" ("lbtdbt").
Обозначение пути.
Для того, чтобы присвоить какому-нибудь пути обозначение, применяется атрибут "WM". Для присвоения надо в правом окошке identity светофора вписать этот атрибут и само обозначение (традиционным способом, т.е., чтобы вывести число от 1 до 9, вписываем его, от 10 до 19 включительно - вписываем числа 0...9 с зажатой кнопкой shift, чтобы ввести литеру, нажимаем кнопку с ней, переключившись на латиницу ("А" - "f", "Б" - "," и т.д.)). Выглядит это так:
Для маршрутно-разделительного и повторительного перед групповым светофоров обозначение пути отличается - атрибут имеет вид не "WM", a "+W". Это вынужденная мера, к сожалению, без этого не обойтись. Поэтому будьте внимательны при вводе атрибутов!
Назначение паттернов.
Для того, чтобы указать матрице, что вписанный текст - это именно паттерн, а не что-то другое, применяется атрибут "PT" (для светофоров, оборудованных матрицей) или "+P" (для отдельностоящих матричных указателей). Выглядит это так:
Вот пример, как это работает.
Цвет матричных указателей никак не зависит от режима их работы и не влияет ни на что.
Матричные указатели активируются только в том случае, если перед ними есть подвижной состав. Из-за некоторых особенностей движка, бывает, что при загрузке сценария бот не регистрируется - в этом случае матричный указатель не активируется. Также это может произойти, если игрок захватит локомотив в режиме свободного сценария, пролетев перед этим большое расстояние - матрица может остаться погашеной, даже если путь открыт. Это нормальная работа матрицы, вернее, ненормальная, но исправить это нельзя. В дальнейшем, если возникнет острая необходимость, я научу матрицы работать независимо от присутствия подвижного состава (через атрибут).
Начиная с версии 240319.0.11.0b, отдельностоящие матричные указатели умеют работать с атрибутом "+aчисло". Этот атрибут меняет логику активации матрицы - если его ввести, то матрица уже не будет ждать с моря погоды сигнала подготовки маршрута, а будет мониторить присутствие ПС. Как только ПС приблизится на расстояние, меньшее, чем задано после атрибута, матрица активируется (разумеется, если следующий светофор открыт в соответствующем режиме).
Скрипт матричного указателя умеет выводить логи. Если какой-то отдельностоящий указатель неадекватно себя ведет и не желает делать то, что должен, в окне его выпадашки надо вписать атрибут "+d1", а в корне игры создать папку Log. После перезапуска сценария указатель создаст в этой папке лог с названием "S65_Indicator TD_'имя'.txt". Если возникли проблемы с матрицей на светофоре, то надо активировать режим ведения логов в самом светофоре. Матрицы оборудованы достаточно серьезной системой вылавливания ошибок настройки, поэтому, если что-то пошло не так, лог в большинстве случаев укажет на конкретную причину.
Устаревший способ работы с матричными указателями.
В версиях сигналки до 240319.0.10.1b включительно применялся способ, когда выводимый символ вписывался в окошко char выпадашки светофора. Для обеспечения обратной совместимости этот способ оставлен. Если имеется светофор с односимвольным указателем, с вписанными в выпадашке символами, то, если следующий за ним светофор не прислал информации о пути, будет использован символ из выпадашки. В этом случае светофору надо назначить паттерн, с первыми буквами "la", поскольку символ из выпадашки перезаписывается в первое знакоместо. Это работает только с символьными указателями! Если светофор оборудован указателем направления, этот указатель или выведет символ ошибки, или останется погашеным.
Новый способ обозначения путей имеет приоритет перед старым, поэтому, если путь обозначен по-новому, символы в окнах char выпадашки можно не вычищать.
Связанные статьи:
Светофорная сигнализация С65 (DSB240319). Предисловие.
Светофорная сигнализация С65 (DSB240319). Часть 1. Опять "ТАВ"?
Светофорная сигнализация С65 (DSB240319). Часть 2. МРС.
Светофорная сигнализация С65 (DSB240319). Часть 3. АЛСН.
Светофорная сигнализация С65 (DSB240319). Часть 4. Светофоры 1.
Светофорная сигнализация С65 (DSB240319). Часть 5. Светофоры 2.
Светофорная сигнализация С65 (DSB240319). Часть 6. Изостыки.
Светофорная сигнализация С65 (DSB240319). Часть 7. АЛСН (приемный блок).
Светофорная сигнализация С65 (DSB240319). Часть 8. Маркеры SOM.
Светофорная сигнализация С65 (DSB240319). Часть 9. Маркеры MRSD.
Светофорная сигнализация С65 (DSB240319). Часть 10. Маркеры DS.