![]() |
[QUOTE=Zabor;169499]по пути следования можно подсказывать идет ли поезд в графике, пример взаимодействия событий во вложении[/QUOTE]
о! щас посмотрим, разберемся... [I][извлекая из архива маршрут][/I] есть у меня такая задумка... вот только руки не доходили поковырять эти события глубже. неспешно леплю сцену от лозовой до карьера. реализован такой случай - типа ДСП спрашивает у машиниста, успеет ли он за такое-то время на такую-то станцию? если да, то выпущу на перегон, если нет - то сиди кури еще минут 40. мы, иссессено, отвечаем да. так вот, хочу грамотно реализовать на этом участке диалоги. типа расставить n-ное количество контрольных точек, если проходим эти точки раньше времени - все хорошо и все молча радуются, если проходим позже - ДСП орет типа: какого пестика ты плетешься, с такой скоростью скорый подопрешь, сорвешь ему график, и вынудишь меня встречный товарняк на скрещение поставить... короче, подымает вонь, ну и мотивирует нас всякими вкусностями ехать быстрее. так что мерси Игорь за пример, уже меньше надо думать головой. |
[QUOTE=Толяныч;169530][B]svyatogor2007[/B], естественно лучше сделать точку ожидания. Я в сценариях вообще статику не использую, статикой у меня выступает трафик. К вагонам без локомотива прицепляешь неведимку и ставишь на точке ожидания.[/QUOTE]
да не, состав то как раз динамический, просто с мизерной скоростью, свои 5 метров он проезжает за 5 часов гдето, судя по редактору. |
какое самое большое значение времени допускается для точки ожидания?
|
[QUOTE=vitalzd;169594]какое самое большое значение времени допускается для точки ожидания?[/QUOTE]
9999 секунд минимум. Только секунды всегда разные. Отсюда и ситуации. Теперь по делу: сервисы нужно по возможности минимизировать, ибо потом перестанут грузиться вагоны, результат вылет. я нарвался примерно на 1000 вагонов. Если сервис нужно тормознуть ну совсем надоло, редактируй соn, ставь скорость типа 0.000001 тогда точка ожидания не нужна. А если сервисов много, лучше игрока зажать по времени, чтобы память не жрать, вылет штука обидная:( зы поясни к чему тебе это, я сейчас со сценарием копаюсь на 6часов, возможно уже решил твою проблему. |
Сергей, на всякий пожарный описание:
Событие места "0" (контрольная точка) делает два действия: - выводит сообщение для случая, если поезд в графике. - активирует событие времени "время0", в параметрах которого указано максимальное время, если едем по графику для этой точки. В событии "время0" в качестве действия указан вывод сообщения для случая, если поезд опаздывает, т.е. время уже наступило, начальный уровень этого события времени - 0 (неактивно). Фича работает по алгоритму: В момент, когда игрок проезжает точку события "0" происходит активация события времени "время0", если время указанное в событии времени уже наступило - оно срабатывает и выводит своё сообщение об опоздании. Сообщение выводимое событием места "0" (первое действие, сообщение для случая, если поезд в графике) при этом не выводится, это багофича МСТС, - получается два сообщения одномоментно, выводится последнее по активации, в данном случае сообщение из события времени =)). * - для срабатывания события времени требуется два условия: уровень активации больше 0 и указанное время наступило, причем работает оно при любой последовательности возникновения этих условий, если время наступило, например в 10:15, а событие активировано в 12:55 оно всё равно сработает. Теперь для случая, если не опаздываем: Срабатывает событие места "0", выводит свое сообщение для случая, если поезд в графике, событие времени "время0" активируется, но не срабатывает т.к. время еще не наступило и соответственно не мешает вывести сообщение из события места (первое действие события места). В случае опоздания событие времени сработав само отключится, сбросив уровень активации в 0 (минус 1 при каждом срабатывании), в случае если мы в графике его нужно деактивировать, иначе при наступлении времени сработает и всё испортит. Деактивацию делает событие места "2" независимо от результата срабатывания события времени. Событие места "2" должно быть максимально близко к событию "0", но радиусы их действия лучше не перекрывать. Контрольную точку в виде событий "0" и "2" нежелательно располагать в точках остановок головы поезда (на станциях и перед светофорами, которые могут быть закрыты), т.к. если игрок умудрится активировать "0", но не доехать до "2" и будет в графике - он может получить оба сообщения =)). ** - номера событий условные (из примера), они могут называться как угодно и лучше на английском или цифрами, событие места "1" сделано просто так и как говорится в инструкциях "сигнального значения не имеет". *** - если расположение контрольной точки некритично, чтобы не плодить события места событие, деактивирующее событие времени (в примере "2") может быть совмещено с любым другим событием места, например выводом сообщения о прибытии на станцию, как в сценариях Сергея Перевалова - в виде дополнительного действия к основному, уже имеющемуся событию места. Важно только чтобы контрольная точка при этом не "размазалась" т.е. не получилось расстояния между "0" и "2". Хотя данных о том, что события как-либо нагружают или перегружают МСТС, пока нет. Как обычно на страницу =)). |
спасибо за столь подробное описание.
после изучения примера все стало ясно и понятно. я вот что подумал: по идее, игроку не нужно постоянно говорить о том что он движется в графике, актуальны сообщения об опоздании и опережении. на днях поэкспериментирую со следующими моментами: Например, игроку нужно быть на конкретном участке дороги в пределах 10:00 - 10:02. опоздание: 1. делаем активное событие по времени в 10:02 об опоздании. 2. делаем на этом участке событие места, которое сбрасывает активацию по времени. поэтому, если мы будем в этой точке раньше 10:02 - все нормально. временное событие де активируется, если позже - в 10:02 сработает временное событие. с опережением делаем наоборот: 1.рядом с событием места делаем еще одно активное событие места о опережении. 2. вторым событием по времени в 10:00 сбрасываем второе событие места. поэтому, если мы прибудем в эту точку раньше 10:00 - сработает событие места о опережении, если позже - временное событие отключит событие места. как то так... вобщем, слеплю какой-то пример для начала. а дальше видно будет. |
получилось.
пример в архиве. [url]http://ifolder.ru/17369520[/url] |
А что должно быть то? Две станции на проход и тишина…
|
а.. ну да. :confused:
самого нужного так и не написал вобщем: чисто для примера одну контрольную точку установил на 604 километре (первый проходной светофор в четном направлении) если проехать эту точку в отрезке 10:01 - 10:02, то никто никаких сообщений не увидит. если ехать к ней слишком быстро и проследовать её раньше 10:01, то в этом месте нам сообщат о том, что мы едем быстро, если к этой точке мы приедем позже 10:02, то в это время нам сообщат что мы едем медленно. попробуйте на полном газу рвануть вперед, потом тянутся на первой позиции, и ехать нормально, можно посмотреть как это работает. теперь более детально поработаю с несколькими контрольными точками на перегоне. |
[QUOTE=awaken;157479]вообще всякие скрещивающиеся и обгоняющие сервисы лучше начинать во времени задолго заранее до места скрещения/обгона.
появление сервиса прямо перед станцией чревато проблемами (У меня например -часто он при этом "залипает" на входном )[/QUOTE] Такое залипание решается просто: 1) невидимкой носом от нас блокируем путь для обоих сервисов. 2) запускаем игрока на путь, он становится на красный, наблюдает все красные выходные. 3) незадолго до исчезновения первой невидимки, ставим вторую, уже на пути игрока, носом к игроку. Соответственно, если подобрать время правильно, то в течении 5 минут совершается обгон, при этом обгоняющий стартует после проезда игрока, и следует за ним по удалению, залипания не происходит. Скоро выложу сценарий где такое решение есть. Пока пробую, можно ли как то еще открыть выходной. Решение подтвердилось. Итак, у кого игрок залипает на вечный красный после обгона, несмотря на то что путь свободен, прогоняем навстречу игроку еще одного невидимку, сразу после того как освободится путь, или даже ставим ему точку ожидания 2-3 с, что бы светофор не моргнул желтым если игрок приехал вовремя. Светофор гарантированно переключится. |
Обгоняющий сценарий
[QUOTE=svyatogor2007;170596]Такое залипание решается просто:
1) невидимкой носом от нас блокируем путь для обоих сервисов. 2) запускаем игрока на путь, он становится на красный, наблюдает все красные выходные. 3) незадолго до исчезновения первой невидимки, ставим вторую, уже на пути игрока, носом к игроку. Соответственно, если подобрать время правильно, то в течении 5 минут совершается обгон, при этом обгоняющий стартует после проезда игрока, и следует за ним по удалению, залипания не происходит. Скоро выложу сценарий где такое решение есть. Пока пробую, можно ли как то еще открыть выходной. Решение подтвердилось. Итак, у кого игрок залипает на вечный красный после обгона, несмотря на то что путь свободен, прогоняем навстречу игроку еще одного невидимку, сразу после того как освободится путь, или даже ставим ему точку ожидания 2-3 с, что бы светофор не моргнул желтым если игрок приехал вовремя. Светофор гарантированно переключится.[/QUOTE] Ребята я не могу решить одну проблему<пишу обгоняющий сценарий в движении но у меня не выходит горят все выходные светофоры красным на главных путях но путь игрока горит зеленым.Чтобы блокировать путь игрока я ставил неведимку перед электричкой(игрок) через одну две минуты поезд игрока уходил дальше с бокового а трафик в свою очередь ему уступал но мне такое положение не устраивает я хочу чтобы горел главный путь на станции зеленым а путь игрока горел красным пропуская трафик идущий сзади. |
...Чтобы блокировать путь игрока я ставил неведимку перед электричкой(игрок) через одну две минуты поезд игрока уходил дальше с бокового...
Тут не понял уходил как, через невидику что-ли? |
[QUOTE=Евгений25;178382]я хочу чтобы горел главный путь на станции зеленым а путь игрока горел красным пропуская трафик идущий сзади.[/QUOTE]
Если я правильно понял ты ставишь невидимку, когда путь игрока уже горит зеленым, а когда через пару минут невидимка освобождает путь игроку, то уезжает игрок, а не трафик как тебе хочется. Чтобы трафик уезжал первее игрока в твоём случае попробуй поставить невидимку, когда путь игрока ещё не подготовлен, тоесть до того, как на пути игрока загорится зеленый |
[QUOTE=Flali;112659]Вот за это, огромнейшее спасибо, вам, Даниэль! Очень такой ценный, хороший совет. Тем более, мне было интересно проделать одну "штуковину" - поехать на красный сразу же, после пропуска какого-либо поезда вперед себя. Теперь попробую![/QUOTE]
патч для train.exe проезд красного сигнала без вылета )) [url]http://files.mail.ru/E5BEU8[/url] |
[QUOTE=Im-Ho-Tep;112164]Да, в общем-то, уже пробовали так делать - все ничего, но есть один ма-а-аленький минус - управление реверсором после смены кабины на псевдозаднюю все-таки разворачивается ([I]"... где вперед означает назад, и наоборот..."[/I] (с)).
Поэтому - на любителя.[/QUOTE] на любителя КРС :-) там зачем-то управление тягой вывернули наизнанку, клавиши те же, но действуют наоборот |
Текущее время: 10:42. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim