RailUnion.net


http://railunion.net/blog/����������/Re_%D0%9D%D0%B5%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D1%83%D1%8E%D1%89%D0%B8%D0%B5_%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D1%84%D0%BE%D1%80%D1%8B_r-872_sid-065770e0c670bd7412f4f0f6209779fd.html

Автор:  UnblackMAXmetal [ 24.03.2022, 12:16 ]
Тема блога:  Недействующие светофоры

ОБНОВЛЕН 23.04.2022
Подпольное дополнение недействующих светофоров для этой сигнализации
Установка.
Из папки RailWorks запустить программу Utilities, перейти на вкладку Менеджер пакетов и нажать кнопку Установить, выбрать Off.rwp
В редакторе искать С_65 Выкл... Светофоры не будут мешать другим сигналам. В свойствах светофора с одиночным полем вводить ЗАГЛАВНЫЕ буквы
СКАЧАТЬ



{ BLOG_REPLIES }

Автор:  Света [ 23.05.2022, 10:10 ]

По поводу скрипта уточнение.
Функция OnSignalMessage (message, parameter, direction, linkIndex) должна быть немного усложненной, так как сообщения с идентификаторами 0 и 4 являются особенными - 0 не пересылается, а 4 надо "отзеркаливать" в случае, если оно движковое. Также нельзя пересылать сообщения с параметром "DoNotForward" (этим параметром движок снабжает сообщения занятости, если их не требуется пересылать). Поэтому минимально эта функция должна выглядеть так:
Код: Выделить всё
function OnSignalMessage (message, parameter, direction, linkIndex)
   if message == 0 then
      Initialise ()
   elseif message == 4 then
      Call ("SendSignalMessage", 4, parameter, 1, 1, linkIndex)
   else
      if parameter ~= "DoNotForward" then
         Call ("SendSignalMessage", message, parameter, -direction, 1, linkIndex)
      end
   end
end

Также любой линковый юнит должен иметь в своем скрипте функцию GetSignalState () - эта функция вызывается движком для определения статуса сигнала. Её отсутствие вызывает ошибку и ломает работу системы запросов через tab. В минимальном виде эта функция выглядит так:
Код: Выделить всё
function GetSignalState ()
   return Call ("GetNextSignalState", "", 1, 1, 0)
end

Ещё одна обязательная функция - OnConsistPass (prevFrontDist, prevBackDist, frontDist, backDist, linkIndex). Её отсутсвие также вызывает ошибку. Даже если сигнал не отслеживает перемещение составов, эта функция должна быть:
Код: Выделить всё
function OnConsistPass (prevFrontDist, prevBackDist, frontDist, backDist, linkIndex)

end


Автор:  UnblackMAXmetal [ 23.05.2022, 12:15 ]

Спасибо за совет))), но оставлю как есть. В крайнем случае линк можно убрать на другой путь. Если это дополнение вообще кому-то нужно(кроме меня).

Часовой пояс: UTC + 4 часа

Powered by phpBB © 2002, 2006 phpBB Group
www.phpbb.com

Blogs powered by User Blog Mod © EXreaction
www.lithiumstudios.org