Страница 35 из 52

Русская сигнализация для Railworks

СообщениеДобавлено: 18.03.2013, 09:27
i2GR
Версия 0.7a2 от 14.03.2017 (альфа под тест альфы ЧС2)
rwp с тестовым маршрутом
zip только пак

Zip-Архив надо скачать (на g.диске будет пиктограмма сверху страницы). и распаковать в ".../railworks/Assets/RailroadSim/RailSignals/", предварительно все оттуда удалив.

Мануал
(в паке, естественно, также присутствует в папке Manuals/RailroadSim, файл RSv07)
Изображение

Изменения по сравнению с версией 0.6
Исправления обнаруженных ошибок.
Изменения структуры сообщений по сравнению с Rail Signals v0.6 для реализации локомотивной сигнализации
Изменение назначения полей Approach Control, (Limited Yellow ни на что не влияет) с корректировкой скриптов.
Новые маркеры Rail Signals Marker Shift с двумя и тремя линками.

Обратная связь
I. При проблемах в работе сигнализации просьба свои вопросы адресовать с приложением скриншотов и видео.
II. В большинстве же случаев, связанных с процессом работы лучше сразу делиться картой и сценарием, чтобы можно было воспроизвести глюк и быстро понять, что происходит и как исправить.

Пара полезных ссылок для начинающих и не только
О системе нумерации светофоров
ИСИ
РУ-30-80 (вещь старая, но полезная, показывающая насколько мы далеки от идеала)
Дополнение к РУ-30-80
Перевод 3.01 Signal Setup And Scripting

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 18:16
alexthut
Добрый день! Возник вопрос: не могу разобраться с локомотивным светофором. На примере 2тэ10м: Ставлю маркер ЭК перед локомотивом (X2SSSS12345670statnameT1), ставлю выходной, пишу тильду, но на локомотивном белый огонь.
Прошу помочь!

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 19:25
Linx
Вопрос поставлен не верно. надо уточнить вначале, в 2тэ10м есть работающий АЛСН или нет :)

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 19:51
Mikhail_72RUS
alexthut
Первое: маркеры ЭК сделан для ЧС2 по КЛУБ-у и под 2ТЭ10М ставить не надо. Второе: АЛСН у тепловоза на данном этапе не настроено!

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 20:01
i2GR
маркер ЭК и для простой АЛСН тоже прекрасно подойдет. Если сигналка ноль-седьмая

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 20:16
Moss®
i2GR
Игорь, ненавязчивый вопрос: возможно ли исправить 0.5-ю версию (внести правки в код) аналогичные 0.7-й, но так, чтобы она осталась 0.5-й

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 20:40
Linx
Дим дело в маневрах?

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 20:46
alexthut
alexthut писал(а):Добрый день! Возник вопрос: не могу разобраться с локомотивным светофором. На примере 2тэ10м: Ставлю маркер ЭК перед локомотивом (X2SSSS12345670statnameT1), ставлю выходной, пишу тильду, но на локомотивном белый огонь.
Прошу помочь!

Так что я делаю неправильно?

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.07.2017, 20:54
Linx
вы пытаетесь жопу с пальцем скрестить... вам ясно ответили в 2тэ10м алсн не рабочий! и что бы вы не ставили, тильду, звездочку, козюльку работать он не будет... пойду похудею :boom:

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.07.2017, 22:56
Moss®
Света писал(а):Для сценаристов.
Маркеры для сигналки, v. 1.2

Собственно мое желание найти истину в том, как всё это работает не даёт мне покоя:
В процессе создания очередного сценария выявил вот что:
Пока без ботов! Сигналка 0.5.

1. Изначально стоим на платформе станции Мордвес. Маркеров нет. Проходные на перегонах разрешающие!

Мордвес(выход) - (вход)Венёв(выход) - (вход)Грицово(выход)


2. Клацкаем double tab левым указательным пальцем

Мордвес(выход) - (вход)Венёв(выход) - (вход)Грицово(выход)
Ведь всёж отлично, не правда ли? Причём на этом участке КУЧА двойных красных треугольников, и проблем они не создают. Костыли не нужны.


3. Теперь интереснее. С маркером Светланы, а именно 16:00:02-2~


Мордвес(выход) - (вход)Венёв(выход) - (вход)Грицово(выход)
Т.е. выход бело-лунный, остальное всё красное. Маркер, который имитирует double tab (....-2~) не работает корректно !!!
До сих пор я использовал маркеры именно так. Если пускал встречного бота (ботов), то бело-лунный менялся на зелёный, но не на всех станциях.


4. Сегодня я обнаглел и поставил перед выходным ДВА МАРКЕРА ПОДРЯД 16:00:02-2~ и 16:00:04-2~ и вуаля:

Мордвес(выход) - (вход)Венёв(выход) - (вход)Грицово(выход)


Теперь осталось добавить встречных ботов и посмотреть, не испортят ли они картину.
А пока вопрос:
Почему один маркер открывает выходной бело-лунным, а два маркера подряд зелёным? Ведь получается 4 раза tab нажали в кодах маркеров?

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.07.2017, 00:00
Airfly
Moss® удали первый маркер, который 16:00:02-2~ и оставь только тот, который 16:00:04-2 и должно получиться "вуаля". Попробуй и потом напишешь.
По поводу Мордвес(выход) - (вход)Венёв(выход) - (вход)Грицово(выход) здесь ненулевой линк входного в Грицово 100% залинкован перед косячным стыком, найди этот косячный стык и перенеси ненулевой линк сразу за этот стык, сохрани и проверь на зелёный цвет, если не будет выйди из маршрута, перезапусти и "вуаля" зелёный цвет. Если лень искать косячный стык, то перенеси ненулевой линк входного в Грицово прямо перед нулевым линком выходного и сохрани, перезапусти маршрут и вуаля зелёный цвет.
Про то что там много треугольников на перегоне у меня тоже так было и при этом входные и выходные были открыты и работали нормально, (но я все равно переделал пути, чтобы не было этих треугольников). Я не стал перепроверять почему оно так, но возможно и скорее всего скрипт "проходных" светофоров иной и отличается от входных/выходных и игнорируют эти треугольники и отсылает сигнал дальше. Но тогда в таком случае первый и последующие "треугольники" должны стоять после первого проходного светофора. Я с этим не стал разбираться и проверять это, но скорее всего оно так и есть. Я тогда писал в посте сигналки Игоря: что "мной были обнаружены ещё три аномальные особенности в работе сигналки, но о них напишу позже ибо лень расписывать", так вот это одно из тех аномальных явлений о которых я так и не написал.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.07.2017, 00:08
Moss®
Airfly
Ты меня не понял совсем.
Про маркеры я толкую, что с одним зелёного не будет, а с двумя будет зелёный
За Грицово выход красный, т.к. за ним маршрута нет, это конечная.
Да и вопрос этот Свете.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.07.2017, 01:49
Света
Moss® писал(а):Да и вопрос этот Свете.
Ну что же, попробую ответить :)
мое желание найти истину в том, как всё это работает
В общих чертах смысл такой. Когда игрок нажимает ТАВ, движок напрямую вызывает функцию скрипта светофора, а код сообщения указывает светофору, что он должен сделать, то есть, в данном случае - прореагировать на этот запрос.
Когда же запрос отсылает маркер, технически в скрипте светофора происходит все то же самое. Но есть одно, вроде как незначительное, отличие.
Я для своих рассуждений воспользуюсь фрагментом скрипта светофора, любезно опубликованным Игорем. Приводить его здесь не буду, кто разбирается в скриптах, сам запросто это найдет. Это скрипт выходного светофора А3 - "...\Exit.lua".
(Сразу честно оговорюсь, я пишу после очень поверхностного просмотра скрипта, так как сейчас у меня голова забита другими проектами и мне просто не до того, чтобы проводить глубокий анализ. Если моё понимание неверно, то и выводы будут ошибочны, так что я пишу всего лишь предположения, надеюсь, Игорь меня поправит, если я не туда заверну :shuffle: ).
Логика работы такая. Когда светофор получил запрос, он проверяет, насколько давно был принят аналогичный запрос. Если это время меньше 0.5 сек (то есть, 2 ТАВ-а подряд), то светофор работает по сценарию открывания в поездном режиме. А если больше - светофор делает вывод, что это одиночный ТАВ и работает по сценарию маневрового режима. Я считаю, что эта схема неплохо придумана, но у неё есть изъян. Какой?
Дело в том, что первый запрос (неважно, от маркера или от игрока) по-любому вызовет блок запуска светофора в маневровый режим. И только второй запрос (если это двойной ТАВ) запустит поездной режим с рассылкой сообщений и т.п.. Насколько это критично, я не могу сказать, для этого надо изучить все процессы, происходящие при отработке функции SetIndication(). Но, в любом случае, получается, что при двойном ТАВ-е светофор начинает выполнять одну функцию и практически сразу же отменяет или прерывает её, переключившись в другой режим.
Насколько это может быть опасно? Если в функции нет никаких временных задержек ит.п., то это не опасно, хотя и нежелательно. Но если есть какие-то тайминги, ответ очевиден - все процессы, которые будут отложены по времени, так и не завершатся. Это уже первый шаг к крашу.
Теперь я расскажу, в чем отличие между запросом от игрока и маркера. Если мои предположения выше верны, и у функции SetIndication() есть блоки с задержками, то запросы от игрока и от маркера прервут её работу на разных этапах. Игрок, как бы ни старался, сделает колоссальную (по меркам программы, разумеется) паузу между запросами, и это может позволить функции что-то успеть сделать. В этом случае конечное состояние светофора будет зависеть от всего: от скорости кликов игрока, от частоты кадров, от архитектуры путей... Маркер же отсылает 2 запроса в течении 1 кадра. То есть, эта функция однозначно запустится, что-то сделает, но ни один тайминг никогда, ни при каких обстоятельствах, не сработает.
Я думаю, что частые случаи зажигания белого огня на двойной ТАВ (и разное поведение при разных источниках запросов) - следствие именно этого явления. Могу только предложить переписать этот блок скрипта так, чтобы получив запрос, светофор ждал с секунду, и, если будет второй запрос, работал в поездном режиме, если не будет - в маневровом. Так удастся сделать активацию только одного режима. Если мои заключения верны, то это может вылечить проблему открывания.
Ещё раз повторюсь, это всего лишь предположения.
Почему один маркер открывает выходной бело-лунным, а два маркера подряд зелёным? Ведь получается 4 раза tab нажали в кодах маркеров?
Нет, это не 4 раза ТАВ нажали, а 2х2 с интервалом в 2 секунды, то есть, фактически, светофор должен был за это время закончить все процессы, вызванные первым двойным ТАВ-ом и получить второй запрос в "режиме ожидания". Меня больше удивляет, почему он не погас при этом полностью, повторный запрос у меня обычно приводит именно к этому.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.07.2017, 12:20
Airfly
Moss® а ну тогда понятно. Маркеры Светы я ещё не использовал и не тестировал, я о них вообще узнал совсем недавно, можно сказать на днях. Прост была замечена ещё одна особенность работы сигнализации. Это то, что сигнализация (её скрипт для "зелёных" выходных и входных светофоров) начинает работать где-то с 3-й секунды после старта сценария). До 3-й секунды зелёный по двойному таб не открывается, вместо этого загорается бело-лунный огонь. Маркеры Игоря "двойной таб" + открытие "с нулевой секунды" открывает выходной бело-лунным огнём, а не зелёным, как это должно быть, и он же этот маркер "двойной таб" открывает зелёный огонь только на выходном. На входном маркер "двойной таб" зелёный не откроет.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.07.2017, 13:44
hellishfire
Ребят, входные никогда не откроются "вручную" - маркером или табом. Будет только белый мигающий.

Входной открывается только,
1.если выходной перед ним открылся
2.если локомотив стартует на перегоне и ему собран маршрут в ту сторону, куда может принять входной поездным режимом.

Это всё касательно нашей сигналки в РВ.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.07.2017, 13:56
Света
Маркеры-открывашки обновлены.
Добавлена возможность включения/отключения информационных окон при отправке запроса светофру. Может быть полезно при тестировании сценария. Чуть подробнее в блоге - Использование - Файл конфигурации.
Также добавлена функция OnConsistPass в скрипт маркера "Время", чтобы не было ошибки её вызова, поэтому обновить пакет рекомендую всем, кто использует маркеры.
Файл перезалит, ссылка обновлена.