Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Маршруты и сценарии (http://www.trainsim.ru/forum/forumdisplay.php?f=24)
-   -   Триггер "пассажирская платформа" (http://www.trainsim.ru/forum/showthread.php?t=9953)

TRam_ 07.03.2010 05:48

Триггер "пассажирская платформа"
 
Наделал саму СССРовскую платформу :)

Выполнена в виде триггера. Устанавливается где-то посередине пути рядом с "реальной" платформой. Зелёный кубик находится справа от правильного направления пути (т.е. если в настройках ничего не менять, то он должен залезать на(под) платформу)

Естественно, пассажиров на платформу на карте он не ставит, но пронаблюдать за пассажирами в вагоне, отследив момент загрузки, вполне можно. (Загрузка происходит мгновенно - да простят меня те, кто хотят постепенного увеличения/уменьшения числа пассажиров)


Теперь настройки

1) автоматический режим открывания дверей/ не открывать двери

первый предназначен для обычного ПС. Двери открываются у всех вагонов, остановившихся у этой платформы. Для закрытия дверей надо

либо прогудеть, нажав h
либо отправиться

Не открывать двери - предназначен для скриптованного ПС. Погрузка, правда, при этом будет происходить и через закрытые двери.

2) вкл/выкл - понятно. Некоторые платформы могут не использоваться, или автору по сценарию надо останавливать пасс возле пригородной платформы без погрузки

3) платформа пригородная/станционная - первая наполняется быстрее (рандом от 15 до 40 секунд), но днём и ночью наполняется не полностью (хорошее наполнение с 5-30 до 9-00 (утром) и с 16-00 до 17-00 (вечером)). Станционная - наполняется дольше (30-70 секунд), но наполняемость всегда не меньше 70%

если вы закроете двери слишком рано, то загрузки не будет

4) конечная станция - понятно. Выгрузка всех пассажиров

5) платформа правая/левая - если по сценарию надо открыть двери с другой стороны

Лежит тут [url]http://dump.ru/file/4406219[/url]
На движение составов не влияет. Стоп-кран не реализован :)

Жду отзывов :) . Если понравится, разрешаю выложить на trainz.ru

Gregory_777 07.03.2010 08:33

Ухтышка!!!

genesis 07.03.2010 10:50

Для тестов подойдет, но не для нормального использования.

genesis 07.03.2010 11:38

Сообщение при нажатии T такое: "DriverDisplay", "ResetTripMeter"

TRam_ 07.03.2010 13:41

в 2006 такого сообщения нет (я в ней пока работаю). Хорошо, сделаю

TRam_ 07.03.2010 14:16

переделал [url]http://dump.ru/file/4407050[/url]

Единственное что - протестировать не смог. А так должно работать :)


В 2006 двери открываются автоматически, в 2009 и выше - по клавише T (закрываются и по свистку, и по T)

Диспетчер 07.03.2010 14:39

[QUOTE=TRam_;160034]переделал [url]http://dump.ru/file/4407050[/url]

Единственное что - протестировать не смог. А так должно работать :)


В 2006 двери открываются автоматически, в 2009 и выше - по клавише T (закрываются и по свистку, и по T)[/QUOTE]
Здорово получилось,спасибо!Теперь как в RW можно производить посадку пассажиров......:)

Добрый 07.03.2010 14:57

[B]Tram[/B], хорошая вещь, но почему в 2006-м до сих пор? Сапожник без сапог?;)

TRam_ 07.03.2010 15:50

Всё, готово :)
[url]http://dump.ru/file/4407305[/url]
оставшиеся баги поправил


[QUOTE]Tram, хорошая вещь, но почему в 2006-м до сих пор? Сапожник без сапог?[/QUOTE]потому что у Volk'a 2006. А полувагон, сс*ка, заколдованный - одинаковые версии, а работает по-разному

genesis 07.03.2010 19:00

Это сообщение появилось в классике с новой версией Custom HUD.

TRam_ 07.03.2010 19:12

[QUOTE]Это сообщение появилось в классике с новой версией Custom HUD.[/QUOTE]не знал :)

зы - тестить будешь?

genesis 07.03.2010 20:44

Хм, сейчас попробую :)

genesis 07.03.2010 21:54

Проверил. Работало все, кроме загрузки, число пассажиров не менялось.

Что нужно для готовой к употреблению версии:[LIST=1][*]Работа со скриптованным ПС. Через GetProperties(). Сразу предлагаю вариант:
Используется тег и именем [I]scripteddoors[/I], содержащий строку с форматом [I]doors [d1] [d2] [d3] ...[/I], где [d1], [d2], [d3] — номера открытых дверей, нечетные для левых, четные для правых.
В контейнере [I]scripteddoorsconfig[/I] в extensions для каждого номера двери содержится скорость посадки/высадки, пассажиров/сек.

Примерный алгоритм: при остановке поезда триггер проверяет все (для пригородного — только вошедшие в его зону) вагоны в поезде, если нет ни одного со скриптованными дверьми — ждем сигнала T.
Иначе каждую секунду проверяем каждый вагон, в каждом вагоне проверяем открытые двери, через них загружаем количество пассажиров, указанное в конфиге.
[*]Невозможно точно определить конечную станцию, поэтому я предлагаю при двойном нажатии T выводить браузер с вариантом выгрузить все.
[*]Количество пассажиров на станции должно определяться временем суток. Вроде такого:
[IMG]http://trainz.tramsim.com.ua/objects/tramstop/propwin.jpg[/IMG]
[*]Должны быть месседжы "PassStationTrigger": "TrainStopped", "LoadStarted", "LoadCompleted", "LoadEnded" от триггера к поезду, для того, чтобы сценаристы имели возможность контролировать насколько хорошо машинист выполняет расписание и обслуживает пассажиров.
[*]Для ИИ нужны команды. Значит, нужно предусмотреть хэндлеры.
[*]В GetProperties должен быть признак для КЛУБа. Насчет этого стоит связаться с Александром :)[/LIST]
Если ты занят, я могу доработать твой вариант по 1, 2, и 5 пунктам как наиболее важным.

TRam_ 07.03.2010 22:25

[QUOTE]кроме загрузки, число пассажиров не менялось[/QUOTE]ждать надо :) . Для пригородной платформы - от 15 до 30 секунд

[QUOTE]Примерный алгоритм: при остановке поезда триггер проверяет все (для пригородного — только вошедшие в его зону) вагоны в поезде, если нет ни одного со скриптованными дверьми — ждем сигнала T.
Иначе каждую секунду проверяем каждый вагон, в каждом вагоне проверяем открытые двери, через них загружаем количество пассажиров, указанное в конфиге.[/QUOTE]триггер он на то и триггер, чтобы не знать какие вагоны на него наехали. Только индустрии. А у индустрийных триггеров зона действия не более 150 метров. Так что не для обычного триггера это дело - это должны быть парные (типа X-маркеров сигналки) fixedtrack'и, обозванные industry


[QUOTE]Невозможно точно определить конечную станцию, поэтому я предлагаю при двойном нажатии T выводить браузер с вариантом выгрузить все.[/QUOTE]можно. Но это потом

[QUOTE]Количество пассажиров на станции должно определяться временем суток.[/QUOTE]у меня пока нет понятия "число пассажиров на станции". Загрузка ведётся чистым рандомом числа пассажиров в вагоне. НО. У пригородной платформы, как я сказал, этот рандом зависит от времени.

[QUOTE] "TrainStopped", "LoadStarted", "LoadCompleted", "LoadEnded"[/QUOTE]у меня просто загрузка происходит мгоновенно - я это писал в заголовке. По сообщению "TriggerInd","Start" . "TrainStopped" - ловится при помощи Sniff'а с поезда :)

[QUOTE]Для ИИ нужны команды.[/QUOTE] ИИ должен перед отправлением гудеть - согласно ИСИ.
Команда, которая бы имитировала "DriverDisplay", "ResetTripMeter" - да, нужна.

[QUOTE] могу доработать твой вариант по 1, 2, и 5 пунктам как наиболее важным.[/QUOTE]я не против :)

genesis 07.03.2010 22:38

[QUOTE=TRam_;160172]триггер он на то и триггер, чтобы не знать какие вагоны на него наехали. Только индустрии. А у индустрийных триггеров зона действия не более 150 метров. Так что не для обычного триггера это дело - это должны быть парные (типа X-маркеров сигналки) fixedtrack'и, обозванные industry[/QUOTE]
Train.GetVehicles()
[QUOTE=TRam_;160172]у меня пока нет понятия "число пассажиров на станции". Загрузка ведётся чистым рандомом числа пассажиров в вагоне. НО. У пригородной платформы, как я сказал, этот рандом зависит от времени.[/QUOTE]
Платформы бывают большие и маленькие :)
[QUOTE=TRam_;160172]у меня просто загрузка происходит мгоновенно - я это писал в заголовке. По сообщению "TriggerInd","Start" . "TrainStopped" - ловится при помощи Sniff'а с поезда :)[/QUOTE]
Что означает, что триггер неприменим для интенсивного пригородного сообщения и метро, где длительностью процесса посадки/высадки пренебрегать нельзя.
[QUOTE=TRam_;160172]ИИ должен перед отправлением гудеть - согласно ИСИ.
Команда, которая бы имитировала "DriverDisplay", "ResetTripMeter" - да, нужна.[/QUOTE]
В Мск собаки не свистят. Поэтому гудок — плохой признак. Лучше, опять же, T. Для ИИ нужна команды начала, окончания и всего процесса (с временем).


Текущее время: 19:25. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim