Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Маршруты (http://www.trainsim.ru/forum/forumdisplay.php?f=19)
-   -   Сигнализация: конфигурация и скрипты (http://www.trainsim.ru/forum/showthread.php?t=13819)

vicente 26.09.2021 17:53

[QUOTE=КЕ;602342]WR? Вроде говорилось про зеленый...[/QUOTE]
Ждём уточнений, короче. ;)

КЕ 26.09.2021 19:18

Там стоит[B] T_Signal_Small_GR.s[/B] - неправильно, это тупиковая станция, должен быть маневровый К-Б.
[I]T_Signal_Small_GR.s[/I] имеет одну голову:
[SPOILER]SCRIPT T_Small_GR

extern float block_state ();
extern float route_set ();
extern float next_sig_lr ();
extern float next_sig_mr ();
extern float def_draw_state ();
extern float state;
extern float draw_state;
extern float enabled;
extern float sig_feature ();
float next_state;

state = 1;
if (enabled && (block_state() == BLOCK_CLEAR))
{
next_state = next_sig_lr (SIGFN_NORMAL);
if ((next_state == 0) || ((next_sig_mr (SIGFN_NORMAL) == 1) && (next_state == 2)))
{ state = 2; }
else
{ state = 7; }
}
draw_state = def_draw_state (state);[/SPOILER]
В этой горловине все - карлики [B]T_Signal_Small_GR[/B]. Но их там не должно быть, дальше движение только маневровое (в тупик или на подъездные пути).
И этот светофор не даст зайти под состав. Он открывается, только если БУ свободен (поэтому вообще непонятно, зачем в его скрипте прописан маневровый аспект, хотя в конфиге геометрических параметров белого огня нет).
И опять как всегда, в логе - ошибки сигнализации.

vicente 26.09.2021 19:59

Я, ароде, тоже вижу на скрине тупики. Но, состав не заметил. Конечно, все светофоры, кроме маневровых у Тимаса будут закрыты на занятый путь.
Возможный вариант решения - сделать маршрут на свободный путь (будет, я так понимаю, красный, но его можно будет проехать - RESTRICTING), оттуда опять - точка разворота, не заезжая за сигнал - ещё одна - под состав.

[size="1"][color="Silver"]Добавлено через 4 минуты[/color][/size]
[SPOILER]
Немного оффтопа в теме по сигнализациям MSTS - "закончу" тему по С# скриптам в Open Rails - два дня штудирую Шарп и источники кодов и ещё кучу всего. Пока, по крайней мере относительно меня - отбой и "обе машины - стоп". Сыро. Разработчики вставляют только тот функционал, который они считают нужным для целей, для которых и переводят сигналку на С#. Большинство функций sigscr.dat , насколько я врубился в это дело, в С# будут недоступны.
Но, Шарп буду продолжать изучать :D
[/SPOILER]

КЕ 26.09.2021 20:05

[QUOTE=vicente;602346]... переводят сигналку на С#. Большинство функций sigscr.dat , насколько я врубился в это дело, в С# будут недоступны.[/QUOTE]
Но тогда смысл?..
_________________
Короче - выкинуть нафиг оттуда эти светофоры, и установить маневровые К-Б.
И выпустить патч.;)

vicente 26.09.2021 20:39

Я уже писал: кое-кому из разрабов не хватает [S]сообразительности... терпения... знаний С/С++ ... желания программить в sigscr.dat[/S] аспектов и ещё, там, разные отмазки были
[SPOILER]
Мы разрабатываем некоторые сценарии сигналов для воссоздания испанских систем сигнализации, и мы обнаружили, что SIGSCR немного ограничивает. (...) Вот некоторые из причин, по которым, по нашему мнению, может быть полезен C #:

*** 8 аспектов MSTS недостаточно для представления всех аспектов сигнала (например, в Испании у нас есть до 16 различных аспектов). Каждый сигнал показывает подмножество общих аспектов, поэтому обходным путем является повторное использование одного и того же аспекта MSTS для разных аспектов. Однако это вызывает проблемы с продвинутыми системами управления поездом, такими как ETCS, которые будут предпринимать разные действия в зависимости от аспекта сигнала. (...)

*** Сигналы трудно отлаживать людям, не знакомым с кодом OR. Использование C # позволяет использовать Console.WriteLine (), что полезно для простой отладки логики.

*** Нет связи между сигналом и последующим. В испанской сигнализации есть одна конкретная ситуация, когда второй сигнал должен быть ограничен до тех пор, пока первый сигнал не будет очищен более 10 секунд, когда эта функция требуется. Я добавил вызов функции SendSignalMessage, который отправит строковое сообщение требуемому сигналу.

*** Работа с глобальными переменными утомительна, потому что их нужно читать и сохранять при каждом обновлении.


*** Некоторые из проблем могут быть решены с помощью существующего интерфейса SIGSCR (например, количество доступных аспектов может быть расширено, как это делается с помощью определений SIGFN_ и SIGSUBT_), но другим потребуется уделить много времени синтаксическому анализатору SIGSCR.
[/SPOILER]

КЕ 26.09.2021 20:55

Ну понятно, там свои запросы. Но [COLOR="Blue"]sigscr.dat[/COLOR] останется?

vicente 26.09.2021 21:31

Да, конечно.
Более того, в С# можно будет писать отдельно-взятую сигнальную голову. Сим будет прежде всего проверять наличие скрипта в С#, если не найдёт - sigscr.dat в папке OpenRails , если и там нет - в корневой папке MSTS . Вот такой, вот, геморрой

КЕ 26.09.2021 21:45

То есть какой-то субобъект можно описать отдельным скриптом на С#, а все остальное в sigscr, так?

roman5 26.09.2021 22:16

[QUOTE=КЕ;602344]
И опять как всегда, в логе - ошибки сигнализации.[/QUOTE]
А речь про какой лог, в скрипте не вижу [B]debug_out2 [/B]функций, сам msts вроде лог не делает. Или это про OR ?

vicente 26.09.2021 22:23

Они говорят о Signal Type. Получается - так. Сначала программа ищет его в С#, причём, компилируется это дело в реальном времени - в процессе запуска игры. Если в скрипте на С# есть ошибки или нет такого скрипта для одноименного типа, заявленного в sigcfg.dat, тогда программа обращается к sigscr.dat .
Мне тоже многое пока непонятно. Как быть с заявленной конфигурацией в sigcfg.dat ? С [S]буржуйскими[/S] дополнительными аспектами тоже не всё так просто. 8 "родных" MSTS -овских аспектов остаются. Они "двигают" поезда AI (трафики), они выводятся на CabSignal дисплей и т.д. То, что они придумали - некий "текстовый" аспект (обзывай, как хочешь) и этими аспектами светофоры обмениваются как сообщениями. Бррр...
Говорю же, ПОКА, повторюсь, ПОКА, функционал разнообразием не блещет, а класс "наследуется" из нового файла source - ещё вопрос или я могу "снимать" нужные мне внешние функции через включение соответствующего совершенно другого *.cs -файла. Если да - можно будет подумать о каких-то отдельных, особых головах в С#. Но, вряд ли, в том виде, в котором оно сейчас. Но, поиграться можно на досуге (пока этого длсуга у меня нет).

КЕ 26.09.2021 22:47

[QUOTE=roman5;602354]А речь про какой лог, в скрипте не вижу [B]debug_out2 [/B]функций, сам msts вроде лог не делает. Или это про OR ?[/QUOTE]
Да, лог [B]OpenRails[/B] или [B]RTrainSim[/B] - удобно "косяки" искать.

roman5 26.09.2021 23:19

[QUOTE=vicente;602355]То, что они придумали - некий "текстовый" аспект (обзывай, как хочешь) и этими аспектами светофоры обмениваются как сообщениями.
[/QUOTE]
Ну это удобно для расширения функционала, отладки.

[QUOTE=vicente;602355]класс "наследуется" из нового файла source - ещё вопрос или я могу "снимать" нужные мне внешние функции через включение соответствующего совершенно другого *.cs -файла.[/QUOTE]
По идее да, но разве они недоступны в классе, от которого наследуешь свой класс ?

vicente 27.09.2021 11:35

Нет. Там урезано "под разработку". В смысле, им не нужна зависимость от next_sig_lr (SigFn_Type) - к этой функции не привязаться. Можно давать каждому аспекту "параллельно" ещё и текстовый аспект и сделать зависимость от этого текста, но преимуществ в этом я не вижу. Есть переменные в sigscr.dat . Но, это пока. Преимуществом может быть функционал С#, какие-то вещи, которые в sigscr.dat нельзя делать... Но, посмотрим. Пока что, программирование на С# даже в тестовые релизы не включено.

Predator 27.09.2021 12:12

[QUOTE=vicente;602341]Хм... похоже, маневровый NORMAL WR (?) . У него есть одна интересная деталь. А можно скриншот редактора сценариев и на нем указать место, на котором сделан предыдущий скрин и как-то выделить/обозначить PATH этого сервиса. Сразу обозначу подозрение. Если светофор - тот, о котором я говорю и дальше есть противошерстная стрелка не по марщруту - будет красный[/QUOTE]
[QUOTE=vicente;602343]Ждём уточнений, короче. ;)[/QUOTE]
Пара скринов из редактора сценария:
Скрин № 1:
[SPOILER][url=https://d.radikal.ru/d26/2109/b6/45274fa1a168.png][img]https://d.radikal.ru/d26/2109/b6/45274fa1a168t.jpg[/img][/url] [/SPOILER]
Скрин № 2:
[SPOILER][url=https://c.radikal.ru/c24/2109/f8/6edf8e9e8905.png][img]https://c.radikal.ru/c24/2109/f8/6edf8e9e8905t.jpg[/img][/url][/SPOILER]
Проблемный светофор:
[SPOILER][url=https://d.radikal.ru/d42/2109/4f/449f3193705b.png][img]https://d.radikal.ru/d42/2109/4f/449f3193705bt.jpg[/img][/url] [/SPOILER]

КЕ 27.09.2021 12:16

Светофоры не те расставлены. Нет смысла биться об эту "стену" - надо заменять светофоры и выпустить патч. Я серьезно.


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

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim