Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

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

Обсуждение маршрутов, объектов, сценариев

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

Сообщение i2GR » 18.03.2013, 09:27

Версия 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. В большинстве же случаев, связанных с процессом работы лучше сразу делиться картой и сценарием, чтобы можно было воспроизвести глюк и быстро понять, что происходит и как исправить.

Пара полезных ссылок для начинающих и не только


Прочее
Полезность проделанной работы можно оценить количественно: Я.Деньги 41001758532250

в планах (В порядке убывания вероятности / быстроты появления):
1. С65_А3_вход_крл_ЖЗЖ-КБ, С65_А3_вход_крл_ЖЗ-КЖ
2. С65_Консольные...много
Последний раз редактировалось i2GR 06.04.2017, 11:16, всего редактировалось 40 раз(а).
Аватара пользователя
i2GR
 
Сообщения: 524
Зарегистрирован: 04.09.2008, 16:59
Благодарил (а): 244 раз.
Поблагодарили: 288 раз.
Блог: Просмотр блога (4)
Имя: Игорь

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

Сообщение Света » 29.12.2018, 17:25

Обозначения светофоров - это всего лишь декорация. Поэтому на этот вопрос ответить затруднительно.
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 591
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 315 раз.
Поблагодарили: 583 раз.
Блог: Просмотр блога (7)
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора

Re: Набор сценариев от Mikhail_72RUS

Сообщение Mikhail_72RUS » 28.05.2019, 08:54

le Sandro писал(а):Удалите сигналку полностью ( в т.ч. почистив каталоги). И поставьте заново через rwp. Мне помогло. А, еще кеш почистить надо.

Ну я удалял сигналку, потом ставил через rwp и кеш почистил, но это не помогло. Тут либо сигналка глючит так, либо кривая расстановка оных. На других маршрутах нормально работают.
Изображение
Маршрут без сценария - это как сценарий без фильма, вроде он есть, а смысла нету.
Аватара пользователя
Mikhail_72RUS
 
Сообщения: 1137
Зарегистрирован: 23.01.2011, 12:10
Откуда: Российская Федерация, Тюменская обл, г.Тюмень!
Благодарил (а): 829 раз.
Поблагодарили: 696 раз.
Играю в: Train Simulator 2018
Имя: Михаил

Re: Набор сценариев от Mikhail_72RUS

Сообщение Moss® » 28.05.2019, 20:31

Mikhail_72RUS писал(а):Тут либо сигналка глючит так, либо кривая расстановка оных.


Светофор НМ45

Миша, скрин из твоей сценки, где у тебя маркер даёт 2ТАБ и ты получаешь БЕЛЫЙ
Изображение

В сценарии свободной поездки без ботов:
жму 2ТАБ из красного состояния, путь не ведёт за станцию, а только проходит несколько стрелок = БЕЛЫЙ
Изображение

переключаю стрелки на правый путь за станцию в направлении ТУЛЫ, жму 2ТАБ из белого состояния = ЗЕЛЁНЫЙ
Изображение

переключаю стрелки на путь за станцию в направлении БОБРИК ДОНСКОГО = ЖЁЛТЫЙ
Изображение


Добавлено спустя 18 минут 51 секунду:
Я бы поставил вопрос иначе:
Почему 2ТАБ дают белый? Как там скрипт вообще отрабатывает?
Белый должен по 1ТАБ загораться, разве нет?

В старых своих сценариях я экспериментировал и ставил 2 маркера, один за другим с разницей в 2 секунды, которые 2ТАБ дают:
- иногда везло, и после белого загорался зелёный
- иногда не везло и после белого светофор гас совсем
Последний раз редактировалось Moss® 28.05.2019, 21:22, всего редактировалось 1 раз.
Moss®
 
Сообщения: 583
Зарегистрирован: 15.05.2016, 13:28
Благодарил (а): 265 раз.
Поблагодарили: 394 раз.
Играю в: Train Sim World
Имя: Дмитрий

Re: Набор сценариев от Mikhail_72RUS

Сообщение Света » 28.05.2019, 21:00

Offtopic :
Moss® писал(а):Почему 2ТАБ дают белый?

Из-за неверного решения обработчика. Одна и та же ошибка, по всей видимости, кочует из версии в версию. Второй ТАБ принимается в тот момент, когда скрипт уже частично выполнил "маневровую" ветку, из-за этого создается "рулетка", так как результат непредсказуем; а непредсказуем он из-за того, что момент прерывания "маневрового" обработчика зависит от FPS, времени между обращениями, загруженнности "диспетчера" (следовательно - количества ботов), обрабатываемой сети, количества линков на пересылке, глубине запроса к стрелкам, т.е., этот момент зависит практически от всего. Поэтому искать закономерности - бессмысленная, ИМХО, трата времени.
Moss® писал(а): Как там скрипт вообще отрабатывает?

Неправильно.
Moss® писал(а):Белый должен по 1ТАБ загораться, разве нет?

Да.
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 591
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 315 раз.
Поблагодарили: 583 раз.
Блог: Просмотр блога (7)
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора

Re: Набор сценариев от Mikhail_72RUS

Сообщение Moss® » 28.05.2019, 21:08

Света
Получается, что лучше бы двумя разными кнопками обрабатывались маневровый и поездной режимы, например: 1ТАB - поездной, 1Shift - маневровый ?
Moss®
 
Сообщения: 583
Зарегистрирован: 15.05.2016, 13:28
Благодарил (а): 265 раз.
Поблагодарили: 394 раз.
Играю в: Train Sim World
Имя: Дмитрий

Re: Набор сценариев от Mikhail_72RUS

Сообщение BooYa » 28.05.2019, 21:16

Offtopic :
Moss®
Разными кнопками невозможно. Я со Светой это обсуждал, пока свою делали. TAB - это системный вызов, и заменить другой кнопкой его не выйдет, т.к. этот вызов отправляется не локомотивом, а уходит напрямую с клавиатуры в движок.

Но, к слову. В нескольких ТАБах нет ничего критичного. В нашей сигналке, например, используется 3 вызова: 1ТАБ, 2ТАБ, 3ТАБ, и всё работает прекрасно. И открывает нужными огнями, и промежуток для нажатия кнопки достаточен, чтобы не дрочить кнопку со сверхсветовой скоростью.

Как Света доскриптует всё, что нужно для демонстрации и скинет мне тестовый полигон, сделаю стрим, чтобы не быть голословным.
Аватара пользователя
BooYa
 
Сообщения: 2788
Зарегистрирован: 24.01.2010, 16:30
Откуда: Екатеринбург
Благодарил (а): 826 раз.
Поблагодарили: 1996 раз.
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Андрей

Re: Набор сценариев от Mikhail_72RUS

Сообщение i2GR » 29.05.2019, 01:55

дабл ТАБ даст белый при неправильной линковке. а при правильной (то о чем Света писала) только если не более 2 FPS
Под неправильной линковкой надо понимать не только тот выходной светофор, который открывается, но и окружающие
Аватара пользователя
i2GR
 
Сообщения: 524
Зарегистрирован: 04.09.2008, 16:59
Благодарил (а): 244 раз.
Поблагодарили: 288 раз.
Блог: Просмотр блога (4)
Имя: Игорь

Re: Набор сценариев от Mikhail_72RUS

Сообщение Moss® » 29.05.2019, 11:17

i2GR писал(а):дабл ТАБ даст белый при неправильной линковке

не понятно: даст белый в любом направлении движения?
2ТАБ на этом светофоре даёт не только белый, даёт и зелёный, и желтый

я не отрицаю, может где линк какой-нибудь и залез слегка на стрелку
Moss®
 
Сообщения: 583
Зарегистрирован: 15.05.2016, 13:28
Благодарил (а): 265 раз.
Поблагодарили: 394 раз.
Играю в: Train Sim World
Имя: Дмитрий

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

Сообщение Света » 29.05.2019, 15:30

i2GR писал(а):только если не более 2 FPS

Надо всего лишь изменить принцип подсчета ТАБов.
Чтобы приняв первый ТАБ, светофор не начинал выполнять команду, а ждал, не придут ли ещё другие ТАБ-ы, которые можно рассматривать как один цельный запрос.
Я не знаю, актуально или нет, но на всякий случай покажу свое решение, может, что-то пригодится из него :). У меня использован именно такой принцип - пока не пройдет заданное время от последнего запроса, светофор ничего не делает. Каждый запрос обновляет таймер, поэтому количество ТАБ-ов не ограничено, как и время, за которое их надо сделать.

Итак, основная функция счетчика запросов:
Код: Выделить всё
function RequestSPAD (mode)
   if mode == "ctrl" then
      return gRequest.Mode
   elseif mode == "set" then
      if gRequest.Setting then
         gRequest.Setting = false
         gRequest.Activation = false
         gRequest.Mode = gRequest.Count
         gRequest.Count = 0
         if gRequest.Mode == 1 then
            -- Ветка отработки 1 ТАВ
         elseif gRequest.Mode == 2 then
            -- Ветка отработки 2 ТАВ
         elseif gRequest.Mode == 3 then
            -- Ветка отработки 3 ТАВ
         end
      end
   elseif mode == "reset" then
      gRequest = {Timer = 0, Mode = 0, Count = 0, Activation = false, Setting = false}
   end
end

Эта функция запоминает сам факт запроса, количество ТАБ-ов, по требованию RequestSPAD ("ctrl") отчитывается о текущем состоянии и сбрасывается в исходное состояние по команде RequestSPAD ("reset").

Инициализируется в функции Initialise ():
Код: Выделить всё
function Initialise ()
   -- Script global variables
   gRequest = {Timer = 0, Mode = 0, Count = 0, Activation = false, Setting = false}
end

Для отсчета времени в функции Update (time) прописан контроллер:
Код: Выделить всё
function Update (time)
   if gRequest.Activation then --  Если работает счетчик запросов SPAD
      if Call ("GetSimulationTime") - gRequest.Timer >= 0 then
         gRequest.Setting = true
         RequestSPAD ("set")
      end
   end
end -- end function Update

А при получении запроса ТАБ в функции ReactToSignalMessage (message, parameter, direction, linkIndex) активируется контроллер запросов и происходит подсчет принятых ТАБ-ов. Здесь же установлена задержка, которую будет ожидать скрипт после приема очередного ТАБ-а, перед тем, как выполнить запрос:
Код: Выделить всё
function ReactToSignalMessage (message, parameter, direction, linkIndex)
   if message == REQUEST_TO_SPAD and (RequestSPAD ("ctrl") == 0 or (RequestSPAD ("ctrl") == 1 and gBlockState == "BLOCKED")) then
      gRequest.Timer = Call ("GetSimulationTime") + 3   -- Перезапуск времени, истекшего с момента запроса. Реакция на запрос будет через 3 секунды
      gRequest.Count = gRequest.Count + 1            -- Счетчик количества запросов. То есть, "количества ТАВ-ов"
      gRequest.Activation = true                  -- Активация блока обработки системы запросов в Update
   end
end

Если в процессе работы скрипту надо выяснить, был ли запрос, используется команда RequestSPAD ("ctrl"). Возвращает количество принятых ТАБ-ов или 0, если запросов не было (в формате "number"). Если надо сделать сброс, используется команда RequestSPAD ("reset") (ничего не возвращает).
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 591
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 315 раз.
Поблагодарили: 583 раз.
Блог: Просмотр блога (7)
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора

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

Сообщение i2GR » 30.05.2019, 01:18

Как всегда, "ничего" не понял, но очень интересно" :D
Аватара пользователя
i2GR
 
Сообщения: 524
Зарегистрирован: 04.09.2008, 16:59
Благодарил (а): 244 раз.
Поблагодарили: 288 раз.
Блог: Просмотр блога (4)
Имя: Игорь

Пред.

Вернуться в [RW] Маршруты и сценарии

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1