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

UnblackMAXmetal
 
Сообщения: 10
Зарегистрирован: 28.08.2021, 15:37
Имя: Макс
Блог: Просмотр блога (2)
Архивы
Поиск в блогах

Недействующие светофоры

Постоянная ссылка UnblackMAXmetal 24.03.2022, 12:16

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

2 комментариев 20346 просмотров
Комментарии

Re: Недействующие светофоры

Постоянная ссылка Света 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
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 1258
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора
Блог: Просмотр блога (21)

RE: Недействующие светофоры

Постоянная ссылка UnblackMAXmetal 23.05.2022, 12:15

Спасибо за совет))), но оставлю как есть. В крайнем случае линк можно убрать на другой путь. Если это дополнение вообще кому-то нужно(кроме меня).
UnblackMAXmetal
 
Сообщения: 10
Зарегистрирован: 28.08.2021, 15:37
Имя: Макс
Блог: Просмотр блога (2)

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

Зарегистрированные пользователи: Majestic-12 [Bot], Roman71, Yandex [Bot]