![]() |
![]() |
|
Сайт | ПРАВИЛА ФОРУМА | FAQ | Регистрация | Справка | Пользователи | Социальные группы | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
![]() |
#27 |
Матёрый пользователь
|
![]()
Такс, вот и итог проб и ошибок: http://narod.ru/disk/18923127000/RF%...igger.cdp.html
Работает: начало и прекращение погрузки по Т, показ HUD'а по двойному Т. В худе можно выбрать вид процесса, также отображается его прогрессбар. В настройках указывается сторона платформы, имя, путь (в будущем это будет использоваться во всяких САВП), вид трафика (в пригородном, если поезд весь не влез, то накладывается штраф на скорость посадки/высадки), скорости посадки/высадки по умолчанию (скриптованные вагоны должны сами предоставлять эту инфу), длину платформы и величину трафика. Все числа в таблице трафика — в процентах от общей емкости состава. Я посчитал, что это лучший вариант, так как с одной платформы могут отправляться поезда разной вместительности. Возможно в дальнейшем стоит различать вид трафика не только по настройке в триггере, но и по поезду. Для этого можно создать отдельный продукт Local Passengers (пригородные пассажиры ![]() Касательно скриптового управления. Информация получается через GetProperties() от вагона. При наличии в нем тега scripteddoors ожидается, что за ним следует два числа — скорость погрузки/выгрузки слева и справа, пассажиров в секунду, дробные значения поддерживаются. Вопрос, стоит ли различать скорость посадки и высадки (читать 4 числа)? Месседжей-уведомлений есть три, отсылаются они поезду от триггера: "PassStationTrigger.Notify", "ProcessStarted <тип процесса>" — о начале процесса "PassStationTrigger.Notify", "ProcessCompleted" — об успешном его завершении "PassStationTrigger.Notify", "ProcessAborted" — о неуспешном завершении. Завершить процесс (в том числе закрыть двери) можно второй раз нажав на Т. Если сделать это до загорания на худе зеленого огня, то процесс будет считаться незавершенным. О маневрах во время посадки/высадки: они не поддерживаются. Нужно или запускать процесс после их, или завершать до. Из-за невозможности надежно опираться на объект поезд при маневрах, а также необходимости дублировать процесс для двух расцепившихся частей, или сливать в один при сцепке код сильно осложнался, раздувался и работал ненадежно. Решение, которе сейчас у меня назрело — не использовать поезд, а проводить процесс над массивом вагонов. В принципе для этого уже многое в коде готово, но я не могу более заниматься этим маркером, ибо стоят проекты важнее. Кто желает, может этим заняться, скрипт свободен для некоммерческого использования. АПИ, команды машинисту, правила сессии: их пока нет. Причина указана выше. Но, точно также, база под это дело заложена. Пока выходные, я смогу исправить в работе баги, если таковые обнаружены. Потом уже мне будет не до этого триггера. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
|
|
|
![]() Что это? |