Просмотр полной версии : Система маршрутизации z7-xPath (Система расчёта поездных маршрутов стрелочная будка)
Ну, что такое расчёт поездных маршрутов между светофорами, думаю, каждый знакомый с z6 знает. Кроме того, существует правила ручного создания таких маршрутов - PathRule и ей подобные. Реальные диспетчеры, конечно, строят маршруты между парками (кусками пути, ограниченными светофорами/изостыками/стрелками), но, учитывая что любой парк, из которого возможен приём/отправление поезда, ограничен с 2х сторон светофорами (входные/выходные/маршрутные), в приближении игры будем строить маршруты именно между светофорами.
В данном случае собираюсь сделать гибрид из "архива маршрутов", генерируемого автоматически, и набора правил, позволяющих собирать маршруты (и, возможно, браузера типа z7 ДНЦ ).
В данном случае часть первая полностью готова - создана система, которая
а) собирает информацию о объектах, окружающих каждую стрелку и определяет положение последней - какой объект в пошёрстном направлении, какой справа, какой слева (без такой базы постройка маршрутов возможна - пример z6 - но тогда теряется перспектива поиска маневровых маршрутов во время игры, когда стрелки переводить нельзя). Кроме того, такая база позволяет помечать стрелки как "занятые", "готовящиеся к постройке по ним маршрута", "свободные" и т.п.
б) собирает информацию о всех поездных светофорах сигнализации z7 на карте (при этом сортирует их по принадлежности к станционному контроллеру, т.е. станции): их имя и тип.
в) согласно указаниям пользователя в меню:
1) показывает весь список поездных светофоров выбранной станции
2) сортирует светофоры выбранной станции по названию
3) ищет все возможные маршруты от данного светофора с любыми положениями стрелок (веер графа проходится слева направо) до следующего светофора этой или другой станции (или до первого светофора перегона)
4) показывает список маршрутов для выбранного светофора, с указанием стрелок и положений этих стрелок
г) может делиться своей базой данных с любым объектом, который это потребует (в будущем такими объектами станут команды машиниста/указания в браузере)
На данный момент "объект" выполнен в виде будки ПОНАБ, потому такое и название темы :). Но в дальнейшем, из-за трудности с поиском этой будки, надо будет переводить всё это в правило, вот это у вас и хочу спросить - надо не надо?
Выглядит сия будочка после инициализации
http://s003.radikal.ru/i203/1009/24/a79387476c8at.jpg (http://s003.radikal.ru/i203/1009/24/a79387476c8a.jpg)
Время расчёта всех стрелок карты Москва-Нара - около 30 секунд,
время расчёта ВСЕХ поезных маршрутов Москвы-Киевской, Москвы-Сортировочной и Бекасово-Сортировочного - менее 15 минут. В процессе расчётов имеется возможность определить их текущий процент выполнения (правда с некоторой задержкой)
Damien Zhar
23.09.2010, 02:15
Вот товарищ продуктивный нашёлся. А зачем это надо и как этим пользоватся объясни пожалуйста. Да так чтобы и шведам было понятно. И молодец что интерлицо сделал на английском.
Tramwayz
23.09.2010, 02:34
Шведы не нужны, я считаю. Оптимизация под шведов уберёт продуктивность и глюков добавит.
Damien Zhar
23.09.2010, 02:59
Я не прошу оптимизировать под шведов, просто объяснить зачем ээто. Да открыть возможно код для модификации, там сами разберутся. Но ведь не только заграничным гостям интерестно. Судя по тому что разрабатывает всё товарищ ТРам, то это будет эпично и изменит игру навсегда.
antikiller_bmrf
23.09.2010, 09:42
Затем, чтобы не готовить маршруты в редакторе в pathrule или pathcontrol вручную, а сразу иметь список всевозможных маршрутов.
Я думаю будку лучше сделать или невидимой, или со сменой меша (желательно без ковыряния в смр)
Правло не надо.
Нужно добавить возможность удалять ненужные маршруты.
P.S. ПОНАБ к стрелкам отношения не имеет :)
Очень любопытная и нужная вещица. А как обкатать можно?
Kompozitor
23.09.2010, 13:54
вот это у вас и хочу спросить - надо не надо?
TRam_, надо, надо, очень!!! Хоть будка, хоть правило. Команды, конечно же, нужны. Только бы не ваять вручную миллионы маршрутов, как в Patch Control!
Нужно добавить возможность удалять ненужные маршруты.я думаю, что лучше будет сделать выбор "приоритетного" маршрута, ведущего к необходимому светофору. Остальные будут включаться, если первый занят (при задании маршрута пользователь о них знать ничего не будет).
P.S. ПОНАБ к стрелкам отношения не имеетда я ж знаю, но просто вставил скрипт в первый попавшийся объект. Вот и получилась законспирированный компьютерный центр ЭЦ :).
А как обкатать можно?обкатывать можно будет, когда хоть одно правило к ней сделаю. А то смотреть на путь по стрелкам для каждого светофора карты конечно интересно, но бесполезно.
По поводу описания - будет мануал, а надписи в браузере в дальнейшем будут браться из string-table (чтобы можно было сделать английский/шведский/прочий варианты). Просто в скрипте на русском писать нельзя, потому и английские. Этот код, как и все предыдущие, зашифровывать не собираюсь.
Бррр, раз десять перечитал сабж, но, по-моему, мало что понял. Тогда начну с того, что и как понял я. Создается некий инструмент, который рассчитывает все возможные маршруты следования от каждого светофора до ближайшего. Как было в z6. Потом, с помощью командной строки даётся команда, типа "проехать от этого светофора до вооон того". И чтобы выполнить эту команду сей инструмент из рассчитанных маршрутов соберёт тот, по которому и поедет ПС. Тут разные вариации могут быть, как ехать и какой маршрут собрать (занят путь, блокирована стрелка etc.) То есть получается, что сей инструмент просто заменяет уже существующие Path Rule и Path Control. Я правильно сие всё понял?
Будут откровенно мусорные маршруты, которые пройдут по десяткам съездов, которые быть может нужны другим поездам. Надо, надо удалять.
Будут откровенно мусорные маршруты, которые пройдут по десяткам съездов, которые быть может нужны другим поездам. Надо, надо удалять.
А как определить заранее, какой "мусорный" маршрут, а какой может ещё пригодиться?.. К примеру, в Path Control маршруты можно собирать в группы. И собираться они будут, в зависимости от занятости пути, по порядку, начиная с первого. Нечто подобное можно и здесь реализовать...
Но я пока жду ответ на свой предыдущий пост.
По поводу команд... Мне кое-что в них не нравится: если поезд едет по управлением игрока, то при задании ему команды начинаются глюки: тормоз включается, поезд тормозится и т.п. Поэтому начну, так же как и varz, с браузера. Но команды обязательно будут, но уже во вторую очередь, так как не совсем пока понимаю как их делать. Кроме того, если в меню надо заранее загружать все объекты, то... Боюсь 20 000 маршрутов карты Москва-Нара трейнз может не потянуть
Кроме того, браузер очень полезен для тестирования сборки маршрутов. Внешний вид, наверно, буедт почти такой же, как и на скрине (только постараюсь по-varz'овски сделать окно прозрачным). В браузере выбирается из списка станция, там список светофоров.
Нажимая на название светофора, получаем список всех светофоров, до которых возможно проложить маршрут. Нажимая на светофор из списка, мы заносим маршрут в стек заданных (будет находится под списком светофоров, для каждой станции свой), с иникацией "готов", "занят" и кнопкой "разобрать".
При этом маршрут собираюсь сделать с динамической разборкой, т.е. как только поезд съезжает со стрелки, маршрут над стрелкой разбирается.
Но ещё надо будет тестить неоткрытие сигнализации и Х-стрелки (ибо данная система ни первого, ни второго не видит).
И собираться они будут, в зависимости от занятости пути, по порядку, начиная с первого.не знаю, хватит ли мне сил сделать систему упорядочивания маршрутов, новыбор "лучшего из возможных" при настройке обязательно сделаю. Ибо если часть горловины уже занята, то нет никакой гарантии, что удалённый нами маршрут будет тем единственным, который ведёт к нужному пути.
Потом, с помощью командной строки даётся команда, типа "проехать от этого светофора до вооон того". И чтобы выполнить эту команду сей инструмент из рассчитанных маршрутов соберёт тот, по которому и поедет ПС.да, в дальнейшем именно так и собираюсь в конце-концов сделать, для ботов. Для игроков будет браузер, а если его не хватит - правила...
Да, название придумал... "Система z7-xPath"
1. Как игрой определяются основные/вариантные маршруты (длина)?
2. Будут ли маршруты разделены по этим критериям?
3. Выбирая маршрут между светофорами игра будет стараться, по возможности, выбрать основной маршрут, оставив вариантные "про запас"?
4. Можно ли будет вручную редактировать маршруты?
5. Задавать "от светофора к светофору" можно будет только элементарный или сложный маршрут тоже?
6. Было бы хорошо для сборки маршрута иметь возможность вводить имена двух светофоров в окошки.
7. Также было бы необходимо размыкать (не разбирать, т.к. стрелки в реале остаются в последнем заданном положении) маршрут после прохода поезда, либо отмены маршрута. Это необходимо для разблокирования стрелок и перекрытия светофора - чтобы разрешением для открытия был только замкнутый и свободный маршрут (если поездной), а не наличие перед ним машиниста и т.д.
8. Что с просчётом маневровых маршрутов?
1. Как игрой определяются основные/вариантные маршруты (длина)?повторюсь, обязательно будет возможность выбрать "самый удобный", в остальных случаях будет искаться первый из тех, который был получен в процессе просчёта (да, в процессе просчёта вначале определяются самые "левые" маршруты, так что по тупикам система в общем-то и не должна вести: у нас как-никак правостороннее движение, всё второстепенное справа). Но если будете настаивать, могу добавить прописывание приоритета каждому маршруту. Автоматике это доверять нельзя: только человек знает где меньше отклонений, где лучше путь, и т.п.
3. Выбирая маршрут между светофорами игра будет стараться, по возможности, выбрать основной маршрут, оставив вариантные "про запас"?да, именно это и хотел сказать
4. Можно ли будет вручную редактировать маршруты?Редактировать - нет. А вот добавлять новые постараюсь сделать...
5. Задавать "от светофора к светофору" можно будет только элементарный или сложный маршрут тоже?пока элементарный. В дальнейшем, если хватит времени и знаний, может попытаюсь сделать и составные маршруты в пределах одной станции
7. Также было бы необходимо размыкать (не разбирать, т.к. стрелки в реале остаются в последнем заданном положении) маршрут после прохода поезда, либо отмены маршрута.вообще собираюсь все светофоры z7 в начале сессии переключать в "преварительно-закрытое" состояние. Как удерживать их в этом состоянии, пока думаю... Вероятно после съезда поезда с очередной стрелки маршрута, если с того светофора не построен новый маршрут(так что маршрутам будет присваиваться "порядковый номер создания", уникальный для каждой станции), будет выдаваться сообщение для перевода светофора в "преварительно-закрытое" состояние. Ну и "стряхивание" стрелки после съезда поезда тоже сделаю.
Да, сделаю возможность строить маршрут как с блокировкой стрелок, так и без неё.
8. Что с просчётом маневровых маршрутов?если до них доберусь, то будут рассчитываться по тем же алгоритмам, что и поездные, но уже в процессе игры (в момент задания).
6. Было бы хорошо для сборки маршрута иметь возможность вводить имена двух светофоров в окошки.движком трс в игровом режиме нельзя реализовать ввод с клавиатуры... Разве что с "оконной клавиатуры", но это уже мазохизм. Тем более пока что можно будет строить только элементарные маршруты.
По поводу команд... Мне кое-что в них не нравится: если поезд едет по управлением игрока, то при задании ему команды начинаются глюки: тормоз включается, поезд тормозится и т.п.
Не во всех командах. Надо будет порыться в в своей памяти и "истории моих сессий". Да, многие, в т.ч. и команда Path Control именно так и делает и ещё реверс в нейтралку выбивает. Но я не склонен считать это чистейшим глюком: странно, что "живой машинист" прибегает к командам ботам предназначенным.
Поэтому начну, так же как и varz, с браузера...
... Нажимая на название светофора, получаем список всех светофоров, до которых возможно проложить маршрут. Нажимая на светофор из списка, мы заносим маршрут в стек заданных (будет находится под списком светофоров, для каждой станции свой), с иникацией "готов", "занят" и кнопкой "разобрать".
Так, я не пойму, ты готовишь сие для "машиниста" или для "диспетчера"? Ты пробовал в сессии пользоваться браузером, будучи "машинистом" (как меня коробит это слово, лучше - "механик")? У механика перед глазами в управлении контроллер, тормозные краны, отбой РБ, тифон (если помощник спит или отлучился), скоростемер (увы с КЛУБом вживую не знаком), лист предупреждений (скоростных) и таблица скоростей по горловинам и путям по станциям. Я сейчас опускаю тумблеры и переключатели, поскольку когда ты несешься на скорости 100 - 120 км.ч. всё уже включено и всё должно работать.
Так и в симуляторе должно быть! А как ты себе представляешь: "открыть перед 4-м проходным в четном (при 4АБ) браузер, найти станцию, к которой я приближаюсь, отыскать нужную группу маршрутов (я думаю, без групп ты не обойдешься, иначе выеденного яйца шедевр стоить не будет) и наконец-то в неё ткнуть мышью!? Запипецки - а я уже входной на красный проскакиваю тем временем. НЕ, это не реализация...
Ты предоставил своё правило LeaveSignal, ну, не помню, как оно точно называется, но ты понял о чем речь. Так вот, там есть опции Locked/Unlocked (касаемо стрелок). Когда поставил Locked, стрелки так и остались в том положении, в котором я по ним проехал. Поставил Unlocked - стрелку можно перевести в любой момент времени чем угодно, хоть вручную. Ни первое ни второе не приемлемо. Но эта недоработка меня навеяла на мысль. Что если Locked - это будет означать, что стрелки блокируются до проследования последней моей тележки, и эту команду я даю тогда, когда уже никаких маневров. А Unlocked - это когда я заранее "наметил" себе маршрут, но там могут производится маневры, отправления и т.д., но "по умолчанию" маршрут будет собран именно в Unlocked-варианте. Ну и разумеется, все разбирается и разблокируется, после проследования, действительно по умолчанию, то есть по прямым.
Кроме того, браузер очень полезен для тестирования сборки маршрутов.
Не более того. Из-за него ломать копья?.. Я имею вид, функциональность и т.д.
Нажимая на название светофора, получаем список всех светофоров, до которых возможно проложить маршрут. Нажимая на светофор из списка, мы заносим маршрут в стек заданных (будет находится под списком светофоров, для каждой станции свой), с иникацией "готов", "занят" и кнопкой "разобрать".
Единственное здесь цельное я увидел "кнопка "разобрать". Вот это то, чего нет НИ В ДНОМ, мне известном, по крайней мере, генераторе маршрутов. Для чего - чуть-чуть ниже.
При этом маршрут собираюсь сделать с динамической разборкой, т.е. как только поезд съезжает со стрелки, маршрут над стрелкой разбирается.
Ну разумеется! Если уж это велосипед, то он хотя бы с педалями должен бы быть.
не знаю, хватит ли мне сил сделать систему упорядочивания маршрутов, новыбор "лучшего из возможных" при настройке обязательно сделаю. Ибо если часть горловины уже занята, то нет никакой гарантии, что удалённый нами маршрут будет тем единственным, который ведёт к нужному пути.
А что такое "лучшее из возможных"? Если ты это сделаешь, то ты можешь претендовать на место ведущего программиста где-нить в Силиконовой долине. Не заморачивайся по этому поводу. Это уже на грани искусственного интеллекта. Просто по порядку... А вот, а вот... а вот... Хм, а вот порядок... А вот по поводу порядка ничего умнее, чем перебор по порядку, заданным пользователем пока не придумали в программировании, по-моему.
P.S. TRam, не обижайся, пожалуйста, если мои высказывания тебе покажутся слишком резкими. Просто если что-то меня действительно заинтересовало и в моих глазах это имеет перспективы, а всё, опять же, по субъективному мнению, идёт не так, то вмешиваюсь. В остальных случаях - просто прохожу мимо.
Удачи в разработке! Но есть ещё одна тема для "гневных вопросов". Но пусть это уже будет отдельный пост. А то ещё скажешь "ниасилил".:D
Но если будете настаивать, могу добавить прописывание приоритета каждому маршруту. Автоматике это доверять нельзя: только человек знает где меньше отклонений, где лучше путь, и т.п.
Да, это нужно. Думаю, автоматика может определять вариантность (второстепенность) маршрута по его длине - чем длиннее маршрут между св-рами, тем он "вариантней" :)
вообще собираюсь все светофоры z7 в начале сессии переключать в "преварительно-закрытое" состояние. Как удерживать их в этом состоянии, пока думаю... Вероятно после съезда поезда с очередной стрелки маршрута, если с того светофора не построен новый маршрут(так что маршрутам будет присваиваться "порядковый номер создания", уникальный для каждой станции), будет выдаваться сообщение для перевода светофора в "преварительно-закрытое" состояние. Ну и "стряхивание" стрелки после съезда поезда тоже сделаю.
Ага, и пусть они не смотрят на наличие машиниста, а то вагонами вперёд или управлением назад нормально не поедешь. Правильно, если светофор не входит в маршрут, пусть краснеет или синеет, а то вдруг стрелки лягут так, что впереди окажется его коллега и светофор откроется, когда не надо.
Так и в симуляторе должно быть! А как ты себе представляешь: "открыть перед 4-м проходным в четном (при 4АБ) браузер, найти станцию, к которой я приближаюсь, отыскать нужную группу маршрутов (я думаю, без групп ты не обойдешься, иначе выеденного яйца шедевр стоить не будет) и наконец-то в неё ткнуть мышью!? Запипецки - а я уже входной на красный проскакиваю тем временем. НЕ, это не реализация...или так: накидал в стек маршрутов, и едешь. Ведь один светофор может открывать только один маршрут, и , пока хвост поезда не проедет первую стрелку от этого светофора, остальные маршруты с этого светофора не организуются. Система вполне неплохо работает в чесшском симуляторе диспетчера. И кнопка "разобрать" там тоже есть.
А вот по поводу порядка ничего умнее, чем перебор по порядку, заданным пользователем пока не придумали в программировании, по-моему.хорошо, уговорили. Будет указание циферки приоритета.
А вот по поводу порядка ничего умнее, чем перебор по порядку, заданным пользователем пока не придумали в программировании, по-моему.правило "задать маршрут" могу сделать за оставшийся вечер, скинуть тебе на тест. Это самое простое, что только можно сделать. Другое дело, что это всё "задаётся заранее", я же, как и GSTrainz, поклонник динамического и нестационарного, того, чем можно управлять.
Ты предоставил своё правило LeaveSignal, ну, не помню, как оно точно называется, но ты понял о чем речь.оно вообще-то только запускает дефолтное правило SetJunctions. В SetJunctions, соглашусь, выставил в Locked, чтобы пользователь случайно не задел стрелку.
Думаю, автоматика может определять вариантность (второстепенность) маршрута по его длине - чем длиннее маршрут между св-рами, тем он "вариантней"могу сделать опцию перерасчёта длин маршрутов. Но, раз уж заказали, вначале реализую приоритеты.
Нужно иметь возможность управлять сборкой маршрутов правилом "Check trackside".
Нужно иметь возможность управлять сборкой маршрутов правилом "Check trackside".лично я бы сделал ещё и "Check Signal", ибо с z7 его не хватает. Кстати упомянутое LeaveSignal есть "1/3" такого правила - срабатывает при покидании светофора.
Да, "Check Signal" давно заждались :)
Так что "заждались"? Или всем требуется проверка только на "занятие" поездом светофора? Мне вполне хватало правила, срабатывающего на освобождение поездом светофора, т.е. LeaveSignal . Или его смотрели но не дождались?
или так: накидал в стек маршрутов, и едешь. Ведь один светофор может открывать только один маршрут, и , пока хвост поезда не проедет первую стрелку от этого светофора, остальные маршруты с этого светофора не организуются.
Как вариант. Но только не "накидал в стек маршрутов", а выбрал "я еду к вооон тому проходному через эту станцию", транзитом то бишь. И еду. А по поводу "один светофор может открыть только один маршрут" - да, но в каждый момент времени. А момент времени может исчисляться миллисекундами. Посмотри на то, как ведёт себя Path Control и входной, когда мне по замыслу нужно уйти влево на станцию (на двухпутном перегоне), а имеется встречный, который заблокировал уже вторую стрелку. А!? И входной даёт то запрещающий, то зелёный (аж даже "разрешающим" его назвать нельзя - езжай на все 4 стороны, называется, если сможешь). Вот это нужно однозначно блокировать! (Я уже немного подхожу к "пожеланиям" ;) В сторону: на чехов не ровняйся. Да вообще ни на кого не ровняйся кроме как на бывшее МПС - такой сети в мире просто не существует. Французы очень близки были, но "ниасилили"...:D
правило "задать маршрут" могу сделать за оставшийся вечер, скинуть тебе на тест. Это самое простое, что только можно сделать. Другое дело, что это всё "задаётся заранее", я же, как и GSTrainz, поклонник динамического и нестационарного, того, чем можно управлять.
Вот здесь я "ниасилил"... Что значит "правило задать маршрут"? Здесь я не понял, что ты имел ввиду... И ещё, динамическое и нестационарное на железнодорожном транспорте, называется - хаос!
Пока так... Но в сторону Главного пока ещё только посмотрели...;)
повторюсь, обязательно будет возможность выбрать "самый удобный", в остальных случаях будет искаться первый из тех, который был получен в процессе просчёта (да, в процессе просчёта вначале определяются самые "левые" маршруты, так что по тупикам система в общем-то и не должна вести: у нас как-никак правостороннее движение, всё второстепенное справа). Но если будете настаивать, могу добавить прописывание приоритета каждому маршруту. Автоматике это доверять нельзя: только человек знает где меньше отклонений, где лучше путь, и т.п.
Да-да-да, приоритеты и возможность вообще удалить ненужный мусор.
Что касается сборки маршрутов, предлагаю сделать это с помощью двухуровневого резервирвания, суть токова:
Каждый поезд, следующий в пункт назначения, имеет перед собой две зоны резервации, в зависимости от типа и приоритета поезда.
Первая зона простирается на достаточно большое расстояние и показывает планируемый для поезда маршрут. Если другой поезд тоже потребует резервирования маршрута конфликтующего с первым, право быть первым дается поезду с высшим приоритетом.
Вторая зона резервации простирается на меньшее расстояние (я предполагаю 4-6 БУ), эта резервация в обычных условиях гарантированно принадлежит данному поезду и по ней уже собираются маршруты.
Для такой системы трех стандартных приоритетов мало, нужно будет предусмотреть больше вариантов: высокоскоростное движение, скоростное, фирменное/премиум, скорый, пассажирский, пригородный, несколько типов грузовых — сквозные, сборные, участковые, рефрижераторные, виды маневровых: вывозная работа, маневры на станциях и т.п.
Таким образом, к примеру, птичкам будет гарантироваться зеленая улица длиной 20 км, маневровый в пределах станции не займет маршрут через всю горловину, а грузовой автоматически встанет под обгон.
А теперь перспективы платформы:
Идя дальше, разумной становится идея расписаний поездов, по которым поездам назначаются приоритеты и маршруты. С их помощью уже реальна полностью автоматическое разруливание поездов, т.к. автоДСП (а стрелочные посты одной станции логично объединить) будет знать поездную обстановку и решать коллизии маршрутов. Более того, это позволит немного отойти от стандартной модели двухуровневого резервирования, к примеру, ДСП может пропустить маневровый, если его проследование займет пару минут, а поезд, зарезервировавший путь, еще далеко.
И не надо говорить, что это нечто фантастическое и требует каких-то сложных решений с ИИ. На самом деле вся деятельность на железных дорогах строго регламентирована и четко делится на на отдельные задачи, которые, в свою очередь, также делятся, и в конце концов получаются атомарные задачи, которые решаются элементарно.
Для примера, рассмотрим процесс формирования состава на сортировке.
Готовые составы из парка С должны быть отправлены в парк О, где к ним прицепляется локомотив. Казалось бы, трудная задача, но пойдем по порядку. Итак, состав на пути Х парка С. Система формирования (назовем ее по аналогии автоДСПГ) запрашивает свободные вытяжные маневровые локомотивы, задает им маршрут к составу. Далее строит ему маршрут на нужный путь парка О. Затем запрашивает свободные локомотивы в депо и организует прицепку к составу. Все, поезд передается в руки автоДСП, его работа уже полностью описана.
Как сортировать составы на горке? Каждый вагон имеет пункт назначения. Сборный или участковый собирает вагоны с ГР промежуточных станций, маневровые — с ПП предприятий, и ГР и предприятия назначают каждому вагону пункт назначения (а если вагон разгружен — то он передается в компетенцию системы распределения вагонов, назовем ее автоГрузовойДиспетчер, который отправляет вагоны под погрузку на другие предприятия). Поступая в приемный парк, состав переходит в компетенцию автоДСПГ, который сортирует вагоны по пункту назначения на нужные пути.
Как выдавать локомотив и откуда их брать? На каждой станции формирования есть депо, где есть определенный запас тяги. Необходимое количество локов в депо поддерживает локомотивный диспетчер. Анализируя расписание и количество локов в депо он организует резервные, сплотки от туда, где избыток, туда, где недостаток. Отправляемой сплотке выдается маршрут, и она становится обычным поездом в ведении автоДСП.
Несмотря на общую сложность системы, декомпозиция позволяет большой пирог разделить на маленькие кусочки, к каждому из которых назначается ответственный. Каждый объект отвечает за свою четко ограниченную область, применяя при этом строго ограниченный набор операций. В совокупности получается полноценный ЖД-комплекс. Это называется объектно-ориентированным подходом к моделированию.
Несмотря на запредельный объем всей системы, ее реализация состоит из небольших шагов, первый из которых — данный стрелочный пост.
Итак, для тех кто еще не врубился, здесь описана полноценная АСУЖТ с интерактивным миром.
- Мир включает в себя предприятия, города и порталы. Они определяют вагонопотоки. Вагонопотоки, являются входными данными в нашей задаче.
- Вагонопотоки по всей карте обрабатывает грузовой диспетчер. Он отслеживает события прибытия грузовых поездов/вагонов в пункт назначения, устанавливая пункт назначения разгруженных вагонов к погрузчикам.
- Такие вагоны подбираются сборными/участковыми, которые организуются участковыми или сортировочными станциями. Местный автоДСПГ сортирует их, готовые составы выставляет в отправочные парки, отдавая их в руки автоДСП.
- Пассажирские поезда ходят согласно расписанию, с достаточно постоянной составностью, поэтому глобальный диспетчер им не нужен. Лишь начальник пассажирской технической станции вносит свою лепту в их организацию, формируя составы нужной вместимости (исходя из пассажиропотока, который определяет сколько пассов хотят из А попасть в Б). Также он организует выставку готовых составов на пассажирскую станцию согласно расписанию, отдавая поезд в компетенцию автоДСП.
- Стабильный подход локомотивов обеспечивается локомотивным диспетчером, который из мест с избытком отправляет сплотки в места с недостатком.
- Ну и последнее звено — машинисты. Машинист здесь представляет собой методы ведения поездов различных типов, операции сцепки, расцепки, надвига и т.п. Получает указания он от ДСП. Одним из машинистов может стать...
- Игрок, впрочем, игрок может стать кем угодно — глобальным диспетчером, отвечающим за распределение ресурсов по дороге, местным начальником, отвечающим за раздельный пункт — станцию, горку, депо, получающем приказы диспетчеров (ДНЦ, кстати, здесь оказывается ненужным — его функции реализовнаны двухуровневым резервированием маршрутов. Хотя он хорошо сработает в тех случаях, когда существует узел или сложный участок), да хоть стрелочником, для этого Владимиру потребуется лишь сделать так, чтобы его пост лишь отдавал приказы, а стрелки переводил игрок :)
- Ну и на выходе получается — потоки + расписание = движение.
Система полностью расширяема. Хотите перекрытия путей и ремонтных работ — реализуем диспетчера ремонта, который иногда организует окна и выезд поездов с ПМС :) И т.д.
Это все реализует мечту НикЛона — автоматическая бесконечная сессия с нелинейным сюжетом :)
Или заядлого машиниста: загрузить сессию, получить случайный поезд с случайным маршрутом и, опять же, нелинейным сюжетом.
Или автодиспетчер для МП. Или пульт ДСП. Много всего, короче.
Я уже джва года хочу такую игру^W^W обдумываю этот план :)
так, по порядку...
1) маршруты пока элементарные, "с перегона на путь", "с пути на путь" и "с пути на перегон".
2) готовлю систему с определением и изменением направления перегона. В принципе, способ нашёл, надо тестировать.
3)а имеется встречный, который заблокировал уже вторую стрелку.стрелки НИКТО не переводит. Все проверки идут по базе.
И ещё, динамическое и нестационарное на железнодорожном транспорте, называется - хаос!тем не менее работа диспетчера в случае нештатных ситуаций именно так и проходит.
Это все реализует мечту НикЛона — автоматическая бесконечная сессия с нелинейным сюжетом :)
"Матiрь Божааа!" (с) "Студия 95-й квартал" Как сказали бы на Украине. Ты что это придумал!? Ну-ка быстренько захлопни толстенную книгу указаний и внутренних инструкций МПС!:D
Курочка клюет по зернышку. И здесь мы обсуждаем и обмениваемся мнениями о том, как построить маршрутизацию в TRS от Auran'а. А то, что ты описал (представляешь, даже "осилил") относится уже к "высшему разуму программистов, которые каждый день видят кенгуру".
А по существу... Давай после. Мне очень понравилась твоя идея с приоритетами, но ты и сам сказал, что их-то три. И ни какие "птички" и "галочки" не помогут в правилах сие изменить.
А что касается бесконечной сессии с нелинейным сюжетом, так это не мечта. Это я реализовал ещё в Т6. Только вот, упал он (Т6) когда я 10-й поезд запустил...
Что касается сборки маршрутов, предлагаю сделать это с помощью двухуровневого резервирвания, суть токова:
Каждый поезд, следующий в пункт назначения, имеет перед собой две зоны резервации, в зависимости от типа и приоритета поезда.
Первая зона простирается на достаточно большое расстояние и показывает планируемый для поезда маршрут. Если другой поезд тоже потребует резервирования маршрута конфликтующего с первым, право быть первым дается поезду с высшим приоритетом.
Вторая зона резервации простирается на меньшее расстояние (я предполагаю 4-6 БУ), эта резервация в обычных условиях гарантированно принадлежит данному поезду и по ней уже собираются маршруты.для однопутного перегона выгоднее схема "с 2х других станций на станцию отправляется такое количество составов, чтобы на одном из перегонов число составов было равно числу свободных путей на станции минус один". Для двухпутного перегона вовсе ограничений не вижу.
Вывод - твоя система, конечно, крута, но обеспечивает 15-30% пропускной способности магистрали. Потому никому не нужна.
Из-за тех самых "зон пустых путей".
Но моя система пока не сможет делать такого суперского моделирования. Она, по-старинке, сможет видеть только в пределах 1ой станции, так что "интегрально" создавать движение составов не сможет.
так, по порядку...
1) маршруты пока элементарные, "с перегона на путь", "с пути на путь" и "с пути на перегон".
Ну, курочка по зернышку клюет... Ой, я повторяюсь, по-моему...
Самое главное, а вот тут уже не просто "посмотрели в сторону Главного", а уже что-то наклевывается - на какой перегон ты будешь собирать маршрут: неправильный, однопутный занятый (встречное направление), или по правильному уходишь... (во втором пункте продолжу...)
2) готовлю систему с определением и изменением направления перегона. В принципе, способ нашёл, надо тестировать.
ООООО!!! Ну наконец-то! Определение и дальнейшие действия требуются! А вовсе не изменения! Нет, изменения тоже нужны, но, вроде, z7 с этим справляется. Нужно знать: собрать маршрут на отправление или не собрать! Вот в чём вопрос. А всё остальное уже давным давно изобретено.
3)стрелки НИКТО не переводит. Все проверки идут по базе.
Хм, "переведи..." (с) "Москва слезам не верит"
для однопутного перегона выгоднее схема "с 2х других станций на станцию отправляется такое количество составов, чтобы на одном из перегонов число составов было равно числу свободных путей на станции минус один". Для двухпутного перегона вовсе ограничений не вижу.
Вывод - твоя система, конечно, крута, но обеспечивает 15-30% пропускной способности магистрали. Потому никому не нужна.
Из-за тех самых "зон пустых путей".
Но моя система пока не сможет делать такого суперского моделирования. Она, по-старинке, сможет видеть только в пределах 1ой станции, так что "интегрально" создавать движение составов не сможет.
Я так понимаю, что ты говоришь о зоне №1, так вот, зона №1 не запрещает никаким поездам двигаться/составлять доступные маршруты. Если в одну сторону на перегон отправляется пакет, то каждый поезд будет отправляться как только он получит разрешающий на выходном. В случае поездов равного приоритета зоны вообще не влияют на результат. Влиять будет лишь свободность путей. А вот в случае поездов разных приоритетов менее приоритетному поезду придется уступить дорогу на ближайшем разъезде/ОбП.
Кстати, деталь — при отправлении на однопутный перегон зона №1 должна как минимум простираться до следующей станции, чтобы гарантировать, что если поезд с высоким приоритетом ожидает перегона, поезд низкого не смог вступить туда вслед за уже находящимся там.
НикЛон: расширенный приоритет можно хранить в любом внешнем месте. РаннингНамбер можно сделать номером поезда, который будет ключом к таблице данных поезда (мини-вариант системы расписаний) где и указывать нормальный приоритет.
Хм, "переведи..." (с) "Москва слезам не верит"имеется глобальная база данных, в которых стрелка может быть помечена либо как занятая, либо как свободная. Сборка маршрута по идее должна проходить так (заодно и для себя напишу)
1) из базы данных "маршруты светофора N станции Х" создаётся подбаза "маршруты от светофора N до светофора K по станции Х" или "маршруты от светофора N станции Х до светофора K по станции Х2". Сортируется по приоритетам, если таковые были введены.
2) если имеется первый вариант, то:
а)если заданный номер маршрута больше, чем маршрутов всего, ждём 15 секунд, затем смотрим маршрут №1, далее в одном потоке (т.е. для виртуальной машины скриптов "линейным алгоритмом") проходит проверка занятости стрелок
б) проверяется следующая стрелка за тем светофором, занята ли она, и если занята, то не направлена ли на нас. Если направлена на нас и занята, увеличиваем номер маршрута на 1, переходим к пункту а)
в) Отсылаем светофору сообщение на предоткрытие. Ждём 0.5 секунды. После ожидания проверяем положения стрелок. Если они были переведены, увеличиваем номер маршрута на 1, переходим к пункту а)
г) Проверяем показание светофора. Если оно красное, убираем метки о занятости ,увеличиваем номер маршрута переходим к пункту а)
Если второй вариант:
а) проверяется направление перегона по тегу во входном светофоре следующей станции
б) если он повёрнут не на нас, посылаем сообщение о переключении перегона. Ждём подтверждения о его переключении, если такового не приходит за 0.4 секунды, ждём 5 минут, и переходим к пункту а)
в) проверяем положение стрелок, если все свободны, вписываем их занятость, ждём 0.5 секунд. Если не свободны, переходим на следующий номер маршрута, и к пункту а)
г) проверяем положение стрелок (если что-то случилось с положением, след. номер, переход к а), если ничего не случилось, переводим стрелки, открываем светофор, ждём 1 секунду
д) если светофор не открывается, убираем метки о занятости, переходим к следующему маршруту
далее...
когда стрелка освобождается, метка "занято" у неё снимается, ищутся все построенные маршруты с ней, светофорам, с которых эти маршруты были приготовлены, щлются сигналы о принудительном закрытии.
Если освобождённая стрелка последняя у маршрута, то он убирается из стека.
Вроде так...
Если в одну сторону на перегон отправляется пакетс другого конца карты тоже может отправится другой пакет (причём не выполнено правило о прохождении пакета), то на одной из станций вполне может случиться коллизия.
Если же попытаться расталкивать составы по станциям, рассчитывая им пути на N станций вперёд, то вероятность коллизий в конце концов только увеличивается (из-за уменьшения количества свободных путей). Вывод: для однопутки наилучшее решение "пакет туда-пакет обратно", причём навстречу пакетам продвигаются по 1 поезду на перегон, с долгими ожиданиями. И размеры пакетов вполне можно оптимально рассчитывать. (не зря американцы делают сверхдлинные составы - у них навстречу пакетам почти нет движения)
б) проверяется следующая стрелка за тем светофором, занята ли она, и если занята, то не направлена ли на нас. Если направлена на нас и занята, увеличиваем номер маршрута на 1, переходим к пункту а)тут неверно: ждём 5 минут. Ибо коллизия.
в) Отсылаем светофору сообщение на предоткрытие. перед этим переведя стрелки, естественно.
Too long, don't read You, sir, are fucking awesome!
Давай после. Мне очень понравилась твоя идея с приоритетами, но ты и сам сказал, что их-то три. И ни какие "птички" и "галочки" не помогут в правилах сие изменить. Их примерно 4294967296.
Только вот, упал он (Т6) когда я 10-й поезд запустил... Ой не знаю... У меня в метро целая линия в 30км длиной заполнялась выскакивающими из порталов поездами. Следовали с интервалом полторы-две минуты. Количество поездов посчитай сам. :)
РаннингНамбер можно сделать номером поезда, который будет ключом к таблице данных поезда (мини-вариант системы расписаний) где и указывать нормальный приоритет. Поддерживаю. RunningNumber я уже использую для хранения номера поезда в моем концепте "говорящего" ДСП.
По архитектуре: никак будок. Сделай его в виде правила.
имеется глобальная база данных, в которых стрелка может быть помечена либо как занятая, либо как свободная. Сборка маршрута по идее должна проходить так (заодно и для себя напишу)
1) ...
2) ...
и т.д.
Ой, ё! А зачем так сложно то? Чем сложнее, тем большая вероятность всяких глюков. Не проще ли сделать примерно так.
У светофоров расчитаны маршруты, так? У нас есть всего лишь несколько вариантов поведения:
1) прибытие на станцию, зная на какой путь;
2) прибытие на станцию на путь из группы (нам всё равно куда прибывать, лишь бы грузовым не залезть в пассажирский парк, а пассажирским - в грузовой);
3) отправление со станции;
4) маневры.
По первому случаю. Отыскиваем тот самый маршрут, который соответствует заданному направлению Н - Н1. Проверяем стрелки между этимми светофорами на занятость. Хотя бы одна занята, тогда Н - красный, стоим, курим бамбук до следующей проверки. Все стрелки свободны и открылся светофор (путь не занят другим поездом) - welcome to Н1!
По второму случаю. Хватаем первый маршрут из группы (это должна быть команда такая "собрать маршрут из группы"). Далее то же, что и в первом случае, только бамбук будем курить, когда проверим последний маршрут. Через время опять по кругу.
Третье. С отправлением проще. Там единственный вариант и его проверяем до умопомрачения. Но! Если это однопутка, или идём на неправильный, то тоже, что у тебя во втором варианте по пунктам а), б) и в).
Маневры - это отдельная эпопея там черт ногу может сломать, так что об этом можно как-нить отдельно.
Но! Меня смущают эти 5 минут везде. С одной стороны вроде и не надо бы особо часто ломиться в закрытую дверь, а с другой стороны хвост встречного спустя 5 секунд после проверки прошмыгнул обратный ему выходной (или когда входной проезжает перегон считается свободным?), а мы продолжаем ещё целых 5 минут курить бамбук. Думаю, оптимально будет 1-2 минуты.
P.S. Выражение "курить бамбук" применяю исключительно к железнодорожному транспорту. Ехал как-то на электричке в Саратовской губернии. На станции - остановка. Только остановился, открыл двери и тут по громкой связи:"Стоим, курим бамбук. Минут 20, выходной - закрыт!":D
Все стрелки свободны и открылся светофор (путь не занят другим поездом) - welcome to Н1!и если хотя бы одна из этих стрелок Х-овая, и по другой её стороне проложен маршрут, то стрелки на нашем маршруте переведутся через 0.5 секунд, и курить бамбук на прийдётся намного больше часа, т.к. фактически маршрут собран (за исключением той стрелки), но светофор "чё-то не открывается". Аналогично с с маркерами пересечений. Вроде и стрелки свободны, ан нет: светофор закрыт и открываться не хочет.
По поводу групп...Ты имеешь в виду "если маршрут на один путь (станции/перегона) не собрался, собираем на другой"? Возникает вопрос: а в следующей команде как мы будем узнавать, с какого пути маршрут отправления/приёма создавать? Или правило "поискать маршрут отправления для поезда ** по станции ***Х " тоже надо?
Но! Меня смущают эти 5 минут везде. С одной стороны вроде и не надо бы особо часто ломиться в закрытую дверь, а с другой стороны хвост встречного спустя 5 секунд после проверки прошмыгнул обратный ему выходной (или когда входной проезжает перегон считается свободным?)можно не через 5 минут, а после очередного освобождения стрелки поездом. Тут без разницы.
и если хотя бы одна из этих стрелок Х-овая, и по другой её стороне проложен маршрут, то стрелки на нашем маршруте переведутся через 0.5 секунд, и курить бамбук на прийдётся намного больше часа, т.к. фактически маршрут собран (за исключением той стрелки), но светофор "чё-то не открывается". Аналогично с с маркерами пересечений. Вроде и стрелки свободны, ан нет: светофор закрыт и открываться не хочет.
Хм, действительно. А как правило "видит" светофоры? Светофоры видят маркеры. Значит, по идее, и правило может "увидеть" на пути маркер как объект и почитать его состояние, так же, как читаем состояние стрелки. Но тогда на х-овой стрелке обязательно надо ставить х-маркеры. Хотя их вроде всегда нужно ставить, но я пользуюсь Path Control, а там они явно задаются при создании маршрута, вручную.
По поводу групп...Ты имеешь в виду "если маршрут на один путь (станции/перегона) не собрался, собираем на другой"? Возникает вопрос: а в следующей команде как мы будем узнавать, с какого пути маршрут отправления/приёма создавать? Или правило "поискать маршрут отправления для поезда ** по станции ***Х " тоже надо?
можно не через 5 минут, а после очередного освобождения стрелки поездом. Тут без разницы.
Да, именно это я и имел ввиду. Поискать маршрут отправления для поезда, думаю, не получится, потому как маршруты у светофора, а вот поискать следующий светофор впереди - это, думаю, реально и плясать уже от его маршрутов. Правда, тут маршрутные и маневровые будут путаться под ногами, но для маршрутных всё равно нужно считать маршрут, поскольку часто он выполняет роль фактически выходного, а маневровые отсеиваются исходя из категории поезда. Так получится?
И таким образом реализовать "маршруты от светофора N станции Х до светофора K по станции Х2"
И таким образом реализовать "маршруты от светофора N станции Х до светофора K по станции Х2"маршрут отправления строится до входного(или ещё какого-то) следующей станции. Но перегон, естественно, при этом не проверяется, повторюсь, будет проверяться состояние этого светофора на предмет направления перегона (закрытый входной в z7 имеет состояние 0, закрытый входной из-за встречного направления перегона - 1000)
я честно не знаю, получится или нет. Ибо шаг первый -постройка элементарных маршрутов от одного светофора о другого, шаг второй - постройка любого возможного маршрута из списка, и шаг 3 - постройка любого возможного маршрута от светофора впереди поезда (со списком свтофоров, "обязательных" для прохождения).
Значит, по поводу маркеров... Прийдётся их логику изучать :( .
Правда, тут маршрутные и маневровые будут путаться под ногами, но для маршрутных всё равно нужно считать маршрут, поскольку часто он выполняет роль фактически выходного, а маневровые отсеиваются исходя из категории поезда. Так получится?да, создание маршрутов сделанно именно так. Слово в слово :)
Эх, а будку-то в правило превратить не удаётся... Бука умеет аакуратно выделять под себя память, а правило нет (в результате трейнз выбивает в процессе сортировки светофоров и сборки маршрутов уже который раз ). В то же время с правилом удобнее: не надо лазить за окошком за пол карты ...
Видимо прийётся делать и будку, и "правило-паразит" этой будке :(.
Ну это то всё хорошо. Вроде как с поездными более-менее понятно. TRam, я как-то раньше сказал, что о маневровых - потом. (со вздохом) Давай сейчас это "потом" и откроем. Как ты думаешь маневровые маршруты считать? Посмотри на БМО от Tramwayz. ст. Бекасово. Там же черт ногу сломит! А всё должно работать, тем более, если он делал всё это по ТРА.
TRam, а ты часто Главный контроллер ищешь? На БМО как-то однажды хотел его найти, дабы все светофоры сразу переинициализировать, но так и не нашёл. Ну и? Сигналка там просто пыщет здоровьем! :) Так и здесь. Один раз поставил, настроил - забыл о его существовании. Так что по этому поводу, думаю, заморачиваться не стоит.
Как ты думаешь маневровые маршруты считать? Посмотри на БМО от Tramwayz. ст. Бекасово. Там же черт ногу сломит!по крайней мере поездные там будка пересчитывала вполне нормально, памяти хватало. Другое дело что там маневровые отнесены к другой станции (станционный контроллёр = станция), так что там думать прийдётся долго и упорно...
Собирать маневровый маршрут я собирался уже во время игры, перебирая по станции все возможные пути (стрелки при этом естественно не переводятся). Это вызовет тормоза, но созавать кучу маршрутов размером в 50 мегабайт совсем неохота.
Бука умеет аакуратно выделять под себя память, а правило нет (в результате трейнз выбивает в процессе сортировки светофоров и сборки маршрутов уже который раз ). Как правило, неправильно выделяет память программист... Я считаю, что правило необходимо.
Как правило, неправильно выделяет память программист...ну да, две тысячи светофоров, у каждого из которых есть имя, и есть по 3-10 маршрутов, с запоминанием 5-6 имён стрелок в каждом. Итого около 60 000 строк. Плюс сортированный массив объектов, содержащих ссылки на все стрелки (ибо для быстого поиска Soup не очень выгоден: мы из него можем получать только строки имён, и будем сильно напрягать роутер).
А правило будет, я уж говорил, что оно будет дополнительным внешним интерфейсом к будке.
А если пересчитывать маневровые маршруты не сразу по всей карте, а в пределах только станции? Так постепенно и пересчитать все станции. К тому же, элементарные маневровые маршруты гораздо короче поездных, а значит, имеют в себе гораздо меньше стрелок, что должно облегчить пересчёт.
И ещё: как планируется алгоритм сборки составных маршрутов?
А если пересчитывать маневровые маршруты не сразу по всей карте, а в пределах только станции?у меня все поездные маршруты в пределах каждой станции свои.
Алгоритм составных пока не придумал - надо вначале хоть элементарные сделать.
ну да, две тысячи светофоров, у каждого из которых есть имя, и есть по 3-10 маршрутов, с запоминанием 5-6 имён стрелок в каждом. Итого около 60 000 строк. Плюс сортированный массив объектов, содержащих ссылки на все стрелки (ибо для быстого поиска Soup не очень выгоден: мы из него можем получать только строки имён, и будем сильно напрягать роутер).
Чево? Суп — это тип данных, реализованный, скорее всего, на дереве, каким боком к нему относится загрузка роутера?
Что-то памяти многовато требуется.
Если у тебя есть имена всех стрелок, то зачем нужен массив ссылок? Есть же Router.GetObject(string)?
Есть же Router.GetObject(string)?= загрузка роутера.
реализованный, скорее всего, на деревебинарный поиск по длине или последним знакам названия (поскольку у нас стрелки как правило пронумерованы) не намного хуже дерева.
Так ты что, каждый раз пробегаешь по всем стрелкам? Что-то я не понимаю вообще как оно работает.
Так ты что, каждый раз пробегаешь по всем стрелкам? Что-то я не понимаю вообще как оно работает.я собираюсь пробегать по стрелкам станции при построении маневровых маршрутов.
Для поездных светофоров сделана база данных станций, объектами которых являются соупы с
а) именами, типами и количеством поезных маршрутов светофоров
б) подсоупами поездных маршрутов этих светофоров
База стрелок по прямому назначению будут использоваться для получения ссылок на стрелки и для сохранения состояния занятости стрелок.
у да, две тысячи светофоров, у каждого из которых есть имя, и есть по 3-10 маршрутов, с запоминанием 5-6 имён стрелок в каждом. А зачем все маршруты хранить? Во-первых, можно хранить только актуальный список (без вариантных и т.п.), во-вторых, есть граф, есть Дейкстра, зачем вообще что-то хранить?
А правило будет, я уж говорил, что оно будет дополнительным внешним интерфейсом к будке. Без будки обойдись. Что у тебя за мания карты всякой фигней захламлять по малейшему поводу? А если настройки понадобится изменить, что, по всем тремстам километрам эту будку искать?
я собираюсь пробегать по стрелкам станции при построении маневровых маршрутов. По ним вообще не нужно пробегать, раз у тебя, как постулировано в первом посте, есть граф. Даже тупым поиском в глубину пройтись (стек выдержит), выбрать кратчайший маршрут, удовлетворяющий условиям и voila.
Резюме. Задумка хорошая, реализация вредная.
А зачем все маршруты хранить? Во-первых, можно хранить только актуальный список (без вариантных и т.п.), во-вторых, есть граф, есть Дейкстра, зачем вообще что-то хранить?затем чтоб что-то было. Я с лёгкостью могу сделать алгоритм для создания "нашего" маршрута до нужного траксайда, триггера и т.п., но всё это будет висеть в возухе.
Даже тупым поиском в глубину пройтись (стек выдержит), выбрать кратчайший маршрут, удовлетворяющий условиям и voila.кратчайшим? Я тут пол темы выслушиваю, что пути, по которым поезд должен двигаться, должен выбирать человек (ибо кратчайший не всегда быстрейший), а ты тут начинаешь.
Без будки обойдись. Что у тебя за мания карты всякой фигней захламлять по малейшему поводу? А если настройки понадобится изменить, что, по всем тремстам километрам эту будку искать?п***. При встраивании в правило скрипт начинает криво работать. Я не знаю почему, и, несмотря на то, что у меня огромный опыт тестирования скриптов (намного больший, чем их написания), за сегодняшний день получить не смог. Так что объявляю публичными алгоритмы GetDescriptionHTML, LinkPropertyValue и GetPropertyType, и пляшу их копиями в правиле. Так что реализации у меня всегда будут кривыми. Ибо прислушиваюсь не к одному единственному мнению.
ЛОЛ, я вдруг обнаружил что эта система пересчитывает вообще ВСЕ элементарные маршруты между светофорами в одном направлении... Я в шоке, за 15 минут расчитать почти всё Киевское направление вместе с Бекасовым, оказывается, пустяк...
Не, всё-таки поспешил хвастаться. Но кога влючил-таки систему с выкл. проверкой типа светофора, то маршруты тоже собирались быстро.
Рекордсменом на карте Москва-Нара могу назвать светофор ПГ3 ст. Бекасово-Сортировочное, у которого 49 элементарных маршрутов до следующих светофоров. Второе место поделили ПГ2 и Г2 той же станции с их 48 маршрутами :D
Без будки обойдись. Что у тебя за мания карты всякой фигней захламлять по малейшему поводу? А если настройки понадобится изменить, что, по всем тремстам километрам эту будку искать?"выносной пульт будки уже работает"
http://s004.radikal.ru/i208/1009/ea/88d99c7243bdt.jpg (http://s004.radikal.ru/i208/1009/ea/88d99c7243bd.jpg)
Kompozitor
26.09.2010, 06:34
На каком минимальном билде фурычить будет?
ТРам, ты суперкрут. Прочитал тему, эта вещь будет очень полезна.
На каком минимальном билде фурычить будет?думаю, что фурычить должно на всём, вплоть до 2006 .
Офф. ТРам, у кого-то разве ещё стоит 2006 оО
Ну, скрипты-то с 2006 особо не меняются... Особенно в области окошек и стрелок.
already. И зачем ты подчеркивания вместо пробелов используешь?
И зачем ты подчеркивания вместо пробелов используешь?потому что браузер не распознаёт даже те пробелы, которые вытянуты из string-table...
Значит, ты что-то не так делаешь. У Варза распознает, у меня тоже распознает и т.д.
Распознаёт один пробел между 2мя символами. А надо несколько.
PS - на один "плюсик" тоже неудобно нажимать, поэтому сделал ему расширитель.
Да, простейшие алгоритмы проверки свободности маршрута написал (за исключением поиска ПС на стрелках, попавших туда не по маршруту), теперь буду готовить ему тестировочный браузер.
Да, ещё одного не пойму. Почему если Sniff со стрелок пописывать в Init , то он не работает, а если в поток, с задержкой в 0.5 с, то работает? Типа мой объект создавался ДО стрелок?
Окончательный (я надеюсь) вариант настроечного браузера
http://ipicture.ru/uploads/100926/thumbs/HRxsdWKHdd.jpg (http://ipicture.ru/uploads/100926/HRxsdWKHdd.jpg)
Несколько? Гугли HTML-разметку, кроме таблиц тебе ничего не потребуется.
Или класс HTMLWindow (common.gs)
Разве ты здесь не видишь таблицу? Маршруты светофора находятся в 2 ячейках подтаблицы, которая окружена большой таблицей?
Таблица в данном случае не подходит, т.к. станции имеют названия разной длины, а разносить на 3 равные части название, ссылки сортировки списка маршрута и ссылки сборки маршрутов непрактично.
ПС сейчас попробую собрать самый первый маршрут этой системой...
Сори, что вмешиваюсь, не моя тема, но не понял - в ТРС применяется HTML разметка в интерфейсе?
* - в HTML таблице поля будут форматироваться по самому длинному названию - до ближайшего переноса, если совсем широко и "зажаты" остальные ячейки.
Сори, что вмешиваюсь, не моя тема, но не понял - в ТРС применяется HTML разметка в интерфейсе?да, конечно.
* - в HTML таблице поля будут форматироваться по самому длинному названию - до ближайшего переноса, если совсем широко и "зажаты" остальные ячейкичего мне как раз не требуется - надо компактно расположенные "кнопки", но при этом удобно нажимаемые (т.е. чтоб были промежутки).
В минибраузере применяется HTML-разметка в усеченном варианте, но для нужд ГУИ хватает.
Понятно, спасибо, больше не отвлекаю от фройлен Стрелка.
Ага, херовина заработала фактически с первого раза (только пришлось ковырнуть направление перегона -не в ту сторону выставляла)
Обнаружилась интересная особенность: число заранее заданных маршрутов на одну горловину не ограничено :). Это жутко оставляет - даж у Zork'a такого нет
TRam_, у тебя какая редакция z7?
Station Buider . В тестировании первых версий (когда маршрутостроение было) я участия не принимал, пришлось 43 килобайта писать самому...
Не подскажешь, как надёжно отключить самооткрытие светофоров?
Итак, самая первая бетка. Поддерживаются только элементарные маршруты, выбирать из элементарных наилучший он тоже пока не умеет. Если "приоритет -1", то задать маршрут нельзя будет. Будку ставить так же, как "главный контроллер z7" (обязательно, и только одну на карту). В самом "главном контроллере z7" обязательно ставить "направление перегонов - ручной/командный" и режим "Проф". Маршруты выполняются в порядке задания. Для отмены маршрута нажимать на его название в разделе его станции... Так, если не хотите понимать эту груду слов - ждите мануала. Система несовместима с z7 script DNC.
А я пока её обкатаю.
Да, основное преимущество - стрелки после прокладывания по ним маршрута не блокируются.
http://narod.ru/disk/25445057000/z7-xpath%20v0.1.cdp.html
http://trainzold.mylivepage.ru/file/746/6353_z7-xpath_v0.1.cdp
Так, небольшое исправление (после тестирования БМО выпал некритичнй баг, но лучше его убрать :) )
http://narod.ru/disk/25445982000/z7-xpath%20v0.1a.cdp.html (старые удалил)
Инструкции будут днём.
Да, основное преимущество - стрелки после прокладывания по ним маршрута не блокируются.
Т.е. маршрут не замыкается? И окончательным разрешением светофору на открытие является что-то другое, а не замкнутость маршрута? Или ты имел в виду, что стрелки разблокируются после освобождения или отмены собранного маршрута?
На 41615 не хочет устанавливаться.
Или ты имел в виду, что стрелки разблокируются после освобождения или отмены собранного маршрута?я говорю стрелки не блокируются. НИКОГДА НЕ БЛОКИРУЮТСЯ. Ибо это не нужно.
Поэтому для автомашиниста следует применять правило, не трогающее стрелки, например STW drive.
И окончательным разрешением светофору на открытие является что-то другое, а не замкнутость маршрута? окончательное разрешение на открытие светофора даёт сама сигналка z7, а эта система проверяет свободность стрелок, и : в случае маршрутов по станции - свободность следующего парка, в случае маршрута на другую станцию - направление перегона. После успешной проверки переводит стрелки и включает на светофоре режим предоткрытия. Остальное, как уже сказал, делает сигналка.
На 41615 не хочет устанавливаться.это как? Скрипты с ошибками, или что?
я говорю стрелки не блокируются. НИКОГДА НЕ БЛОКИРУЮТСЯ. Ибо это не нужно.
Поэтому для автомашиниста следует применять правило, не трогающее стрелки, например STW drive.
окончательное разрешение на открытие светофора даёт сама сигналка z7, а эта система проверяет свободность стрелок, и : в случае маршрутов по станции - свободность следующего парка, в случае маршрута на другую станцию - направление перегона. После успешной проверки переводит стрелки и включает на светофоре режим предоткрытия. Остальное, как уже сказал, делает сигналка.
Хм, то есть подразумевается, что если юзаем твою систему, то извольте только ею и пользоваться? Симбиоз сей системы и, например, Path Control или Path Rule невозможен? Хм, смелое решение... Ну, посмотрим, может быть действительно, доверив всё твоей системе остальное можно выбросить на свалку истории?
А почему режим "Проф", типа, чтоб предоткрытия не было входных/выходных/маршрутных?
это как? Скрипты с ошибками, или что?
Пишет "Unable to open......to reading"
я говорю стрелки не блокируются. НИКОГДА НЕ БЛОКИРУЮТСЯ. Ибо это не нужно.
Поэтому для автомашиниста следует применять правило, не трогающее стрелки, например STW drive.
Не согласен тут, маршрут должен замыкаться, это важно - исключается перевод стрелок в собранном маршруе, что особенно важно на больших станциях.
окончательное разрешение на открытие светофора даёт сама сигналка z7, а эта система проверяет свободность стрелок, и : в случае маршрутов по станции - свободность следующего парка, в случае маршрута на другую станцию - направление перегона. После успешной проверки переводит стрелки и включает на светофоре режим предоткрытия. Остальное, как уже сказал, делает сигналка.
Я писал о минусах такого алгоритма:
1. в случае случайной комбинации положений стрелок (когда маршруты из них не собраны), когда между светофорами получается незамкнутый маршрут (который никто не собирал:)) светофор может открыться, когда не нужно, если перед ним есть ПС с машинистом.
2. будут старые проблемы с открытием светофора, когда едешь управлением назад или вагонами вперёд.
Если бы получилось научить светофоры открываться только при замкнутом маршруте, невзирая на отсутствие/присутствие машиниста, наличие вагонов перед локом, положение машиниста к светофору спиной/лицом, вот это был бы реал и значительное упрощение работы со светофорами. Кто согласится со мной?
1. в случае случайной комбинации положений стрелок (когда маршруты из них не собраны), когда между светофорами получается незамкнутый маршрут (который никто не собирал) светофор может открыться, когда не нужно, если перед ним есть ПС с машинистом.
2. будут старые проблемы с открытием светофора, когда едешь управлением назад или вагонами вперёд.
решение проблемы 1:
все светофоры принудительно переведены в предзакрытое состояние, открываться не хотят и не могут (т.к. в предоткрытое состояние их переводила z7 script dnc, теперь она не используется)
решение проблемы 2:
развернуть поезд. (да каким угодно способом, может я чуть иную команду напишу, чем z7 turnround)
Не согласен тут, маршрут должен замыкаться, это важно - исключается перевод стрелок в собранном маршруе, что особенно важно на больших станциях.ты алгоритма не понял. Если ты не разрешаешь машинистам переводить стрелки, то их никто не переведёт, правильно? Без различия, большая или маленькая у нас станция.
Система же помечает стрелки, готовящиеся к переведению, индивидуальным номером маршрута, так что 2 и более маршрута по одной стрелке провести невозможно. А если у нас перевести стрелки может только тот маршрут, который пометил все свои стрелки, то второй на эти стрелки полезть не сможет (до тех пор, пока поезд по маршруту не проедет или пользователь маршрут не разберёт).
Да, вот, думаю, окончательная бета-версия, (в папках а не cdp-файлах), мануал уже делаю.
http://ifolder.ru/19529309
http://narod.ru/disk/25460442000/z7%20xPath%20v0.1b.rar.html
http://trainzold.mylivepage.ru/file/746/6354_z7_xPath_v0.1b.rar
светофоры открываться только при замкнутом маршруте, невзирая на отсутствие/присутствие машиниста, наличие вагонов перед локом, положение машиниста к светофору спиной/лицом, вот это был бы реал и значительное упрощение работы со светофорами. Кто согласится со мной?я против "положения машиниста". Потому что при развороте направления поезда машинист оказывается в первом вагоне с головы (вне зависимости от того, является ли первый вагон локомотивом или нет).
По поводу "самооткрытия" - качай мою весч, и попробуй добиться хоть одного самооткрытия :)
Пишет "Unable to open......to reading"
Не согласен тут, маршрут должен замыкаться, это важно - исключается перевод стрелок в собранном маршруе, что особенно важно на больших станциях.
Я тоже был удивлен. Но если я правильно понял скорректированную задумку автора, стрелка, которая учавствует в собранном маршруте считается занятой. И если попытаться, но опять же таки, этой же разработкой собрать маршрут, в который входит занятая стрелка, то маршрут не соберется и стрелки не переведуться. Да, TRam?
Я писал о минусах такого алгоритма:
1. в случае случайной комбинации положений стрелок (когда маршруты из них не собраны), когда между светофорами получается незамкнутый маршрут (который никто не собирал:)) светофор может открыться, когда не нужно, если перед ним есть ПС с машинистом.
В z7 версии Проф это, по-моему, исключено. Там не предотрытия входных/выходных/маршрутных, как в Проф2. Хотя сама по себе невозможность работать в версии Проф2 говорит скорее о слабости алгоритма, чем о его силе. Неужели нельзя жестко позакрывать предоткрытие? Вручную же можно.
2. будут старые проблемы с открытием светофора, когда едешь управлением назад или вагонами вперёд.
Если бы получилось научить светофоры открываться только при замкнутом маршруте, невзирая на отсутствие/присутствие машиниста, наличие вагонов перед локом, положение машиниста к светофору спиной/лицом, вот это был бы реал и значительное упрощение работы со светофорами. Кто согласится со мной?
Ну, это уже из области улучшений.:rolleyes: Тут хотя бы те постулаты, которые в самом начале темы и разработки соблюдены были. Но об этом, думаю, можно судить только опробовав то, что нам было предложено.
И если попытаться, но опять же таки, этой же разработкой собрать маршрут, в который входит занятая стрелка, то маршрут не соберется и стрелки не переведуться. Да, TRam?маршрут соберётся в следующий момент после освобождения стрелки. А до этого он будет висеть в "стеке" ожидания, как и во всех остальных "продвинутых" симуляторах ДНЦ, типа Zork'овского или Stanicar'а (с возможностью удаления из этого стека).
Там не предотрытия входных/выходных/маршрутных, как в Проф2.система не собирает маршруты автоматически (пока). В данном случае ты накидываешь на каждой станции набор задаваемых маршрутов, и они будут выполняться по мере освобождения стрелок. Так что никакого автособирания - пока всё вручную.
Неужели нельзя жестко позакрывать предоткрытие? Вручную же можно.не смеши. Данная система как раз и орудует теми же месседжами, что получаются, когда ты "вручную" клацаешь по кнопке в свойствах светофора. И ты отлично знаешь что автоматика Проф2 клацает едва ли не по этой же самой клавише.
все светофоры принудительно переведены в предзакрытое состояние, открываться не хотят и не могут (т.к. в предоткрытое состояние их переводила z7 script dnc, теперь она не используется
Как же они тогда вообще открываются?
развернуть поезд. (да каким угодно способом, может я чуть иную команду напишу, чем z7 turnround)
это ужасно - постоянно лезть за командами, чувствуешь себя ботом и никакого реализма - работаешь за машиниста, программиста и диспетчера сразу.
ты алгоритма не понял. Если ты не разрешаешь машинистам переводить стрелки, то их никто не переведёт, правильно? Без различия, большая или маленькая у нас станция.
Система же помечает стрелки, готовящиеся к переведению, индивидуальным номером маршрута, так что 2 и более маршрута по одной стрелке провести невозможно. А если у нас перевести стрелки может только тот маршрут, который пометил все свои стрелки, то второй на эти стрелки полезть не сможет (до тех пор, пока поезд по маршруту не проедет или пользователь маршрут не разберёт).
А если пользователь случайно переведёт стрелку в машинисте? Или на карте, желая кликнуть на состав, промахнётся и попадёт на стрелку (при подтормаживании может случиться, когда карта дёргается и подвисает)? Или съезд использует Junction link?
Вова, пожалуйста, сделай замыкание маршрута и открывание светофоров только при этом! Хотя бы в качестве теста. Кто за?
Пишет "Unable to open......to reading"
Не согласен тут, маршрут должен замыкаться, это важно - исключается перевод стрелок в собранном маршруе, что особенно важно на больших станциях.
Я тоже был удивлен. Но если я правильно понял скорректированную задумку автора, стрелка, которая учавствует в собранном маршруте считается занятой. И если попытаться, но опять же таки, этой же разработкой собрать маршрут, в который входит занятая стрелка, то маршрут не соберется и стрелки не переведуться. Да, TRam?
Я писал о минусах такого алгоритма:
1. в случае случайной комбинации положений стрелок (когда маршруты из них не собраны), когда между светофорами получается незамкнутый маршрут (который никто не собирал:)) светофор может открыться, когда не нужно, если перед ним есть ПС с машинистом.
В z7 версии Проф это, по-моему, исключено. Там не предотрытия входных/выходных/маршрутных, как в Проф2. Хотя сама по себе невозможность работать в версии Проф2 говорит скорее о слабости алгоритма, чем о его силе. Неужели нельзя жестко позакрывать предоткрытие? Вручную же можно.
2. будут старые проблемы с открытием светофора, когда едешь управлением назад или вагонами вперёд.
Если бы получилось научить светофоры открываться только при замкнутом маршруте, невзирая на отсутствие/присутствие машиниста, наличие вагонов перед локом, положение машиниста к светофору спиной/лицом, вот это был бы реал и значительное упрощение работы со светофорами. Кто согласится со мной?
Ну, это уже из области улучшений.:rolleyes: Тут хотя бы те постулаты, которые в самом начале темы и разработки соблюдены были. Но об этом, думаю, можно судить только опробовав то, что нам было предложено.
Но если я правильно понял скорректированную задумку автора, стрелка, которая учавствует в собранном маршруте считается занятой. И если попытаться, но опять же таки, этой же разработкой собрать маршрут, в который входит занятая стрелка, то маршрут не соберется и стрелки не переведуться. Да, TRam?да, именно так. Поток маршрута будет ждать своей очереди до тех пор, пока все его стрелки не будут освобождены.
Неужели нельзя жестко позакрывать предоткрытие? Вручную же можно.у меня вручную закрыть правильно настроенный светофор под Проф2 (который с явным маркером прямого пути) не получилось.
можно судить только опробовав то, что нам было предложенотри ссылки выше. В них - архив папок. Я надеюсь, что их сможет открыть и 2006 трс.
А если пользователь случайно переведёт стрелку в машинисте?то поезд при наезде на стрелку проложит по ней маршрут 1 (0 - свободная стрелка, остальные маршруты получают индивидуальный номер от 2 и до скольки трс поддерживает целые числа), который оборвёт маршрут. Да, маневровые передвижения аналогичны. И маршрут "1" разбирается только при съезде с него поезда.
Вова, пожалуйста, сделай замыкание маршрута и открывание светофоров только при этом!делается элементарно но мне не охота. При замыкании/размыкании стрелок возможны баги трсовского движка, мне с ними возиться не хочется.
Прошу прощения за double-post! У меня интернет сегодня "просто летает"!
Модераторы, уберите, пожалуйста, второй мой пост!
решение проблемы 2:
развернуть поезд. (да каким угодно способом, может я чуть иную команду напишу, чем z7 turnround)
Не поделишься ли работаеющей такой приблудой? А то Change Train Direction выбивает ошибку и "экранная телеметрия" виснет напрочь, хотя и "разворачивает" машиниста.
Не поделишься ли работаеющей такой приблудой?попробую сделать на основе z7 . У меня просто Change Train Direction работала нормально, во время тестирования ею пользовался (а затем давал машинисту STW drive)
Не, тут нужен либо мануал, либо пол-литра - иначе не разобраться! :) Расставил приоритеты, нажал галку, вновь открываю свойства, нахожу эту станцию, а приоритеты опять по нулям... Это так должно быть?
Расставил приоритеты, нажал галку, вновь открываю свойства, нахожу эту станцию, а приоритеты опять по нулям... Это так должно быть?нет, не должно.
Только пока приоритеты играют очень скромную роль - если приоритет "-1", то маршрут в браузере не показывается. Начну с браузера, потом подробно распишу как настраивать, какие потенциальные баги, и т.п.
Kompozitor
29.09.2010, 18:09
Sorry! Я как бы, не глубоко в теме. Установил все три элемента из самого последнего релиза в 2009 билд 37625 (недосуг в другую винду идти), установил и будку и правила в базовую сессию БМО демо. В редакторе нужны предварительные манипуляции, а то в машинисте - тык, мык, не вкуриваю? В редакторе провел пересчет стрелок и светофоров в будке. Поезд стоит на Поварово-3, лицом к Н2, ничего не происходит.:confused: :confused: :confused:
Начну с мануалу по пользованию, ибо ограничения и необходимое для настройки системы время достаточно значительны, а значит, без знания зачем это всё, большинству система может показаться запутанной и усложнённой.
В данном случае рассмативаю то, что удалось сделать за последние 1.5 недели. А именно тренажёр диспетчера.
Итак, после установки системы и просчёта маршрутов (не обязательно всех – хотя бы по тем станциям, по которым вы собираетесь ездить) и добавления правила z7_xpath primarybrowser («браузер элементарных маршрутов»), вы запускаете режим «машинист».
http://i072.radikal.ru/1009/11/a5ca1577dd17t.jpg (http://radikal.ru/F/i072.radikal.ru/1009/11/a5ca1577dd17.jpg.html)
Как-то непонятно... Стоим на перегоне, а проходной жёлтый... Получается входной закрыт. Да ещё и панелька какая-то странная, с не совсем понятным списком.
http://s56.radikal.ru/i153/1009/2d/5b7faa22b3dbt.jpg (http://radikal.ru/F/s56.radikal.ru/i153/1009/2d/5b7faa22b3db.jpg.html)
Отвечаю – входной закрыт, т.к. вы маршрут прибытия на станцию не задали. А список – ни что иное, как список имён ваших станционных контроллеров (не всех – части), иначе говоря список ваших станций, и светофоров выбранной станции.
Итак, мы хотим посмотреть на этот входной. Вот пререшли к нему по карте, открыли свойства.
http://s45.radikal.ru/i108/1009/7a/4bf8fae40b6dt.jpg (http://radikal.ru/F/s45.radikal.ru/i108/1009/7a/4bf8fae40b6d.jpg.html)
Да, он закрыт. Но кое-что важное мы в окне видим – у него имя «Ч @ vnu». Значит он принадлежит станции Внуково.
Давайте построим с него маршрут прибытия. Ищем в панели ДСП имя «vnu» и кликаем по нему. Отлично, открылся список светофоров этой станции . Теперь выбираем там наш светофор (Ч).
http://s47.radikal.ru/i116/1009/20/bd39fd503579t.jpg (http://radikal.ru/F/s47.radikal.ru/i116/1009/20/bd39fd503579.jpg.html), открылся список возможных маршрутов. Данная система ещё не умеет выбирать дублированные маршруты (если только вы не указали у ненужных маршрутов приоритет «-1» ), так что выберем например первый маршрут до Ч3.
Ура, он у нас открылся . Теперь перекручиваем панель выше, и
http://s48.radikal.ru/i119/1009/f0/9f2b59ac7e60t.jpg (http://radikal.ru/F/s48.radikal.ru/i119/1009/f0/9f2b59ac7e60.jpg.html)
И видим наш маршрут в стеке маршрутов станций. Его можно разобрать, если кликнуть по нему, но нам это пока не надо. Теперь перекручиваем список светофоров и приготовим маршрут отправления от светофора Ч3. Для этого находим Ч3 в основном списке светофоров и нажимаем на него.
http://s02.radikal.ru/i175/1009/ec/5d8a08586c4ct.jpg (http://radikal.ru/F/s02.radikal.ru/i175/1009/ec/5d8a08586c4c.jpg.html)
О, появился список маршрутов этого светофора. В данном случае «правильным» для чётного направления является 2 путь (что логично), поэтому строим маршрут до светофора 2Ч станции sol т.е. Солнечной.
http://s08.radikal.ru/i181/1009/2c/7c165e8941c2t.jpg (http://radikal.ru/F/s08.radikal.ru/i181/1009/2c/7c165e8941c2.jpg.html)
О, у нас в списке 2 маршрута – прибытия и отправления.
http://s09.radikal.ru/i182/1009/52/112756459728t.jpg (http://radikal.ru/F/s09.radikal.ru/i182/1009/52/112756459728.jpg.html)
А на локомотивном зелёный, т.к. на проходном Жм .
http://s004.radikal.ru/i205/1009/20/6daded3cb54bt.jpg (http://radikal.ru/F/s004.radikal.ru/i205/1009/20/6daded3cb54b.jpg.html)
А теперь самое время построить маршрут по станции Солнцево. Прямо отсюда, из кабины. Аналогично выбору станции Внуково выбираем sol (Солнцево), и задаём маршрут от 2Ч до ЧМ3.
http://s44.radikal.ru/i103/1009/ad/5c087c42cccet.jpg (http://radikal.ru/F/s44.radikal.ru/i103/1009/ad/5c087c42ccce.jpg.html)
Ну и точно также, выбрав ЧМ3, строим маршрут до Ч5. Маршруты показались в стеке станции Солнцево.
http://i062.radikal.ru/1009/d3/c6a4671b761et.jpg (http://radikal.ru/F/i062.radikal.ru/1009/d3/c6a4671b761e.jpg.html)
Да, мы не оптимальный маршрут выбрали... Данный маршрут нам для объезда «хвостов» других поездов в принципе не понадобится, можем в настройках ему прописать приоритет -1.
http://s53.radikal.ru/i139/1009/31/996122587e12t.jpg (http://radikal.ru/F/s53.radikal.ru/i139/1009/31/996122587e12.jpg.html)
Едем по Внуково, вот 2 маршрута...
http://s002.radikal.ru/i197/1009/db/cfbfd0bc4bb5t.jpg (http://radikal.ru/F/s002.radikal.ru/i197/1009/db/cfbfd0bc4bb5.jpg.html)
А вот 1 – первый
http://s56.radikal.ru/i154/1009/ea/5b6554ca6cc6t.jpg (http://radikal.ru/F/s56.radikal.ru/i154/1009/ea/5b6554ca6cc6.jpg.html)
Так, приехали мы ко входному Солнцево, а он закрыт. Почему?
http://s47.radikal.ru/i116/1009/c9/cb8cb531ad4dt.jpg (http://radikal.ru/F/s47.radikal.ru/i116/1009/c9/cb8cb531ad4d.jpg.html)
Да потому что думпкары перед Ч5 стоят . Занят 5 путь... Ну что ж, щёлкаем по этому маршруту в стеке (От ЧМ3 до Ч5), он удалится.
http://s004.radikal.ru/i207/1009/07/9bcda997dcb8t.jpg (http://radikal.ru/F/s004.radikal.ru/i207/1009/07/9bcda997dcb8.jpg.html)
И прокладываем новый, от ЧМ3 до Ч3, который свободен...
http://s56.radikal.ru/i153/1009/08/5d399bd97c1bt.jpg (http://radikal.ru/F/s56.radikal.ru/i153/1009/08/5d399bd97c1b.jpg.html)
Да, когда проезжаем этот ЧМ3, то светофор кратковременно мигает красным, потом горит зелёным, потом опять красным. К сожалению, это глюк z7 – сбрасывание открытости светофора, ну ничего, система z7 xPath хоть и не очень красиво (миганием), но решает эту проблему. (боты этого мигания не успевают заметить, поскольку раньше засчитвали «проезд красного» и ждали 2 минуты. Теперь благодаря заплатке этого не происходит :)
Не все пути перегона в одну сторону... Непорядок.
http://s48.radikal.ru/i121/1009/b6/69ceb0757f08t.jpg (http://radikal.ru/F/s48.radikal.ru/i121/1009/b6/69ceb0757f08.jpg.html)
Открываем маршрут отправления со следующей станции на II путь (нечётное направление) и радуемся погасшим светофорам перегона :)
http://s58.radikal.ru/i160/1009/7b/440c752430f5t.jpg (http://radikal.ru/F/s58.radikal.ru/i160/1009/7b/440c752430f5.jpg.html)
Ну и в конце концов мы прибыли на Москву-Сортировочную. На такой путь, что я бы на скорости поезда в 80 км/ч не успел по мини-карте собрать и проверить :)
http://s47.radikal.ru/i115/1009/45/130d5973090ft.jpg (http://radikal.ru/F/s47.radikal.ru/i115/1009/45/130d5973090f.jpg.html)
Ну и о настройке.
Необходимые требования
а) все леверы должны быть только во втором положении:
http://s001.radikal.ru/i194/1009/5e/7437952af74at.jpg (http://radikal.ru/F/s001.radikal.ru/i194/1009/5e/7437952af74a.jpg.html)
в противном случае посчитать стрелки не удастся
б) система допускает работу только с z7 сигнализацией, и только со следующими настройками главного контроллера
http://s004.radikal.ru/i205/1009/09/df4b3e5609aft.jpg (http://radikal.ru/F/s004.radikal.ru/i205/1009/09/df4b3e5609af.jpg.html)
Ну и пример настройки
настройка из браузера будки: расчёт стрелок. В процессе расчёта была нажата кнопка "обновить окно" (часто нажимать не надо, иначе будут ошибки)
http://s60.radikal.ru/i169/1009/0f/b269a87a940dt.jpg (http://radikal.ru/F/s60.radikal.ru/i169/1009/0f/b269a87a940d.jpg.html)
типично возникающая ошибка на крупных картах. В этом случае расчёт необходимо повторить (как правило на второй раз ошибка не появляется)
http://s002.radikal.ru/i199/1009/30/670c160a4797t.jpg (http://radikal.ru/F/s002.radikal.ru/i199/1009/30/670c160a4797.jpg.html)
"завершено"
http://s45.radikal.ru/i108/1009/48/639b61396cfbt.jpg (http://radikal.ru/F/s45.radikal.ru/i108/1009/48/639b61396cfb.jpg.html)
Пример использования "выносного пульта"
http://s52.radikal.ru/i137/1009/6e/1e350cc86906t.jpg (http://radikal.ru/F/s52.radikal.ru/i137/1009/6e/1e350cc86906.jpg.html)
(в первый раз свойства не открываются, надо закрыть и открыть снова)
http://s08.radikal.ru/i181/1009/61/9dd86785699ft.jpg (http://radikal.ru/F/s08.radikal.ru/i181/1009/61/9dd86785699f.jpg.html)
выносной пульт в действии - подключился к будке и передаёт её интерфейс
http://s11.radikal.ru/i184/1009/1e/9d12e09db31at.jpg (http://radikal.ru/F/s11.radikal.ru/i184/1009/1e/9d12e09db31a.jpg.html)
считаем светофоры из пульта
http://s001.radikal.ru/i195/1009/72/de1d8124f5dct.jpg (http://radikal.ru/F/s001.radikal.ru/i195/1009/72/de1d8124f5dc.jpg.html)
нажатие на "_+_" считает маршруты всех светофоров станции. Нажатие на название станции позволяет показать % завершения. Нажатие на "_+_" возле светофора позволяет рассчитать только его маршруты. Сортировку светофоров по именам следует проводить до сборки маршрутов.
http://s03.radikal.ru/i176/1009/0e/f73766566c75t.jpg (http://radikal.ru/F/s03.radikal.ru/i176/1009/0e/f73766566c75.jpg.html)
Убирание ненужного дублирующего маршрута.
http://s54.radikal.ru/i145/1009/64/1a78adaee1a3t.jpg (http://radikal.ru/F/s54.radikal.ru/i145/1009/64/1a78adaee1a3.jpg.html)
Добавление браузера элементарных маршрутов.
http://i061.radikal.ru/1009/d5/23733d6c7778t.jpg (http://radikal.ru/F/i061.radikal.ru/1009/d5/23733d6c7778.jpg.html)
Ну и последний пункт - ограничения. Система не поддерживает учёта Х-стрелок, не способна собрать сложный маршрут (через несколько светофоров подряд), не может выбирать оптимальный маршрут из вариантов, не любит отсутствия перегона между станциями (типичная ситуация многопарковой станции) так как не может определять направление этих путей и их занятости (занятость поручается исключительно сигналке, возможен стандартный баг "жёлтые с обеих сторон куска пути" на стыке парков). И не может строить маневровые маршруты.
Самое первое, что собираюсь исправить - выбор маршрутов из вариантов.
Так, изучил... Сразу вопрос: то, что было показано на предыдущей странице по управлению этим хозяйством, это тестовое что-то или это было задумано так изначально и так оно и будет в окончательном релизе?
P.S. Поздравляю болельщиков "Рубина" с одним очком! Против БАРСЫ!!! :-)
это тестовое что-то или это было задумано так изначально и так оно и будет в окончательном релизе?изначально так и задумывалось, но теперь, думаю, это будет одним из вариантов использования базы данных стрелок и строителя маршрутов. Кстати идея 1:1 с z7 script dnc с функциями постройки маршрутов (правила нельзя менять в процессе игры, а команды мешают самому управлять поездом)
Станция называется "Солнечная".
Станция называется "Солнечная".извиняюсь, названия и имена я сразу не запоминаю.
... но теперь, думаю, это будет одним из вариантов использования базы данных стрелок и строителя маршрутов.
Можно поподробнее с этого места? Я имею ввиду интерфейс и сам метод построения маршрутов в режиме машинист.
Так, приехали мы ко входному Солнцево, а он закрыт. Почему?...
....Да потому что думпкары перед Ч5 стоят . Занят 5 путь... Ну что ж, щёлкаем по этому маршруту в стеке (От ЧМ3 до Ч5), он удалится.
Доездились - ткнулись носом во входной, а он - закрыт :eek: (предвходной нам тоже много чего "расскажет"). Кстати, а то, что там думпкары стоят, это тоже на светофоре видно?
Что-то я не пойму. То ли я совершенно ничего не понял, то ли невнимательно читал, что ты писал ранее...:eek:
То ли я совершенно ничего не понял, то ли невнимательно читал, что ты писал ранее..я ткнул рандомно маршрут на некий путь, а путь оказался занят (я ж насилую карту своего сценария, ничего там не менял, в том числе "статику" на Солнечной). Ну предвхоной корректно показал Жм, входной - Ж-Ж, маршрутный - красный. Ну понятное дело, работать ДСП, находясь в кабине локомотива (управляя локомотивом) и не видя мнемосхемы очень и очень сложно :rofl: . Пришлось тот маршрут разбирать и прокладывать на соседний свободный путь.
Я имею ввиду интерфейс и сам метод построения маршрутов в режиме машинист.в режиме машинист кроме этого можно попробовать сделать команду машинисту "дождаться построения маршрута по ст.* от св.* до св. *". И аналогичного содержания правила. Больше я ничего не могу придумать.
А данная штука - универсальна, но с явным уклоном в сторону диспетчерствования.
Кстати, а то, что там думпкары стоят, это тоже на светофоре видно?ну раз не открылся, значит видно. Если бы открылся, я б с думпкарами столкнулся и написал "я был лучшего мнения о z7". Но, как видишь, этого не произошло.
Только что повторил свою поездку, но теперь закончил её на 15 пути Москвы-Киевской, пробравшись по южному парку и светофор ЧДК :).
Хм, то есть подразумевается, что если юзаем твою систему, то извольте только ею и пользоваться? Симбиоз сей системы и, например, Path Control или Path Rule невозможен? Хм, смелое решение... Ну, посмотрим, может быть действительно, доверив всё твоей системе остальное можно выбросить на свалку истории?моя система ещё не строит маршрутов сама. Хотя это, в принципе, не сложно сделать (если позволить проверять свободность маршрута не только самому маршруту, но и локомотиву, который по этому маршруту едет). Правда куда уедет в конце концов такой локомотив (если не делать езды по контрольным точкам), неизвестно.
Выбрасывать до этих пор можно только z7 script dnc, т.к. всё в ней, кроме открытия маневровых светофоров и скакания по составам, дублируется моей системой.
Kompozitor
30.09.2010, 00:29
У меня стоит Z7 ProfSB. Будет работать, или откатываться надо?
У меня стоит Z7 ProfSB. Будет работать, или откатываться надо?работать будет. Если Проф режим выставишь. У меня точно такая же Z7 ProfSB как и у тебя.
TRam_, ты знаешь, я уже не одну строчку своего текста стёр и начинал писать заново.
То с применением цитат, то просто, от себя...
Плюнул на всё это... А там, - хоть обижайся, хоть - нет.
Первое. Ты что и для кого пишешь? Диспетчерский пульт для диспетчера станции или простую схему для механика?
Varz в z7 ушёл от внутренних команд к командам, которые будут пониматься из полосы команд "машинисту" (извини за тавтологию). То есть, "дефолтных". Ты же пытаешься опять вогнать в какие-то рамки, условности, расчеты каких-то дурацких маршрутов...
Я же тебе говорил как-то, что сделай команду, наподобие WaitUntilNotRed, но только в отношении направленности перегона. ВСЁ! Велосипед изобретать не нужно!.. Нет, ты же полез в какие-то дебри...
А как всё красиво начиналось:
Потом, с помощью командной строки даётся команда, типа "проехать от этого светофора до вооон того". И чтобы выполнить эту команду сей инструмент из рассчитанных маршрутов соберёт тот, по которому и поедет ПС. 23.09.10 20:40; Nicklon
Но команды обязательно будут, но уже во вторую очередь, так как не совсем пока понимаю как их делать.23.09.2010, 21:28; TRam
.... Оппа! Так, я внимательно просматривая то, что было раньше нарвался на вот что: (цитировать полностью не буду, просто сошлюсь на дату и время) - NickLon 23.09.2010, 22:39
TRam, мне больше добавить нечего...:( :( :( Получается, разговор об этом уже был...
Согласен. В своем текущем виде система имеет немного применений, а как задел для автоДСП и полуавтоматической маршрутизации в сценарих весьма неплоха, но только если будет оформлена в виде правила и команд (как jsTRF PathControl, с правилом PathTrigger для сценария и командой setpath для ботов).
Я же тебе говорил как-то, что сделай команду, наподобие WaitUntilNotRed, но только в отношении направленности перегона. ВСЁ! Велосипед изобретать не нужно!..просто я вижу одну большую проблему. При организации движения по однопутному перегону у нас в перегон будет вкладываться поездов больше, чем путей на станции приёма. И получается "пробка", даже если у нас 1 станция между порталами. И получается что смысла WaitUntilNotRed не будет, однопутный перегон сможет (и то если сможет) работать только когда на нём нет проходных. И всё, команда не нужна, т.к. на двухпутке вполне нормально работает и та jsTRF PathControl .
но только если будет оформлена в виде правила и командПравило я обещал, и команду тоже (с единственным "но" - я не знаю, сможет ли ТРС загружать в меню абсолютно все маршруты всех светофоров такой карты как БМО - ведь у PathControl такой проблемы небыло :)
"проехать от этого светофора до вооон того"проблемы:
1) поехать по неправильному пути
2) поехать по дебрям
3) перерасчёт путей с проверкой их занятости затянется на секунду полного заглючивания трс (и ты хочешь, чтоб у тебя каждую 1-2 минуты трс подвисал?)
поэтому я и сделал расчёт только до ближайшего светофора, сделанный заранее.
А вообще я уже говорил о трёх шагах постройки - в первом делается вот такая установка с отображением и возможностью коррекции заданных маршрутов+ правила, команды к ней, дальше - команды для автоматической постройки маршрутов "куда-нибудь вперёд", и только в конце "движение через такие-то станции".
На данный момент я хочу довести постройку маршрутов до поддержки станций любой сложности (только тогда надо будет не забывать писать парки одной станции через ":" )+автовыбор вариантных маршрутов, ну и команду, и, если получится, правило.
Varz в z7 ушёл от внутренних команд к командампотому что их нельзя было менять в процессе сессии. Это был главный недостаток z-cmd.
Kompozitor
30.09.2010, 15:33
весьма неплоха, но только если будет оформлена в виде правила и команд (как jsTRF PathControl, с правилом PathTrigger для сценария и командой setpath для ботов).
Ага. И чтоб что-то наподобие "Wait" было - занят маршрут, сиди и не рыпайся, не мешай другим ботам, дергая стрелки
И неплохо было бы, чтоб собирать маршрут можно было бы не только себе, но и в любом месте карты или хотя бы станции (Yard-а), независимо от наличия лока перед светофором. Это удобно, когда сам рулишь, а тебе через триггеры "другие дяди" командами собирают маршрут.
просто я вижу одну большую проблему. При организации движения по однопутному перегону у нас в перегон будет вкладываться поездов больше, чем путей на станции приёма. И получается "пробка", даже если у нас 1 станция между порталами. И получается что смысла WaitUntilNotRed не будет, однопутный перегон сможет (и то если сможет) работать только когда на нём нет проходных. И всё, команда не нужна, т.к. на двухпутке вполне нормально работает и та jsTRF PathControl .
Я тебе говорил как это решается методом резервирования.
Правило я обещал, и команду тоже (с единственным "но" - я не знаю, сможет ли ТРС загружать в меню абсолютно все маршруты всех светофоров такой карты как БМО - ведь у PathControl такой проблемы небыло :)
А зачем все маршруты загружать, когда предполагается их автоматическая выборка? Начальный светофор, конечный светофор.
1) поехать по неправильному пути
Зачем? Это бессмысленно, если только не обгон.
2) поехать по дебрям
Теория графов
3) перерасчёт путей с проверкой их занятости затянется на секунду полного заглючивания трс (и ты хочешь, чтоб у тебя каждую 1-2 минуты трс подвисал?)
Событийно-ориентированный мониторинг. Стрелка отсылает кучу разных сообщений :)
потому что их нельзя было менять в процессе сессии. Это был главный недостаток z-cmd.
Команда условного перехода наподобие CopyCommands?
Ага. И чтоб что-то наподобие "Wait" было - занят маршрут, сиди и не рыпайся, не мешай другим ботам, дергая стрелкисобственно расчёт стрелок и есть то самое средство от дёрганья - можно просто по базе данных смотреть, что бы было, если стрелки были-бы туда-то переведены. В общем понял: всем нужна команда "иди и едь куда сможешь" :).
И неплохо было бы, чтоб собирать маршрут можно было бы не только себе, но и в любом месте карты или хотя бы станции (Yard-а), независимо от наличия лока перед светофором. Это удобно, когда сам рулишь, а тебе через триггеры "другие дяди" командами собирают маршрут.блин, я зачем вчера инструкцию по пользованию браузером делал? "не, я просто так из кабины машки нащёлкал себе маршрут от Внуково до Москвы-Киевской, но это сосвем не то что вам нужно". (правда при этом дважды нащёлкал на занятый путь, приходилось разбирать :) )
А зачем все маршруты загружать, когда предполагается их автоматическая выборка? Начальный светофор, конечный светофор.начальный светофор чего? конечный светофор чего? Моя система позволяет вычислить светофор по имени станции и его собственному имени, но без знания к какой станции светофор принадлежит мы никуда не уедем. Автоматическая выборка только для маневровых маршрутов, так как мы уже договорились, что приоритет маршрутов выбирается пользователем. А примеров того, что правила "чем меньше стрелок тем лучше" и "чем короче путь, тем лучше" не работают, предостаточно.
Событийно-ориентированный мониторинг. Стрелка отсылает кучу разных сообщенийв моём браузере НЕТ ВРЕМЕННОГО МОНИТОРИНГА ! Всё вешается исключительно на Object,Leave от стрелки (за исключением добавления новых команд)
Команда условного перехода наподобие CopyCommands?она копирует вообще всё расписание (shedule), а не делает изменения расписания.
Я тебе говорил как это решается методом резервирования.метод даёт нереально низкую пропускную способность.
Правило я обещал, и команду тоже (с единственным "но" - я не знаю, сможет ли ТРС загружать в меню абсолютно все маршруты всех светофоров такой карты как БМО - ведь у PathControl такой проблемы небыло Для этого нужно правило. Всю эту работу с маршрутизацией лучше выносить в правила, а боты-машинисты должны заниматься своим делом — ехать.
проблемы:
1) поехать по неправильному пути
2) поехать по дебрям
3) перерасчёт путей с проверкой их занятости затянется на секунду полного заглючивания трс (и ты хочешь, чтоб у тебя каждую 1-2 минуты трс подвисал?)
поэтому я и сделал расчёт только до ближайшего светофора, сделанный заранее. Поэтому в текущем виде система неприменима. Как будущий задел под МРЦ она годится :)
Надо как-то хорошо продумать вопрос избегания вариантных маршрутов...
Ага. И чтоб что-то наподобие "Wait" было - занят маршрут, сиди и не рыпайся, не мешай другим ботам, дергая стрелки Ну МРЦ наши (всех систем) так и работают: если любая стрелка находится в замкнутом маршруте, то новый маршрут не собирается.
Зачем? Это бессмысленно, если только не обгон. Возможность выхода на неправильный путь перегона должна быть. Ситуация не настолько редкая, как кажется.
Для этого нужно правило. Всю эту работу с маршрутизацией лучше выносить в правила, а боты-машинисты должны заниматься своим делом — ехать.занят написанием правила...
Надо как-то хорошо продумать вопрос избегания вариантных маршрутов...да я ж уже говорил - пользователь в настройках указывает приоритет выбора вариантных маршрутов, система перебирает список этих маршрутов в порядке приоритетов и устанавливает тот, который свободен (если таковой имеется, в противном случае ставит в стек тот, у которого нулевой приоритет). Но это пока в планах.
Поэтому в текущем виде система неприменима.я не о своей системе, а о предлагаемой тобой и Мишей идее расчёта маршрутов в процессе игры. Моя пока что вовсе не понимает, чем отличается правильный от неправильного (не видит маркер неправильного пути)
Ну МРЦ наши (всех систем) так и работают: если любая стрелка находится в замкнутом маршруте, то новый маршрут не собирается.значит я автоматически становлюсь автором второй виртуальной МРЦ в trainz :) (с дословной иерархией "станция - парк (светофор) - маршрут")
начальный светофор чего? конечный светофор чего? Моя система позволяет вычислить светофор по имени станции и его собственному имени, но без знания к какой станции светофор принадлежит мы никуда не уедем. Автоматическая выборка только для маневровых маршрутов, так как мы уже договорились, что приоритет маршрутов выбирается пользователем. А примеров того, что правила "чем меньше стрелок тем лучше" и "чем короче путь, тем лучше" не работают, предостаточно.
Начальный светофор маршрута, лол. Конечный светофор, ВНЕЗАПНО, тоже маршрута! Два последовательных светофора достаточны для идентификации группы маршрутов, из которых выборка происходит согласно заданному пользователем приоритету. У НикЛона, наверно, уже язык отвалился тебе это втирать.
в моём браузере НЕТ ВРЕМЕННОГО МОНИТОРИНГА ! Всё вешается исключительно на Object,Leave от стрелки (за исключением добавления новых команд)
Ну и чудесно, от чего же тогда ты пугаешь зависаниями ТРС на секунды?
она копирует вообще всё расписание (shedule), а не делает изменения расписания.
Копирование подразумевает возможность изменения, не правда ли?
метод даёт нереально низкую пропускную способность.
Метод НЕ влияет на пропускную способность вообще.
Два последовательных светофора достаточны для идентификации группы маршрутов, из которых выборка происходит согласно заданному пользователем приоритету.да, не сразу понял. Ответ:
пользователь в настройках указывает приоритет выбора вариантных маршрутов, система перебирает список этих маршрутов в порядке приоритетов и устанавливает тот, который свободен (если таковой имеется, в противном случае ставит в стек тот, у которого нулевой приоритет). Но это пока в планах.
Ну и чудесно, от чего же тогда ты пугаешь зависаниями ТРС на секунды?от выделения памяти на Соупы с новыми последовательностями стрелок.
В общем понял: всем нужна команда "иди и едь куда сможешь" :).
Здесь только следует иметь ввиду, что принцип "едь куда сможешь" годится только для транзитных поездов по станции! Как правило, транзитные идут по главному пути. Для двухпутных участков это почти не актуально, главный бывает редко занят, когда уже прибывает следующий поезд. А вот на однопутных - это сплошь и рядом при разъезде даже двух поездов.
пользователь в настройках указывает приоритет выбора вариантных маршрутов, система перебирает список этих маршрутов в порядке приоритетов и устанавливает тот, который свободен (если таковой имеется, в противном случае ставит в стек тот, у которого нулевой приоритет). Но это пока в планах.
Это не годится! На БМО нет таких станций, как, например, Ртищево-I, Джанкой Придн.ж.д., Тула, Орел, где грузовой и пассажирский парк - это одна и та же станция. Еду я грузовым - у меня один набор приоритетов, еду пассажирским - другой. Грузовым мне нечего делать на первом пути у вокзала, а вот для пассажирского (скорого фирменного) этот путь как раз №1 в приоритетах. Вот поэтому я и говорю, что группы нужны - для грузового я буду искать свободный путь, пусть даже и в соответствии с приоритетом поставленным заранее, в грузовом парке, а для пассажирского - в пассажирском. А если я буду руководствоваться только приоритетами, то у меня даже дрезина будет переться на первый путь!:D
Теперь ещё такой момент. Но это уже из области мечтаний-наблюдений. Просто может быть из прений получится решение. На однопутных участках, на станции, например, из 3-х путей, на боковой заходит именно тот поезд, который прибывает первым на станцию и который будет ждать встречного. Это я говорю о грузовых транзитных. 1-му то всё равно стоять и заходить на станцию с уменьшенной скоростью (под красный), а вот второй уже проносится по главному в соответствии с таблицей скоростей по горловинам станции. Вот бы такое реализовать бы ещё. А при этом главный путь имеет 1-й приоритет всегда: если нет встречного, то как неслись, так и несемся мимо станции по главному.
Да, в жизни это разруливает ДСП... Но всё же...:o
Просто может быть из прений получится решение. На однопутных участках, на станции, например, из 3-х путей, на боковой заходит именно тот поезд, который прибывает первым на станцию и который будет ждать встречного. Это я говорю о грузовых транзитных. 1-му то всё равно стоять и заходить на станцию с уменьшенной скоростью (под красный), а вот второй уже проносится по главному в соответствии с таблицей скоростей по горловинам станции. Вот бы такое реализовать бы ещё. А при этом главный путь имеет 1-й приоритет всегда: если нет встречного, то как неслись, так и несемся мимо станции по главному.наигрался я уже в Zork'овский сим диспетчера, знаю это. Другое дело, что знаю также, что намного выгоднее в перегон вдавливать с одной стороны штук 5-6 поездов, с другой - 2. Тогда эти 2 в основном стоят на станциях, пока их объедут по главному та кучка из поездов. В результате получаем довольно значительный перевес над "сеточкой" в ГИД, когда на перегоне есть только один поезд.
По поводу твоих мыслей ... У меня была такая: "что пассажирскому хорошо, то грузовому плохо", т.е. единая система, когда чем выше приоритет пути, тем меньше хотят на него грузовые, и тем больше - пассажирские. За исключением "нейтральных" - главных. Но пока до этого далеко.
Да и вообще... Это нужно только для маршрутов прибытия. Для отправления всё равноправно, т.к. перегон-то один.
Да, в жизни это разруливает ДСП... Но всё же...то, что выложено, и есть сим ДСП. Только без мнемосхемы и рисования графиков.
да я ж уже говорил - пользователь в настройках указывает приоритет выбора вариантных маршрутов, система перебирает список этих маршрутов в порядке приоритетов и устанавливает тот, который свободен (если таковой имеется, в противном случае ставит в стек тот, у которого нулевой приоритет). Но это пока в планах. Все хорошо, только вот в Бекасово каком-нибудь их, маршрутов, может быть несколько тысяч. Нужно автоматизировать процесс.
от выделения памяти на Соупы с новыми последовательностями стрелок. Ой, да хватит втирать. Или у тебя на каждый маршрут по супу?
Здесь только следует иметь ввиду, что принцип "едь куда сможешь" годится только для транзитных поездов по станции! Ну почему же. Для всех поездов годится, и команда называется Autodrive. Катит по прямой, не трогая стрелки, пока не упрется в заданный маркер.
Еду я грузовым - у меня один набор приоритетов, еду пассажирским - другой. Есть приоритеты у поездов, есть маркеры приоритета путей. 2+2=?. Тем более, что никто, в принципе, не запрещает не ограничиваться исходными тремя.
Для двухпутных участков это почти не актуально, главный бывает редко занят, когда уже прибывает следующий поезд. А вот на однопутных - это сплошь и рядом при разъезде даже двух поездов. В жизни машинист не занимается вопросом скрещения с поездами. Стало быть, и нам не нужно изобретать велосипед: пусть контролем направления перегона занимается сигнализация и маршрутизация. И вообще, обсуждаемая система вопроса направления перегона не должна касаться — её задачей является обеспечение невозможности сборки маршрута, если перегон открыт "не туда" и занят. А вот уж какие поезда выпускать на перегон и в каком направлении, должен решать некий вышестоящий орган.
На однопутных участках, на станции, например, из 3-х путей, на боковой заходит именно тот поезд, который прибывает первым на станцию и который будет ждать встречного. Это я говорю о грузовых транзитных. 1-му то всё равно стоять и заходить на станцию с уменьшенной скоростью (под красный), а вот второй уже проносится по главному в соответствии с таблицей скоростей по горловинам станции. Вот бы такое реализовать бы ещё. А при этом главный путь имеет 1-й приоритет всегда: если нет встречного, то как неслись, так и несемся мимо станции по главному.
Да, в жизни это разруливает ДСП... Но всё же... При приходим к порочному смешиванию системы, управляющей движением в целом, и системы, реализующей сборку конкретного маршрута. Так что надо определиться, что мы здесь делаем: автоДСП/ДНЦ, или более удобную полуавтоматическую альтернативу PathControl? Я считаю, нужно стремиться ко второму, к системе, которая позволит отдавать команды типа "собрать маршрут от Ч до Ч6", но уж умеющую делать это хорошо и обладающую развитыми внешними интерфейсами, чтобы можно было удобно использовать это в сценариях и в будущем легко дополнять всякими выкрутасами типа мнемосхемы, автоДСП и пр.
Другое дело, что знаю также, что намного выгоднее в перегон вдавливать с одной стороны штук 5-6 поездов, с другой - 2. Одноминутка энциклопедичности: это движение пакетом.
Ой, да хватит втирать. Или у тебя на каждый маршрут по супу?да, по одному. Другое дело их не много - у самого замаршрутированного светофора Г3 того самого Бекасово всего 40 элементарных маршрутов, есть ещё 2 по 39. А так по входным 5-10 на крупной и 3-4 на мелокой станциях, на выходных - по 2-3 (в зависимости от числа путей на перегоне).
Все хорошо, только вот в Бекасово каком-нибудь их, маршрутов, может быть несколько тысяч. Нужно автоматизировать процесс.как раз в Бекасово альтернативных маршрутов немного. Вот где их много, так это в Москве-Киевской. Но там проблемы с Х-стрелками.
Я считаю, нужно стремиться ко второму, к системе, которая позволит отдавать команды типа "собрать маршрут от Ч до Ч6", но уж умеющую делать это хорошо и обладающую развитыми внешними интерфейсами, чтобы можно было удобно использовать это в сценариях и в будущем легко дополнять всякими выкрутасами типа мнемосхемы, автоДСП и пр.ну моя умеет, да интерфейс только один (пока). Но вот построить от Ч ст. Внуково до Ч ст. Солнечная она сама научиться не сможет. Это я хочу поручить автодиспетчеру, но самой строить не позволю.
Да, сейчас выделил проверку путей и стрелок на занятость, альтернативный маршрут она находит. Но вот приоритетов альтернативных маршрутов пока не хочет понимать.
Другое дело, что знаю также, что намного выгоднее в перегон вдавливать с одной стороны штук 5-6 поездов, с другой - 2. Тогда эти 2 в основном стоят на станциях, пока их объедут по главному та кучка из поездов. В результате получаем довольно значительный перевес над "сеточкой" в ГИД, когда на перегоне есть только один поезд.
А тут - БАЦ, один из двух - скорый. Как в той электричке "Стоим, курим бамбук. Выходной закрыт!":rofl:
Давай не будем рассматривать случаи из серии "А что если солнце упадет на землю?" Это касается и варианта о том, что на перегон натолкали больше ПС, чем может принять ближайшая станция.
По поводу твоих мыслей ... У меня была такая: "что пассажирскому хорошо, то грузовому плохо", т.е. единая система, когда чем выше приоритет пути, тем меньше хотят на него грузовые, и тем больше - пассажирские. За исключением "нейтральных" - главных. Но пока до этого далеко.
Неа-а! Опять не взлетит. Станции разные бывают. На одной может быть 2 пути под платформами, то есть "пассажирский парк", а 4 - грузовой, а на другой аж с 5-го начинается грузовой. Так с какого пути грузовому "должно быть плохо", и по какой "пассажирскому хорошо"? Группировки тебе не миновать!:p
то, что выложено, и есть сим ДСП. Только без мнемосхемы и рисования графиков.
Я думаю, что к моей "мысли вслух" можно будет вернуться после того, как почитаем прения других. Сейчас, я думаю, пока ещё рано над этим ломать копья...
Это касается и варианта о том, что на перегон натолкали больше ПС, чем может принять ближайшая станция.согласно сигнализации это вполне нормальная ситуация. И сигналка с АБ её запрещать не должна.
Так с какого пути грузовому "должно быть плохо", и по какой "пассажирскому хорошо"?маркер приоритета ставь возле пассажирских платформ и возле входа на парк. Тогда у тебя ни один грузовой не остановится у платформы (хотя на станции родного города один раз такое видел), т.к. недоедет до неё.
А тут - БАЦ, один из двух - скорый.вот поэтому УСВАП уже есть, а автоДСП ещё нет.
Ну почему же. Для всех поездов годится, и команда называется Autodrive. Катит по прямой, не трогая стрелки, пока не упрется в заданный маркер.
Так, ну у команды Autodrive есть ещё и маркер, который задан, как ты правильно заметил. Только вот либо to, либо through. Если through, а маркер аж за выходной станцией - смело задаём группу "едь, где сможешь проехать". А вот если to, то что-то мне нужно на станции. То ли отцеп оставить, то ли забрать. И прибыть мне нужно на конкретный путь. А это значит, что "едь, куда сможешь" не прокатит.
P.S. Увы, SheduleAtTrackMark в Т10 не работает, не только я пытался на разных билдах это сделать.
А это значит, что "едь, куда сможешь" не прокатит.но оно обязательно при движении со станции. Если конечно ты себе маршруты не "на проход" выбираешь.
да, по одному. Другое дело их не много - у самого замаршрутированного светофора Г3 того самого Бекасово всего 40 элементарных маршрутов, есть ещё 2 по 39. А так по входным 5-10 на крупной и 3-4 на мелокой станциях, на выходных - по 2-3 (в зависимости от числа путей на перегоне). Тогда ясно, почему игра валится и все тормозит...
Но вот построить от Ч ст. Внуково до Ч ст. Солнечная она сама научиться не сможет. Это я хочу поручить автодиспетчеру, но самой строить не позволю. И не должна. Тут ведь две горловины задействованы. А вот от Ч до Ч2 и от Ч2 до Ч ст. Солнечной должна уметь.
вот поэтому УСВАП уже есть, а автоДСП ещё нет. Я что-то пропустил?
А вот если to, то что-то мне нужно на станции. То ли отцеп оставить, то ли забрать. И прибыть мне нужно на конкретный путь. А это значит, что "едь, куда сможешь" не прокатит. Дык берешь и задаешь ему как конечную точку нужный конкретный путь.
Тогда ясно, почему игра валится и все тормозит...тормозит она, когда эти маршруты генерируются.
А вот от Ч до Ч2 и от Ч2 до Ч ст. Солнечной должна уметь.ну умеет. Умеет даже от Ч до ЧМ, от ЧМ до Ч* и от Ч* до Ч след. станции. Теперь умеет даже альтернативные маршруты между одними и теми же светофорами правильно готовить :), если предварительно приоритеты выставить.
но оно обязательно при движении со станции. Если конечно ты себе маршруты не "на проход" выбираешь.
Да что ж ты прицепился к этим выходным маршрутам, то!? На выходе у тебя ЕДИНСТВЕННО возможный маршрут - Чх-18 (16,14... etc).
... Блин, я что-то вообще уже ничего не понимаю, наверное... Ща, ещё подумаю...
P.S. Всем "зенитовцам" большой и пламенный привет!!! Игра была великолепная!!! Я не болельщик Зенита, но эта игра мне доставила удовольствие! И дело не в счете, просто игра...;)
На выходе у тебя ЕДИНСТВЕННО возможный маршрут - Чх-18 (16,14... etc).вспоминаем о неправильном пути... И о том, что число станций с выходными Чх у нас примерно равно самому числу станций.
Блин, я что-то вообще уже ничего не понимаю, наверноевсё ты правильно понимаешь. Не хотим мы пока делать автодиспетчера. Но вот правило "сделать один из входных маршрутов"+ правило "найти выходной, открыть с него маршрут на правильный путь" для тебя постараюсь сделать.
Забей на неправильный путь, он очень редко когда используется.
Тем не менее я один раз на электре по неправильному ехал.
вспоминаем о неправильном пути... И о том, что число станций с выходными Чх у нас примерно равно самому числу станций.
На неправильный ты никак не уйдёшь на "Чх-18 (16,14... etc)"!!! (Чх-ЧД в худшем случае. В лучшем - Чх-Ч2а)
"Каац предлагает сдаться... Каац предлагает сдаться..." (с) к.ф. "На Дерибасовской хорошая погода, на Брайтон-Биг опять идут дожди".
TRam, ну что ж ты крутишься то всё вокруг новогодней ёлки? Уже даже стороннему участнику дискуссии стало понятно, что я едва ли не в монитор башкой бьюсь, чтоб ты понял. А понял вот что: возьми идеологию Path Control, добавь полученное проверкой на направление перегона - будет нам счастье!:drinks: И ник у этого счастья будет - TRam!
возьми идеологию Path Control, добавь полученное проверкой на направление перегонасоздание групп маршрутов сделать попробую. Копировать Path Control я не могу и не хочу. Но в начале отдельные правило+команду "открыть маршрут по станции * от светофора * до светофора *" сделаю (так как из таких правил всегда можно сделать правило, перебирающее группу команд, так как уже сделал отдельную команду проверки занятости маршрута)
да, полученное направление перегона, если его только проверять, будет неизменным. Его менять надо.
Quadroman
01.10.2010, 07:50
Вещь интересная,но до окончательного релиза ещё далеко... С одной стороны как-то всё просто,но на самом деле очень туго... Было бы не плохо,если бы вся эта система выглядела красивее чем Path Control.Тогда бы любой "чайник" не ломал свою голову прокладывая маршруты.
Старайся друг,мы всё ждём "это",так как с "этим" нам проще будет играть.;-)
Грать проще вряд-ли станет, но вот по миникарте ползать, высмативая где там мы не так стрелки превели, ну точно не прийдётся.
Итак, версия 0.2 . Понимает приоритеты дублирующих маршрутов. Добавлено правило задания маршрута (если правило применяется в самом начале сессии, то желательно установить его после правила wait на 3-4 секунды, т.к. правило не успевает приконнективаться к системе) и команда машинисту.
http://narod.ru/disk/25524124000/z7-xpathv0.2.rar.html
http://ifolder.ru/19556340
Строим маршрут по Москве-Сортировочной...
http://s56.radikal.ru/i153/1010/8f/7ad786b71c18t.jpg (http://s56.radikal.ru/i153/1010/8f/7ad786b71c18.jpg)
альтернативные маршруты Что это за неологизм? Альтернативные чему? Вариантные знаю, альтернативных нет.
Да что ж ты прицепился к этим выходным маршрутам, то!? На выходе у тебя ЕДИНСТВЕННО возможный маршрут - Чх-18 (16,14... etc). Неправильный путь, многопутные перегоны, ответвления. Вариантов достаточно.
Забей на неправильный путь, он очень редко когда используется. Система должна позволять и такие варианты. И используется неправильный путь достаточно часто.
да, полученное направление перегона, если его только проверять, будет неизменным. Его менять надо. Чем плохо мое предложение? Если перегон занят, то направление не менять и ждать освобождения (или собирать маршрут, если направление "то"), если свободен, то менять.
Итак, версия 0.2 . Хм, меню занимает весь экран. Сделай группировку светофоров (по Ч, по Н и т.д.).
Вариантные знаю, альтернативных нет.да, вариантные. Слово забыл.
Чем плохо мое предложение? Если перегон занят, то направление не менять и ждать освобождения (или собирать маршрут, если направление "то"), если свободен, то менять.проверку занятости всегда можно оставить сигналке. Ведь направление перегона когда на нём поезд, не меняется.
Сделай группировку светофоров (по Ч, по Н и т.д.). искать буквы Ч и Н в названии? Ведь далеко не все светофоры называются начиная с Ч или Н
Ведь далеко не все светофоры называются начиная с Ч или Н Ну в отдельную группу их выдели.
TRam_, не взлетело:
http://s004.radikal.ru/i205/1010/b8/5477ebfec2c9t.jpg (http://radikal.ru/F/s004.radikal.ru/i205/1010/b8/5477ebfec2c9.jpg.html)
Да и станции в списке у меня далеко не все...:confused:
И ещё, перегонные контроллеры может быть убрать из списка?
Да и станции в списке у меня далеко не все...такого не может быть
И ещё, перегонные контроллеры может быть убрать из списка?думаю, это можно. (отключать станции у которых нет поезных светофоров)
TRam_, не взлетело:не беспокойся, это глюк при принудительном закрытии светофоров в начале игры. На постройку маршрутов не влияет. (я поставил там временную задержку в 30 секунд, но этого, видимо, недостаточно. Надо выдумывать новый алгоритм...)
The_PluMber
01.10.2010, 20:02
Еще бы подробную инструкцию, как сие чудо правильно использовать.
такого не может быть
TRam, ну ты что, с идиотом что ли общаешься? Уж я то такую фигню просто взял и написал, от нечего делать? Скролинга нет, то, что размер экрана позволило и показал, как я думаю. Скриншот сейчас показать не могу, потому как я дома. А тестирование делал на работе.
Да у тебя на скрине я не уверен, что все контроллеры в сборе... Даже если это так - а ты разбери Бекасово на парки.:p
The_PluMber, полистать страницы темы - религия не позволяет?.. Ты ж, вроде, опытный а такие финты ушами отвешиваешь...:confused:
TRam, ну ты что, с идиотом что ли общаешься? Уж я то такую фигню просто взял и написал, от нечего делать? Скролинга нет, то, что размер экрана позволило и показал, как я думаю.я ничего не имею против. Благодаря тебе из списка будут вычищаться "станции" без станционных светофоров (т.е. перегоны), ну и алгоритм избавления от ошибки придумал другой. Бета-тестирование - вещь полезная...
Да, сортировку светофоров по чётному/нечётному тоже сделал, сейчас полезу всю эту кучу Г тестить.
The_PluMber
02.10.2010, 00:12
полистать страницы темы
C самого первого поста читаю её, но, как я считаю, и многим другим смертным, половину из этого я просто напросто не понимаю. :(
то поезд при наезде на стрелку проложит по ней маршрут 1 (0 - свободная стрелка, остальные маршруты получают индивидуальный номер от 2 и до скольки трс поддерживает целые числа), который оборвёт маршрут. Да, маневровые передвижения аналогичны. И маршрут "1" разбирается только при съезде с него поезда.
Не понял. Так если игрок случайно перевёл стрелку (они не замыкаются) в мини-карте, допустим, то что тогда? Снова собирать маршрут?
Ещё. Если ты смог принудительно закрыть светофоры, то, может, сможешь их принудительно открывать, если от него собран свободный маршрут (в продолжение мысли про открытие светофора ТОЛЬКО при собранном маршруте, невзирая на наличие/отсутствие и развёрнутость машиниста)?
Если ты смог принудительно закрыть светофоры, то, может, сможешь их принудительно открывать, если от него собран свободный маршрут (в продолжение мысли про открытие светофора ТОЛЬКО при собранном маршруте, невзирая на наличие/отсутствие и развёрнутость машиниста)?принудительно закрывать светофоры сигналка z7 позволяет. Но вот принудительно открывать - нет. А то вдруг на перегон с неправильным направлением открою?
Так если игрок случайно перевёл стрелку (они не замыкаются) в мини-карте, допустим, то что тогда?зачем переводить стрелку на миникарте, если есть браузер маршрутов? Это нужно только для маневровых передвижений. Да, разбирать, а затем собирать маршрут.
Так, баг радикальным образом исправлен, очистка браузеров и команд от перегонов сделана, можете обновлять. Думаю, пока прервусь с созданием этой вещи, пока надоела.
http://narod.ru/disk/25556417000/z7-xPath%20v0.2a.rar.html
http://trainzold.mylivepage.ru/file/746/6355_z7-xPath_v0.2a.rar
C самого первого поста читаю её, но, как я считаю, и многим другим смертным, половину из этого я просто напросто не понимаю.она автоматически может переводить стрелки так, чтобы между 2мя соседними светофорами станции был непрерывный незанятый путь (если это невозможно, то ждёт, пока путь освободится). Если она установлена и настроена, то может делать это одним из
а) правилом, настроенным заранее (для сценариев)
http://s43.radikal.ru/i101/1010/df/aa1174fab111t.jpg (http://radikal.ru/F/s43.radikal.ru/i101/1010/df/aa1174fab111.jpg.html)
б) командой, для ботов
http://s40.radikal.ru/i090/1010/62/ee765d3bfc1at.jpg (http://radikal.ru/F/s40.radikal.ru/i090/1010/62/ee765d3bfc1a.jpg.html)
в) браузером, для "диспетчеров"
http://s54.radikal.ru/i146/1010/15/d5d6ec85e57ft.jpg (http://radikal.ru/F/s54.radikal.ru/i146/1010/15/d5d6ec85e57f.jpg.html)
при этом в первом и последнем для постройки надо кликнуть по нужной станции, затем по нужному светофору этой станции, затем в подсписке этого светофора кликаем на тот, до которого нам нужно проложить маршрут. Маршруты в этом случае показываются в правой колонке и их можно разбирать, кликая на ним.
Да, последнее. Система полностью совместима с правилом z7 turntrain :)
зачем переводить стрелку на миникарте, если есть браузер маршрутов? Это нужно только для маневровых передвижений. Да, разбирать, а затем собирать маршрут.
Случайно - хотел нажать на состав, попал на стрелку.
Про сигналку понял, осталось надеяться, что её адаптируют к твоему маршрутизатору и светофоры будут открываться только при наличии собранного с него маршрута, невзирая на машинистов перед ним.
Хочу уточнить: маршруты желательно пока не строить через перекрёстные стрелки и глухие пересечения?
Хочу уточнить: маршруты желательно пока не строить через перекрёстные стрелки и глухие пересечения?маршруты строятся все, для их отключения надо ставить им приоритет "-1". Да, пока лучше отключать...
antikiller_bmrf
02.10.2010, 13:48
Чет у меня совсем ничего не встало...
Правила пустые, при добавлении выдают ошибки.
Команд нету в списке и браузера тоже.
Чет у меня совсем ничего не встало... правильно, надо поставить будку и просчитать эти самые маршруты. http://www.trainsim.ru/forum/showpost.php?p=205466&postcount=92
antikiller_bmrf
02.10.2010, 14:15
Так, я просто будку искал в светофорах, не нашел, думал все, не нужна.
С этим понятно, у меня в панели дсп в списке светофоров ниодин не раскрывается, то же самое в панели бота.
И что значат проценты возле кнопки "сортировать"?
будка в объектах. Для создания маршрутов у светофора нажимай на "__+__" возле него, а если хочешь создать маршруты у всех светофоров станции сразу, нажимай "_+_" возле имени станции (там можно % прогресса смотреть, нажимая на название станции)
antikiller_bmrf
02.10.2010, 14:32
Да у меня станция элементраная на 4 стрелки, процент там рандомный, может висеть 93 может 12...
маршруты не все перечисляет, со входного я могу попасть на 2 пути из 4х
с неправильного на другие 2... х..нь какая-то.
После того как я переделал стрелки под "образец" будка начала сыпать ошибками.
http://s52.radikal.ru/i135/1010/aa/1aa7a7024426t.jpg (http://radikal.ru/F/s52.radikal.ru/i135/1010/aa/1aa7a7024426.jpg.html)
После того как я переделал стрелки под "образец" будка начала сыпать ошибками. после того, как ты переделал стрелки, надо заново "пересчитать стрелки" и "пересчитать светофоры".
Да у меня станция элементраная на 4 стрелки, процент там рандомный, может висеть 93 может 12...нажимай на название станции, чтоб процент обновился. Означает он долю светофоров станции, у которых уже пересчитаны маршруты.
маршруты не все перечисляет, со входного я могу попасть на 2 пути из 4хесли стрелка неправильно поставлена, она не видит светофора с одного из направлений.
PS я тут проехался по карте своего сценария, убрав все правила перевода стрелок... В принципе прокладывать себе маршрут можно. Даже по Бекасово ...
Да, удалось таки исправить ошибку, указанную NickLon'ом. Исправления тут
http://narod.ru/disk/25572937000/z7-xPath%20v0.2b.rar.html
Что-то не открывается - "Архив повреждён или имеет неизвестный формат".
Так, пришлось править проверку маршрута отправления, так как там была обидная ошибка.
http://narod.ru/disk/25578334000/z7-xpath%20v0.2b.rar.html
Да, маршруты прибытия лучше запускать после того, как поезд окажется на перегоне и там наедет на маркер (чтобы строились маршруты прибытия только когда именно наш поезд будет прибывать к станции)
http://i072.radikal.ru/1010/8b/11de8fca08b5t.jpg (http://radikal.ru/F/i072.radikal.ru/1010/8b/11de8fca08b5.jpg.html)
Kompozitor
02.10.2010, 23:49
TRam_, а может, тестовую карту кинешь со всем настроенным? Или сессию для Москвы-Нары?
Если это имеет смысл, конечно.
Так, вечный сценарий таки получился :). Справил одно место в коде, и 1.5 часа смотрел, как чмухи по однопутке с 2мя станциями разъезжаются. (естественно, умеют использовать только 2 пути... Хотя... Может для организации движения по однопутке больше и не надо?)
Собственно версию можно скачать тут http://narod.ru/disk/25585246000/z7-xPath%20v0.2c.rar.html
А саму карту отсюда http://narod.ru/disk/25585273000/z7_exp.cdp.html
(требуется чмуха с lattrains.net)
antikiller_bmrf
03.10.2010, 01:06
Решил я проблему - все дело было в случайно стоявшем на первой стрелке лишним левере. из-за него дальше входного не было видно маршрутов.
:). Версию обнови, тогда глюков с однопуткой не будет совсем никаких.
Единственное что - правило установки маршрутов пока глючит, исправлю чуть позже.
antikiller_bmrf
03.10.2010, 01:33
Сессия работает. все работает.
Рельсы классные, не то, что первые...
офф Первые были 2D :). А 2D с 2.75D сравнивать не стоит
сказано ~ 4 года назад
слушай, а линукс - не тетрис ? А Трейнз - не линукс ?
поэтому будем играть в то, что захотим. Когда сделаем. (начиная от "баночек пива" и заканчивая ДСП из "кабины", возможно с мультиплеером). Так что как сказать...
блин, ДСП из кабины готов... Мульт на подходе... Даже и не верится, что "оно до сих пор развивается"
Kompozitor
03.10.2010, 07:38
Такая петрушка получается:
Захотел сам поупражнятся с командами "на ходу", отняв у бота чмуху. Давно известно, что команда "Свитч Спан" срабатывает только при уже собранном маршруте. Так вот, даю команду на маршрут отправления - ничего не происходит, проходные погашены. Вручную перевожу стрелку и даю "Switch Span". затем опять ставлю стрелку на несобранное положение, после этого даю команду Собрать на отправление - все чин-чином. Как это разрулить?
Специально попробовал задать маршрут на занятый путь. Вроде, попутный перед нами, а мы по удалению за ним. Команда "типа выполнилась", но ничего не произошло. А нельзя ли придумать, чтоб как в Patch Control Set Patch (Wait) - иконка команды не убиралась, пока не освободится маршрут, чтоб мы постояли-постояли перед входным и проехали.
Варианты, как попасть на другой свободный путь не предлагать, может, я задумал наехать на триггер, по которому будет что-то происходить.
Ну и еще. Зачем в подменю маршрута прибытия значится входной на следующую станцию?
Kompozitor
03.10.2010, 10:25
Володя, я только что опробовал Фантазию-z7 с правилом "z7примари - браузер" и командой. Короче, в Проф2 оно работает.
Вопросы такие.
Что я мог накосячить в настройке будки, если на примерно половине станций при задании маршрута командой отображались не все светофоры в подменю станций. Только те, вроде, к которым по умолчанию стрелки стоят. Я сначала проводил инициализацию стрелок, затем светофоров, затем кликал напротив каждой станции плюсик, затем несколько раз - сортировать, пока проценты не исчезнут.
Были и такие интересности. Стоя на боковом в Борисполе, задаю маршрут до входного "Ч" Крутоборки, а стрелки не по прямой собрались, а с двумя отклонениями, через диспетчерский съезд. Это лечится?
Опытным путем понял, что команда не находит светофор, если на пути к нему стоит ПС. Это правильно? Не знаю, как бы все работало, если бы план был заранее задан.
Кстати сказать, в маневровом режиме и приоритете все едет, как и в поездном.
Та-ак, что еще. Возвращаюсь в редактор, переключаю главный контроллер в Проф, затем иду чинить будку. Опять нажимаю в ней инициализацию стрелок, выскочило сразу 75% и ошибка "main Junction Controller", затем ошибка перестала появляться, опять кликаю хотя бы пару станций настроить, жму, как уже писал. Вхожу в Машиниста, а после "четное-нечетное" в команде исчезли все подменю со светофорами.
зы: К быстрому машинисту есть противопоказания?
зы:зы: Последний вопрос из предыдущего поста уже не задаю.
Давно известно, что команда "Свитч Спан" срабатывает только при уже собранном маршруте.задавая маршрут, ты автоматически делаешь "Свитч Спан", если это возможно. Так что зря ты пытался что-то сделать этой командой, надо было в браузере, который с левом верхнем углу, создать нужный маршрут. Больше никак.
Так вот, даю команду на маршрут отправления - ничего не происходит, проходные погашены.значит первая стрелка на "той" станции уже занята маршрутом от тепловоза, что едет с того конца. Ведь ты не хочешь, чтоб они встретились на перегоне? Для того, чтобы ты мог открыть маршрут себе, разбери маршрут отправления по "той" станции для чужого тепловоза (клик в браузере по нужной станции, потом по "от ** до *** ")
Команда "типа выполнилась", но ничего не произошло.как раз всё таки произошло. wait'ом занимается и команда "автопилот", и сам маршрут, который после выполнения команды, если ты не заметил, добавился в стек станции, по которой едет попутный. Как только попутный съедет с первой стрелки дальней горловины станции, нам дадут разрешающий сигнал, а тепловоз поедет.
Варианты, как попасть на другой свободный путь не предлагать, может, я задумал наехать на триггер, по которому будет что-то происходить.а разве я не по наезду на триггер устроил выложенный сценарий? Разве ты его так невнимательно смотрел?
Короче, в Проф2 оно работает.оно неверно работает в Проф2.
затем несколько раз - сортировать, пока проценты не исчезнут. надо вначале на сортировать, затем на плюсик, а затем на название станции. У тебя все маршруты затираются, когда ты нажимаешь на "сортировать".
Стоя на боковом в Борисполе, задаю маршрут до входного "Ч" Крутоборки, а стрелки не по прямой собрались, а с двумя отклонениями, через диспетчерский съезд. Это лечится?маршрутам надо указывать приоритет. Чем выше приоритет маршрута между одной и той же парой светофоров, тем меньше будет хотеть его собрать система. Иначе говоря, нашёл 2 маршрута между одними и теми же светофорами в браузере будки, будь добр, поставь 2 или 5 или 10 приоритет тому, который через диспетчерский съезд. (смотри станцию "Сидорово" моей карты - там 2 вариантных маршрута для Н и для Ч3)
зы: К быстрому машинисту есть противопоказания?у меня небыло. Может, дело в том, что ты "сортировать" нажимал после расчёта маршрутов?
Только те, вроде, к которым по умолчанию стрелки стоят.ты стрелки двигал, чтобы было "правильное положение"? И там случаем нет никаких правил по "замыканию стрелок", в Фантазии?
Опытным путем понял, что команда не находит светофор, если на пути к нему стоит ПС.ПС не должен стоять на стрелках во время "расчёта стрелок". В остальное время он влиять не должен. Лично я пересчитывал свою карту, даже когда там 4 тепловоза на путях стояло (но не на стрелках)
Как только попутный съедет с первой стрелки дальней горловины станции, нам дадут разрешающий сигнал, а тепловоз поедет.имеется в виду открытие входного
Kompozitor
03.10.2010, 20:35
Так что зря ты пытался что-то сделать этой командой, надо было в браузере, который с левом верхнем углу, создать нужный маршрут. Больше никак. Это было в твоем сценарии. В браузере в режиме машиниста? А я хотел полного автоматизма, не вмешиваясь. Хотя у тебя ж едут. Но был один момент в 6.11, когда на трехпутной станции образовался коллапс - два пути заняли две чмухи, смотрящие в одном направлении. Встречная на ссвоей станции встала, как вкопанная. В общем, вкурю еще.
Как только попутный съедет с первой стрелки дальней горловины станции, . Нашей станции или следующей.?Кстати, так и не понял, можно ли собрать маршрут от выходного до первого проходного? Плюсики перегонов почему-то не раскрываются в свойствах будки.
а разве я не по наезду на триггер устроил выложенный сценарий? Разве ты его так невнимательно смотрел?
Да хотел уж посмотреть, так свойства порталов никак невозможно нажать. Уже и на рельсы кликал, и на надпись, не ловится мешь. Ставишь на карту такой же портал бэйсик, делается все:confused: . Видимо, баг ТРСа 42953. Слои разблокированы. Да, почему-то, когда мышкой наводишь на команду, не всплывает, "что там задано и куда".
надо вначале на сортировать, затем на плюсик, а затем на название станции. У тебя все маршруты затираются, когда ты нажимаешь на "сортировать".
Отож-бо. Только еше не врулил, как узнать, что сортировка окончена. 100% никогда не показывалось.
И там случаем нет никаких правил по "замыканию стрелок", в Фантазии?
Там только настроечная сессия, в которой я сначала Проф2 ставил, потом опять Проф. Вроде, была одна отсуствующая стрелка в Балезино, исправил. В Москве-Наре это же не мешало тебе успешно все сдедать. На ст. Балезино есть такие вещи. Когда я стою в моторвагонном депо перед маневровым светофором, даю дефолтную команду прицепиться к ПСу, что стоит в парке "Б", всплывает месседж то ли про стрелку, то ли про какую-то невозможность. Это давно было, еще без твоих правил.
ПС не должен стоять на стрелках во время "расчёта стрелок". В остальное время он влиять не должен. Лично я пересчитывал свою карту, даже когда там 4 тепловоза на путях стояло (но не на стрелках)
Нет, состав находился в переделах парка, не на стрелках. Что интересно, светофор виделся, когда состава не было, затем я пригнал его и дал команду другому задать маршрут - тогда и стало так, как я писал.
Так и не понял, можно ли задать маршрут только "за встречный светофор"? А то собрал как-то, чтоб выехать за горловину и обратно под состав, так по логике получается, что я должен проехать входной следующей станции, чтоб маршрут считался разобранным и я мог собрать следующий, в обратном направлении.
Кстати, заметил, что командой можно задать маршрут не только себе, а и в любое место карты. Верно? Для прибытия и транзита удобно. Едешь себе, сам управляешь, а за тебя другой бот по триггеру работает. Если занято, входной перекроется и все дела.
Подумалось как-то, что не помешал бы вариант правил, похожий на Js-Trf, только с той разницей, чтоб не нужно было при создании маршрутов в редакторе кликать по каждой стрелке и каждому трексайду. Чтоб одним - двумя кликами по первому и второму светофору сгенерировались все возможные маршруты. А мы в машинисте просто выбирали их командами из библиотеки, без подменюшек.
Нашей станции или следующей.?Кстати, так и не понял, можно ли собрать маршрут от выходного до первого проходного?
так, маршрут отправления можно собрать в 2х случаях
а) если перегон направлен "правильно" и свободны все стрелки маршрута нашей станции
б) если перегон направлен "неправильно", свободны все стрелки маршрута на нашей станции, а также свободна первая стрелка той станции (необходимо для невозможности коллизий на перегоне)
маршрут прибытия может собраться, если
все стрелки маршрута до нужного нам пути свободны, и первая стрелка с той стороны пути
а) свободна/отсутствует
б) занята, и направлена не на наш путь
Но был один момент в 6.11попробуй переинициализировать перегон между трёхпутной и двухпутной, а также пересобрать маршруты на двухпутной. У меня автоматическое движение было почти до 10.00
Уже и на рельсы кликал, и на надпись, не ловится мешь. Ставишь на карту такой же портал бэйсик, делается все . Видимо, баг ТРСа 42953.нажми на слой "сессии", затем на "объединить слои". У меня то же самое было, вроде после этого исправлялось
100% никогда не показывалось. правильно, если ты нажал на "обновить" и ничего не показывается, то всё уже посчитано. Просто когда загружаешь карту, трудно понять, посчитаны ли маршруты или нет (или они уже устарели, если в карте стрелки двигал?)
В Москве-Наре это же не мешало тебе успешно все сдедать.ну так в ней и тестил, когда искал баги по расчётам "особо крупных карт". Прошёл свой сценарий, пользуясь исключительно браузером (только не на тот путь Бекасово приехал :) )
Так и не понял, можно ли задать маршрут только "за встречный светофор"? А то собрал как-то, чтоб выехать за горловину и обратно под состав, так по логике получаетсяно это же маневровые передвижения... Я ещё до них не дошёл...
и обратно под состав, так по логике получается, что я должен проехать входной следующей станции, чтоб маршрут считался разобранным и я мог собрать следующий, в обратном направлении.Да, изменения направления перегона не поддерживает сигналка z7 . Да и вообще не знаю, могут ли перегоны при наличии на них поездов менять направление в реальной жизни...
Кстати, заметил, что командой можно задать маршрут не только себе, а и в любое место карты. Верно? Для прибытия и транзита удобно. Едешь себе, сам управляешь, а за тебя другой бот по триггеру работает. Если занято, входной перекроется и все дела.естественно. Щас буду пытаться делать команду обратного толка "собрать маршрут от следующего светофора приоритета не выше x и не ниже y, либо 0 приоритета"
что не помешал бы вариант правил, похожий на Js-Trf, только с той разницей, чтоб не нужно было при создании маршрутов в редакторе кликать по каждой стрелке и каждому трексайдуэх, знал бы я как можно по кликам мыши генерировать маршруты... Тогда б сделал на этом постройку маневровых. Но вот поездные так генерировать... Пока желания нет.
А вот сделать группу из маршрутов... Можно попробовать.
Кстати, заметил, что командой можно задать маршрут не только себе, а и в любое место карты. Верно? Для прибытия и транзита удобно. Едешь себе, сам управляешь, а за тебя другой бот по триггеру работает.хотя вообще для этого есть и специальное правило (z7-xPath AddPath). Только его починить надо будет...
эх, даже не знаю... Получится сделать зероПас сегодня или нет... (zeroPath - имя переменной определяющей, можно ли команде выбрать из возможных маршрутов светофора впереди поезда те, у которых приоритет 0: остальные будут выбираться из указанных пользователем ограничений (сверху и снизу) от 0 до 20, наверное)
Всё, готово... Команда, умеющая открывать маршруты следующего светофора с нужны приоритетом (указываются рамки "не выше","не ниже", а также "маршрут приоритета 0 - исключение/не исключение" (т.е. можно ли пропускать по главному(если он свободен), или надо обязательно на отклонение))
http://narod.ru/disk/25632882000/z7-xPath%20v0.3.rar.html
http://trainzold.mylivepage.ru/file/746/6358_z7-xPath_v0.3.rar
То есть, система будет стараться выбирать основной маршрут между конкретными светофорами, а если это невозможно (из-за занятости пути или занятости каких-то стрелок другим маршрутом), то будет перебирать вариантные по порядку по номеру приоритета?
То есть, система будет стараться выбирать основной маршрут между конкретными светофорами
Не, не совсем. Система перебирает маршруты СЛЕДУЮЩЕГО ПЕРЕД ПОЕЗДОМ станционного СВЕТОФОРА (до светофоров, которые за ним), причём перебирать будет с приоритетом не более * и не менее *, включая/исключая 0 (вообще 20 приоритетов, больше меню делать на хотел, а так с перспективой до 1000 приоритетов)
Меня давно интересует, можно ли создать браузер из объекта ScheduleCommand и все параметры выбирать там.
можно ли создать браузер из объекта ScheduleCommand и все параметры выбирать там.а смысл? Чтобы "пока я в браузере команду не дал, команда не выполнится, поезд не уедет"?
Можно, почему нельзя... Только нужно ли?
Сейчас приготовлю команду "ехать пока не красный" и испытаю первый полностью автоматический сценарий на однопутке, где будут использованы эта команда и команда "построить маршрут следующего светофора таких-то приоритетов"
Kompozitor
04.10.2010, 13:26
Сейчас приготовлю команду "ехать пока не красный"
А в чем её отличие от Автодрайва и Автопилота? Не будет воскл. знака и сообщения "Бот такой-то ожидает освобождения пути"?
А-а-а, усёк. Когда настанет красный, команда засчитается выполненой и исчезнет из списка. Ага?
Да, я этого хочу добиться.
ну всё, "автоиспетчер" готов. Правда он в случае напряжённой ситуации складывает руки, но ничего не поделаешь... Лучше его написать, чем сейчас, я не смогу.
http://narod.ru/disk/25657113000/z7-xPath%20v0.4.rar.html
(добавлено 2 правила "ехать пока не красный сигнал" и "построить маршрут на первом красном светофоре впереди")
В общем, всё. На месяцок работу над этой Х откладываю, а может и больше.
antikiller_bmrf
04.10.2010, 19:17
И что, даже критических обновлений не будет?
Посмотрим...
Вы там тестите этого робота, вдруг что-то интересное найдёте :)
Да, из портала лучше принимать только на один путь, поставив после SetJunctions команду wait until red . А всё остальное вроде должно работать полностью автоматически. Для себя уже считаю, что автоДСП, в том виде в котором его представляете, в этих командах уже реализован. Единственное чего он не умеет - расчитывать сколько поездов можно допускать на участок, а сколько нельзя (поэтому и отправляйте поезда из порталов только на некий выделенный путь)
antikiller_bmrf
04.10.2010, 20:24
Спасибо за проделаный труд.
Действительно, огромное спасибо. Попробовал на простенькой карте, все замечательно работает...Этой системы сильно раньше не хватало
ну всё, "автоиспетчер" готов.
В общем, всё. На месяцок работу над этой Х откладываю, а может и больше.
А маневровые там тоже есть и на сложных станциях типа Бекасово тоже будет работать? Если ты сейчас до какой-то логики не дойдешь, то потом будет тяжело вспоминать что сделал, а что осталось сделать. И как ты планировал все это реализовать. Таким образом, если сейчас ты не доделал, вероятность того, что ты через месяц или больше так за её доделку и не возмёшься весьма большая. И так все это и останется благими мечтами и намерениями.
Почему-то я не могу открыть RAR-архив...
Согласен с НикЛоном, маневровые нужны...
чуток подправил команду "ехать пока не красный" (т.к. в некторорых случаях глючила)
http://narod.ru/disk/25672035000/z7-xPath%20v0.4a.rar.html
http://ifolder.ru/19610112
И добил таки бесконечный сценарий - http://ifolder.ru/19610124 (требует правила wait until not red)
что ты через месяц или больше так за её доделку и не возмёшься весьма большаявероятность зависит только от оного - будет получаться или не будет.
Вова, Может пока сделать сборку составных поездных маршрутов, "пока горячо железо", оставив маневровые на потом, если хочется отдохнуть?
Вова, Может пока сделать сборку составных поездных маршрутов, "пока горячо железо"используя команду "открыть любой маршрут (нужных приоритетов) с ближайшего светофора с красным огнём" (она же - "z7-xPath any possible for closed" или "Задать маршрут закр. светоф.") мы и получаем те самые составные маршруты. А делать сборку составных маршрутов "разом", учитывая что их огромные комбинации, считаю, не нужно. Проще выставить приоритеты съездам, и использовать указанную команду с необходимыми приоритетами, чтоб поезд поехал туда, куда надо.
А вот "группы" маршрутов... Нужны ли они, если кажый подмаршрут будет строиться отдельно?
http://s52.radikal.ru/i135/1010/ed/4fd90812d0det.jpg (http://radikal.ru/F/s52.radikal.ru/i135/1010/ed/4fd90812d0de.jpg.html)
Вылетает вот такая ошибка. На первом скрине обращаю внимание на то, что после обновления окна выдает не завершен просчет стрелок, а 80%. А сама ошибка - вот:
http://s57.radikal.ru/i157/1010/8a/7d40813558bct.jpg (http://radikal.ru/F/s57.radikal.ru/i157/1010/8a/7d40813558bc.jpg.html)
Но всё же попытался что-то сделать в режиме настройки маршрута, в редакторе, в командной строке... Ничего не понял! Эти команды только в режиме, что ли, машинист подаются? Мне, пока, тестировать нечего.
типично возникающая ошибка на крупных картах. В этом случае расчёт необходимо повторить (как правило на второй раз ошибка не появляется)
http://radikal.ru/F/s002.radikal.ru/i199/1009/30/670c160a4797.jpg.html
у меня при повторном просчёте ошибка на БМО не возникала. Вобще она из раздела "то, чего не может быть никогда", но тем не менее из-за несовершенства аурановского механизма выделения памяти на больших картах она проскакивать будет.
Ничего не понял! Эти команды только в режиме, что ли, машинист подаются?у тебя какая версия ТРС? Я команды добавил в правиле commands rule, затем вписал их машинисту в driver setup и в порталы (иначе как бы бесконечный сценарий работал?)... Не понимаю, почему у тебя они никуда не добавляются...
antikiller_bmrf
05.10.2010, 14:53
В режиме машиниста, или предустановкой команд в редакторе, с установкой ожидания перед первойкомандой или добавление команд по проезду маркера
у меня при повторном просчёте ошибка на БМО не возникала. Вобще она из раздела "то, чего не может быть никогда", но тем не менее из-за несовершенства аурановского механизма выделения памяти на больших картах она проскакивать будет.
у тебя какая версия ТРС? Я команды добавил в правиле commands rule, затем вписал их машинисту в driver setup и в порталы (иначе как бы бесконечный сценарий работал?)... Не понимаю, почему у тебя они никуда не добавляются...
Нет, я на свое карте команде тестирую. Точнее, на своей сессии, но карта БМО. Во второй части сообщения я имел ввиду, что непонятно как дальше ими, командами, пользоваться. Это понятно, что всё нужно подобавлять в список правил и в список доступных команд машинисту.
что непонятно как дальше ими, командами, пользоватьсясделано 3 команды
1) задать простой маршрут по станции. Выбираешь станцию, по которой строишь маршрут, выбираешь светофор начала и светофор окончания маршрута.
2) задать маршрут по ближайшему светофору. Команда в момент выполнения ищет ближайший светофор, ищет свободный маршрут из указанных пользователем заранее приоритетов, наименее приоритетный, и ждёт пока его можно будет собрать. Когда это будет возможно, собирает и завершается.
3) задать маршрут по ближайшему светофору, на котором горит красный. И далее выполняет (с того ветофора) то же самое что и предыдущая с ближайшего (также ожидая пока маршрут может быть собран).
Так что указывай съездам приоритеты, и задавай поездам команды "ехать до красного светофора, до 2.7 км до него"+"построить маршрут нужного приоритета"+(если надо пропустить по главному)"построить маршрут от первого красного светофора"
если же надо на станции остановиться на такое-то время, "ехать до красного светофора, до 2.7 км до него"+"построить маршрут нужного приоритета"+"ежать до красного с подтяжкой до 8 метров"
Приоритеты имею значение только для входных маршрутов? Впоследствии и маневровых, а для выходных просто оставлять 0 или всё-таки что-то ставить?
идея такая - ты в правиле можешь выбрать "маршрут приоритета не более * и не менее *", либо "маршрут нулевого приоритета, если нулевого занят, то не более * и не менее *". Маршруты "-1" приоритета не собираются никогда. Так что ты всё правильно понял :)
Для маневровых вообще никаких приоритетов не будет. И команд к ним в моих редакциях не будет. Так как маневровые будут генериться непосредственно в момент задания (собираюсь таки реализовать вписывания имён светофоров в браузер - на аурановском форуме промелькнуло что это возможно)
Ну, теперь я с уверенностью могу сказать, что ошибка вылетает на разных версиях TRS2010 и разных компьютерах на одном и том же месте! Отсюда вывод, что это баг разработки. Везде, после остановившегося по ошибке просчета стрелок и обновления окна показывает завершение одну и ту же цифру - 58%. "Это жжж - неспроста! Дерево жужжать не умеет." (Винни-Пух :))
Теперь попытаюсь всё-таки, расставив приоритеты, на одной станции, кстати, не сложной, Поварово-II, отправить электричку с первого пути, заменив команды Path Control на x7-Path...
Чего и следовало ожидать, "факир был пьян и фокус не удался" :-) Ошибка вылетает та же самая, что при пересчете стрелок в редакторе. Так что, пока тестировать нечего.
P.S. В каком-то из своих постов я говорил, что чем сложнее задумка, тем больше может быть ошибок.
P.P.S. Пост №196 помог. По крайней мере, я процентов на 90 уверен, что правильно подал команду... Кстати, если есть список маршрутов и его можно выбрать в "режиме машинист", то что ж ему всё-таки не нравится?
мне кажется я понял в чём ошибка. Система не переваривает одинаковых имён стрелок. Сейчас попробую сделать выдачу ошибки при обнаружении таковых.
Хм, а где на БМО одинаковые имена стрелок? Там же всё Juction хх[хх]. Я вот тоже сейчас всякие варианты пытаюсь смоделировать. Но у меня мнение, что здесь каким-то образом главный контроллер замешан... Позже расскажу что делал, и какие результаты получал.
P.S. Тут уже про auran'овские финты ушами (или, скорей всего, длинным хвостом) говорилось, но я не перестаю удивляться: как можно сделать что-то хоть как-нибудь работающее, потом, вроде как совершенствуя это что-то работающее, сделать абсолютное дерьмо и потом пытаться из этого дерьма выбраться?! Уму непостижимо! По-моему, даже у нас, в России так не умеют, а уж кенгуру и подавно...
В ощем зашёл в трс увидеть эту ошибку... Зашёл, ошибки не обнаружил. Просичал стрелки на более старой переделке БМО - ошибки не обнаружил. Зашёл на дефолтную английскую карту, там инициализировал стрелки - ошибки не обнаружил...
вывод:
НЕ НАЖИМАЙТЕ ССЫЛКИ В БРАУЗЕРЕ, пока трс не проглючит, пересчитывая стрелки. В том числе "обновить окно".
Их нажимать при просчёте светофоров/маршрутов, но не при просчёте стрелок.
меня мнение, что здесь каким-то образом главный контроллер замешан... да просчёт стрелок - это вообще элементарные тракстречи вперёд/назад при левом/правом положении стрелок, и запоминание имён всех окружающих стрелку траксайдов (ну, с обработкой, кто сзади а кто справа/слева) в массив. Ну и запихивание элементов этого массива в сортированный массив.
как можно сделать что-то хоть как-нибудь работающее, потом, вроде как совершенствуя это что-то работающее, сделать абсолютное дерьмопотому что ресурсы компьютера ограничены. Простейший пример - в 2006 были жуткие тормоза на горловинах станций. Потому что идеально сглаженные плоские рельсы требовали кучу полигон. В 2009 ввели ЛОДы на рельсы, в результате трамвайз в конце-концов сказал "да от количества рельс на карте fps не зависит". Благодаря чему? Благодаря тому, что теперь рельсы "кусочками". Таких примеров можно привести множество.
Ну так что, выдаёт ошибку при просчёте без кликов мышью?
Погоди, погоди... Я вот тоже... ошибки не обнаружил, но в версии 43434. Правда там, перед пересчетами стрелок я пересчитал главный контроллер. И кнопочку "обновить окно" нажимал. А обрушился в очередной раз на Auran за то, что они очередной билд 43434 сделали хуже, чем 42203...
Сейчас я на 42203 сделаю то же, что и на 43434... (На 43434 не могу остаться, т.к. на нем у меня нет процентов 60 подвижного состава. Да, ошибки есть и в 42203, но там это работает, а в 43434 - нет. Вот тебе и совершенствование...)
Ха!!! 42203 - полет пока успешный!!! :-) Я же говорил, что главный контроллер как-то замешан. Интуиция меня ещё не подводила! Правда, объяснить это не могу!...
Сейчас перейду в режим машиниста и там уже если и будут вопросы, то из практической части... :-)
P.S. Не поленюсь и "кликами мышью" протестирую на 42203... Но после пересчета главного контроллера!
Ну вот, то, что успел просмотреть - заработало и стало ещё больше похоже на настоящую жд. Спасибо, TRam, за работу! Правда, тебе её предстоит ещё больше, скорей всего. "Кому много дано, тому ещё больше хочется" ;) (ктото из великих сказал. Не помню кто). А посему...
Замечание номер раз. Маршрут нужно возвращать в исходное положение после проследования ПС. Вроде, как я понял, подразумевается сборка маршрута при любых обстоятельствах: прибытие/отправление на/с станцию/ии?.. В принципе, с этим можно согласиться, когда следуешь по главным путям, но когда боковые стрелки остаются в неправильном положении - это уже "не по-тиллимилитрямски"... То бишь, не по-железнодорожному... Пока боле нет ничего, тестировать только начал. Сейчас продолжу, но, думаю, что недолго - время уже за полночь. Так что всё основное будет завтра! :)
но когда боковые стрелки остаются в неправильном положении - это уже "не по-тиллимилитрямски"в общем ещё одна проблема на голову - переключать стрелки в начальное положение. Вместе со сбрасывающими стрелками :(
Вроде, как я понял, подразумевается сборка маршрута при любых обстоятельствах: прибытие/отправление на/с станцию/ии?..да, вторые два правила знают, что у светофора N маршрутов, из них занятые такие-то, самый наименее приоритетный из незанятых - такой-то, и если он вообще есть, то надо направить команду на его постройку и завершиться...
Это всё ещё цветочки. Ты вот объясни вот эту вот абракадабру. Это из настроившихся маршрутов в редакторе:
http://s002.radikal.ru/i197/1010/e8/ab02226a089et.jpg (http://radikal.ru/F/s002.radikal.ru/i197/1010/e8/ab02226a089e.jpg.html)
Это перед станцией. Позади у нас Н (внизу скрина то бишь), впереди Нх. Вот как практически совпадают маршруты на Н1 и на Н2? На приоритеты пока не обращай внимания, это я их начал расставлять, не видя стрелок, а потом впал в ступор - а где у них что? Насколько я понял, 0 после запятой - это прямое положение (подразумеваю, что то, которое было выставлено в момент пересчета маршрута, если это так, то это не есть гуд - у стрелки два положения, либо направо, либо налево). Так вот, как видно из скрина (маршрут к Н1, приоритет -0), стрелка 32709 у меня прямо, 32708 - прямо (причём здесь она, правда, - ума не приложу!)... Аааа, так у тебя, похоже, "пошерстная" или "противошерстная" стрелка имеет значение, да? То есть, 0 и 2 имеют противоположные значения в зависимости от того "по ходу" или "против хода" остряк стрелки?.. Но всё равно не клеится... В общем, ладно. Утро вечера мудреннее, пора уже и спать, а завтра глядишь, и продолжим активную стадию тестирования. ;)
0 после запятой - это прямое положение0 - левое, 2 - правое. Где-то я об этом писал, но, вероятно, мимоходом. Такая система принята аураном (0 - лево, 1- прямо (для 3-направленной), 2- лево, 3 - никуда (?) )
по скрину - стрелка 32709 у маршрута с приоритетом 0 имеет цифру 0, то есть влево. А стрелки 32708 должна быть направлена в 0 (влево), 32707 - вправо (в 2) для того, чтобы попасть к Н1
Kompozitor
06.10.2010, 02:49
сделано 3 команды
1) строишь маршрут, выбираешь светофор начала и светофор окончания
А трэксайд окончания можно? Для так называемой имитации манёвров.
0 - лево ... 2- левовидно спать уже надо. 2- право.
А трэксайд окончания можно?нет, только поездные светофоры. Ну и маневровые с красной линзой. Больше система ничего не видит.
Так, хорошо. С право-лево более ли менее разобрались. А почему по станции маршрут Н-Н1 (это по главному пути прямо без всяких выворотов) единственный маршрут система расчитала, и тот "змейкой" с занятием встречного пути? Я бы ещё подумал, что что-то между стрелками 32709 и 32706 ей помешало увидеть прямой путь, ну там разрыв ей показался, или с маркером поссорилась, но на Н5 (это как раз вправо-вправо путь: станция Манихино-II) система рассчитала два возможных варианта. Один "змейкой" второй как надо. Тому, что "змейкой" сразу поставил -1. Значит умеет считать через этот участок!
Система не переваривает одинаковых имён стрелок. Храни ИД вместо имени и возрадуйся.
Я же говорил, что главный контроллер как-то замешан. Интуиция меня ещё не подводила! Правда, объяснить это не могу!..
Пардон, что пишу не по делу, хочу лишь напомнить, что система расчёта и сборки (замыкания) маршрутов в z7 есть (строка "инициировать маршруты"). В тестовом варианте контроллер рассчитывал все возможные варианты маршрута на станции, а в ДНЦ их можно было выставлять, "замыкая" входной и выходной светофоры. Перед релизом версии "проф" функция была отключена из-за того, что стрелки блокировались собранным маршрутом намертво. Планировалось эту функцию доработать и включить в финальную сборку z7, но по причине нестабильности творения Аурана varz отложил эту работу до лучших времён.
TRam, требуется уточнение. Если я поставлю приоритет -1, то этот маршрут я вообще никак не соберу или он просто не будет учавствовать в т.н. автоматической сборке? Например, с 1-го пути со станции есть два выхода, на правильный, со сборкой пути с отклонением по стрелке и по неправильному, всё время прямо. Так вот, если кем-то блокированы стрелки на правильный, то тут могут возникнуть два варианта: либо ждать, пока освободятся стрелки, либо собрать по неправильному. Второе применяется на практике только по указанию ДСП. Как тут быть?
Приоритеты не сохраняются напрочь! Настроишь, сохранишь, открываешь то, что последнее настраивал, то открытым и настроенным отображается, но стоит открыть другой светофор, то, чтобыло настроено до этого уже не сохраняется.
Если я поставлю приоритет -1, то этот маршрут я вообще никак не соберуда, вообще никак. Он просто не будет добавляться в меню. Ну и автоматически тоже. Для того, чтобы автомат (в котором приоритет выбирается от 0 до 20) не выбрал маршрут, прописывай ему 30 приоритет. Автомат не выберет.
Да, по поводу затирания приоритетов перепроверю.
Храни ИД вместо имени и возрадуйся.
Нет гарантии сохранения ИД в сессии. Нужно хранить имя в роутере, это GameObject::GetName()
Да, по поводу затирания приоритетов перепроверю.
Это, как оказалось, не очень то и критично. Просто он не показывает то, что было настроено ранее или, раз открыл, значит хочешь перенастроить? Вперед. Критично другое. На одной из станций, вторая по счету, которую начал тестить и по которой приводил предыдущий скрин-пример в режиме редактора после пересчета стрелок и светофоров открыть список маршрутов по входному Н удалось. Там были все маршруты. В том числе и на Н5. А вот светофор Н5 я так и не смог открыть, чтобы настроить приоритет маршрутов! Во как!
Подозреваю, что отличительной особенностью этого светофора является то, что по прямому пути (куда и собран маршрут по умолчанию - стрелки стоят, в смысле) он смотрит "в никуда". То есть, путь без светофоров и просто обрывается. Станция Манихино-II. Посмотри.
Посмотрел. Виновником оказалась стрелка 32701, которая стояла слишком близко к "острякам". Чуть расширив промежуток между точками сплайнов, передвинув и пересчитав стрелки, мы получаем оба маршрута с Н5
http://s53.radikal.ru/i139/1010/db/c8a9d05a039ft.jpg (http://radikal.ru/F/s53.radikal.ru/i139/1010/db/c8a9d05a039f.jpg.html)
Нет гарантии сохранения ИД в сессии. Нужно хранить имя в роутере, это GameObject::GetName()у меня каждая стрелка вовсе хранит имена всех объектов, которые сзади/справа/слева, а также направления на них. В результате TrackSearch можно проводить вне зависимости от того, как вообще направлена стрелка и что на ней сверху стоит (но предварительно надо "пересчитать", если быть более точным, переписать все объекты, окружающие стрелку).
Ну и вариант b, умеющий возвращать стрелки в исходное положение (конечно, не в положение предыдущего разобранного маршрута, но это не столь важно) http://ifolder.ru/19637213
Посмотрел. Виновником оказалась стрелка 32701, которая стояла слишком близко к "острякам".
Ну и вариант b, умеющий возвращать стрелки в исходное положение (конечно, не в положение предыдущего разобранного маршрута, но это не столь важно)
Хм, а таких "мы с Тамарой ходим парой" на БМО предостаточно...
А как может остаться положение предыдущего разобранного маршрута, если каждое прохождение возвращает стрелки в исходное положение? Так что здесь даже не заморачивайся.
Что там по поводу "змейки" от Н до Н1, которая ещё и единственным маршрутом является?.. Наверное тоже из-за этого, что и Н5... Чуть позже посмотрю.
Спасибо за нужную вещь. Но есть несколько вопросов.
1. При инициализации стрелок и z-светофоров должно отображаться процент выполнения, или нет? У меня при нажатии на эти строки ничего не происходит.
2. Нужна ли будка на карте, если всё тоже отображаеться в правилах к сессии (забыл как называеться)?
3. Последняя версия, 0.4b, как написано, умеет возвращать стрелки в исходное положение. У меня возвращаеться лишь часть стрелок из маршрута. Например, по маршруту 4 стрелки, после проследования состава 2 стрелки возвращаются в положение перед сбором маршрута, 2 остаються по маршруту, и ещё 2 стрелки, которые даже не входили в маршрут, меняют своё положение.
1. При инициализации стрелок и z-светофоров должно отображаться процент выполнения, или нет? У меня при нажатии на эти строки ничего не происходит.нажимай на ссылку "обновить окно" (или на название станции, название светофора), чтобы проценты обновлялись (когда 100% , то надпись о процентах пропадает)
2. Нужна ли будка на карте, если всё тоже отображаеться в правилах к сессии (забыл как называеться)?нужна, потому что то правило все лишь "ретранслирует" интерфейс будки
3. Последняя версия, 0.4b, как написано, умеет возвращать стрелки в исходное положение. У меня возвращаеться лишь часть стрелок из маршрута. Например, по маршруту 4 стрелки, после проследования состава 2 стрелки возвращаются в положение перед сбором маршрута, 2 остаються по маршруту, и ещё 2 стрелки, которые даже не входили в маршрут, меняют своё положение.да, это ещё до конца не затестил, в более свежей версии постараюсь исправить...
Что там по поводу "змейки" от Н до Н1, которая ещё и единственным маршрутом является?вообще такие "кривые" стрелки стараются при при просчёте маршрутов направлять вправо, откуда бы поиск на них не приходил. Вначале делал, чтобы поиск "шёл назад", но тогда становилось ещё более непонятно. А по поводу таких стрелок - посмотри ещё на Солнечной входной ЧМ1 - он тоже "заперт" не лучшим образом...
вообще такие "кривые" стрелки стараются при при просчёте маршрутов направлять вправо, откуда бы поиск на них не приходил. Вначале делал, чтобы поиск "шёл назад", но тогда становилось ещё более непонятно.
Может и стараются вправо, но в данном случае - влево. Это есть камень преткновения... Его нужно убирать. Кроме того, у тебя от Н5 расчиталось два маршрута - правильный и неправильный, у меня - только один. Подергал стрелки подальше от остряка - не помогло. Одну слишком далеко отодвинул - стала вся красная, и обратно нивкакую. Пришлось удалять и ставить заново... Да, работы ещё много.:(
P.S. Вспомнился эпизод из к/ф "Пираты Карибского моря", когда "Черная жемчужина" настигла королевский фрегат, на котором убегал Тернер с мисс Суон соучредители, завязался бой. И вот в прореху, полученную в борт "Черной жемчужины" Джек Воробей орал: "Прекратите дырявить мои корабли!!!", будучи заключенным даже.
Так вот, Tramwayz это прочтет и также заорет: "Прекратите уродовать мой маршрут!" :rofl:
Может и стараются вправо, но в данном случае - влево. Это есть камень преткновения...ОК, возвращаю на "реверс направления" :). Да, самое важное: стрелка так же не любит траксайдов, находящихся между точкой сплайна и стрелкой (светофоров, триггеров, маркеров, переходов, коробок и т.п.)
Исправил возврат стрелки, банально не сохранял её положение после просчёта :)
результат
http://ifolder.ru/19640676
Да, самое важное: стрелка так же не любит траксайдов, находящихся между точкой сплайна и стрелкой (светофоров, триггеров, маркеров, переходов, коробок и т.п.)
Упс, тебе так и не удалось научить своё детище читать маркеры?.. Хм, посмотри внимательно на входную нечетную горловину (там, где у меня "змейка" образовывается). Там переезд. У тебя он наверняка не оборудован, а у меня оборудован. Там два маркера, z7 mrk cross и z7 mrk cross m. И что, твоя система будет реагировать на каждый чих? Это не есть комильфо...:confused: Кстати, глянь (дома у меня нет оригинальной карты Tramwayz'а), у тебя между стрелками 32692 и 32696 есть маркер отклонения, причём, встречный относительно построения маршрута от Н5 на не правильный, что у меня и не построилось? Именно по боковому отклонению маркер!
Исправил возврат стрелки, банально не сохранял её положение после просчёта :)
результат
Сейчас нажму на кнопку, глядишь, и получу результат...;)
Эх, до постройки маневровых маршрутов, по крайней мере правилом, остаётся всё меньше и меньше...
Пока тестирование продолжается, но вот промежуточный результат меня, мягко говоря, позабавил:
Гуляй - туда гуляй - сюда, а от Ч3 ты - никуда!
http://i074.radikal.ru/1010/94/8bdc86942a65t.jpg (http://radikal.ru/F/i074.radikal.ru/1010/94/8bdc86942a65.jpg.html)
:rofl: :rofl: :rofl:
Пока тестирование продолжается, но вот промежуточный результат меня, мягко говоря, позабавил:зато сразу понятно, что за стрелка неправильно настроена :) . Вы просили реверс? Я его вам сделал :)
И даже написал как указанную на скрине проблему решать - надо раздвинуть кружки сплайна рельс там, где стрелка 32701, а саму стрелку сдвинуть дальше от кружка. Разве в прошлый раз было непонятно?
По поводу Мачихино 2 - да, реально баг в скрипте есть. Вроде даже знаю где. Пойду дальше ковырять.
Вы просили реверс? Я его вам сделал :)
Не, ну просили, конечно же. Но мы же не просили нам глаз на жо..у натягивать! Ты ещё и желтым мигающим моргать заставь!:rofl: :rofl: :rofl:
И даже написал как указанную на скрине проблему решать - надо раздвинуть кружки сплайна рельс там, где стрелка 32701, а саму стрелку сдвинуть дальше от кружка. Разве в прошлый раз было непонятно?
Да раздвинул, раздвинул... БАЦ! А там - глаз!..... Блин, довеселюсь, я наверное...
Не, я понял о чем ты говорил, и это всё получилось. Но Н5-Ч3 - честно скажу, валялся просто со смеху... До сих пор успокоиться не могу...:rofl:
Пойду дальше ковырять.
Во-во, неча глаза людЯм портить... :rofl: :rofl: :rofl:
ну значит найди 1 отличие
http://s006.radikal.ru/i215/1010/53/abbd9cdf8e26t.jpg (http://radikal.ru/F/s006.radikal.ru/i215/1010/53/abbd9cdf8e26.jpg.html)
http://s56.radikal.ru/i152/1010/d9/39a019d4f702t.jpg (http://radikal.ru/F/s56.radikal.ru/i152/1010/d9/39a019d4f702.jpg.html)
подсказка - на первом скрине посмотреть внимательно положение стрелки и кружочка. Во втором случае у меня Н5 и Ч работают идеально.
Да раздвинул, раздвинул... БАЦ! А там - глаз!.....эх, сразу не понял, извини :). Пойду чистильщика делать... (не, не в смысле киллера, в обычном смысле...)
ну значит найди 1 отличие
подсказка - на первом скрине посмотреть внимательно положение стрелки и кружочка. Во втором случае у меня Н5 и Ч работают идеально.
Так, по первому скрину... Да и по второму сразу...
А если я "кружочки", чуть дальше раздвинул?.. TRam, от "кружочков" че-то Path Control не зависит... Это первое. Второе. Что ты называешь "стрелкой"? Маркер отклонения, которые Tramwayz ставит куда ни попадя или всё же положение стрелочного перевода?
И потом, твой второй случай - просто голословен. Скрины - в студию!.. А я собственными глазами видел Н5-Ч3 (и скрин привел)!
P.S. И потом, если я так буду вынужден "калечить" маршрут, чтобы твоя разработка заработала, то грошь цена ей будет! Не обижайся, пожалуйста, но пока мы ещё в стадии обсуждения, тестирования, обмена мнениями...
P.P.S. "Сомнение рождает поиск, а поиск рождает единственно верное решение" (с) NickLon (только что выдумал)
Так, сейчас довёл систему до 100%, в результате при обсчёте маршрутов одного из светофоров Бекасово вывалилась ошибка о бесконечном цикле. При просчёте следующих светофоров вываливал реально сумасшедшие количества маршрутов - до 98-107 НА СВЕТОФОР (в то время как в предыдущие было всего 4 светофора с 49 маршрутами). Это вам не предыдущая версия, которая не умела обнулять положения стрелок. На очередном светофоре трейнза ввисла навсегда и её пришлось убирать известным сочетанием клавиш.
Ну и доказательство - правильно посчитанная нечётная горловина Мачихино II
http://i062.radikal.ru/1010/6e/814b64922ab2t.jpg (http://radikal.ru/F/i062.radikal.ru/1010/6e/814b64922ab2.jpg.html)
а чуть позже - картинки неправильных положений левера и объектов
Скачать можно тут http://ifolder.ru/19646028
Да, вот 3 случая ошибок.
http://i077.radikal.ru/1010/80/acbb82b1aa33t.jpg (http://radikal.ru/F/i077.radikal.ru/1010/80/acbb82b1aa33.jpg.html)
И потом, твой второй случай - просто голословен.ошибка №1 : стрелка поставлена впереди узла (Кстати этот баг известный и старый. И БМО, в принципе, по следованию обратному правилу - отличная карта. Но на некоторых стрелках баг всё-таки проскакивает). По поводу "грош-цены" - никто не запрещает забить все нужные маршруты в PathControl и использовать их последовательный перебор. В принципе, 3 ограничения, указанные мной, не настолько сильны, чтобы надо было сильно калечить маршрут. В худшем случае - сдвинуть на 0.5 метра узел стрелки и передвинуть траксайдовый деревянный настил над стрелкой на одну из ветвей, а не оставлять на "ошибке №2".
или всё же положение стрелочного перевода?положение стрелочного перевода, конечно же... Это очень давно, в прошлом году, когда я впервые прикоснулся к этому делу (автогенерируемая мнемосхема, проект остановлен из-за нехватки знаний в теории графов), то считал что наоборот, подобные маркеры обязательны. Но уже тогда научился скатать от стрелки к стрелке безо всяких посредников.
А я собственными глазами видел Н5-Ч3 (и скрин привел)!а я перед этим с не менее удивлёнными глазами смотрел на "не могу найти ошибку - сделай так, чтобы это было проще". Ну и сделал :)
Блин, ты ж спать не дашь! ;-) Ведь улегся уже, всё выключив, а всё равно ворочаясь - одна мысль в голове: "Ведь наверняка что-то придумал он!"... Ага, и точно... Ща посмотрю...
ЗЫ: Коль ты уж привел мысль в качестве цитаты, то её нужно привести в лингвистическое соответствие. Это, наверное, должно звучать так: " Сомнение рождает поиск, а поиск приводит к верному решению!"
Я решил что за сегодня добью постройку маневровых маршрутов. С никакой функциональностью (по сравнению с автоматическими поездными маршрутами), но она будет.
Пока идет пересчет, думаю, лучше будет так: "Сомнение рождает поиск, а поиск приводит к верному решению!"
"Не спеши!" (с) к.ф "Свадьба в Малиновке" (по поводу маневровых. Давай сначала с поездными разберемся)
Наспех протестировать не получилось - ошибки начали вылазить даже там, где их и в помине не должно быть. Что-то я не так сделал. Я уж завтра всё посмотрю...
Ну что ж, очередной день тестирования открыт? v0.4d
Итак. В том, что с Ч5 отсутствует маршрут по неправильному, думаю виновата стрелка, а не z7-xPath. Теперь об остальном.
1. TRam, вроде ты говорил, что научил его запоминать настройки приоритетов? Не запоминает.
2. А это уже самое печальное. Дело в том, что он не только не запоминает настройки приоритетов, а несмотря на то, что в команде "Задать маршрут" он показывает только маршруты, у которых приоритет больше 1, команда "Задать маршрут приоритета" почему-то не работает. Я подозреваю, что приоритет маршрута в команде берется оттуда же, что и отображается при его (маршрута) повторном открытии в редакторе. Как такое может быть - не знаю. Это всего лишь мысль.
3. Хорошо бы, чтоб у команд была подсказка при наведении на неё мыши в списке команд. Что, откуда-куда, какие приоритеты. А то мало ли - мышью чуть-чуть промахнулся и думаешь совсем не то, что стоит в команде на самом деле.
4. Ну это уже скорее к z7, наверное, вопрос. Но всё же. При отправлении поезда со станции, даже если ему собран правильный маршрут (по прямому с главного), выходной закрыт. И только после команды задать маршрут он открывается. Так и должно быть. Но! Когда он на перегоне, то при подходе к станции входной открывается по мере приближения поезда также, как и в режиме Проф2 главного контроллера. А разве он не должен быть закрыт, пока я не обозначу входной маршрут явно? Хоть даже и по главному по прямой. Да и команды связанные с красным светофором не прокатят.
1. TRam, вроде ты говорил, что научил его запоминать настройки приоритетов? Не запоминает.ты имеешь в виду возобновление их в окошке, когда вводишь новый? Может проще чуть сдвинуть окошко ввода вбок и посмотреть, что там было до этого?
В том, что с Ч5 отсутствует маршрут по неправильному, думаю виновата стрелка, а не z7-xPathпроверю, но вроде маршрут должен быть.
3. Хорошо бы, чтоб у команд была подсказка при наведении на неё мыши в списке команд.хорошо, подумаю
А разве он не должен быть закрыт, пока я не обозначу входной маршрут явно?ты там случаем пульт DNC не используешь? Не знаю, у меня поезда не открывают входной. А делать с этим может только varz - я и так с трудом вытянул автоматическое закрытие светофоров, когда к ним поезд подъезжает.
команда "Задать маршрут приоритета" почему-то не работаетпосмотри в котент-мененжере, может ошибку выдаёт. У меня работает на ура.
Да, вот результат сегодняшнего труда. Думаю, что всё меньше и меньше буду работать над ней
http://s58.radikal.ru/i161/1010/93/4c1d0db3e50et.jpg (http://radikal.ru/F/s58.radikal.ru/i161/1010/93/4c1d0db3e50e.jpg.html)
Пункт 4 снят с повестки - вспомогательного демона надо убрать из списка правил :)
[QUOTE=TRam_;207277]ты имеешь в виду возобновление их в окошке, когда вводишь новый? Может проще чуть сдвинуть окошко ввода вбок и посмотреть, что там было до этого?
[QUOTE]
Ну да, когда настроил приоритеты одного светофора, потом другого, а когда возвращаешься к уже натроенному однажды ранее, открываешь его, а там все приоритеты - нули.
Так, у меня Ч5 работает нормально...
Слушай, может у тебя правила не обновились? Попробуй удалить все куиды моей системы, почистить кеш и поставить заново.
Сейчас попробую прикрутить к "задать маршрут" подсказку, если удастся. На этом пока всё.
версия 0.5 , вероятно на ближайшее время релизная. Возиться с подсказками правил совершенно не охота.
http://ifolder.ru/19656567
http://narod.ru/disk/25780906000/z7-xPath%20v0.5.rar.html
Добавлен браузер маневровых маршрутов, обнуление приоритетов также исправил. Приятного вам диспетчерствования на виртуальных магистралях :)
Ну что ч ж, спасибо!:) Будем тестить сие! А тебе хорошего отдыха! Работа проделана отличная!
Ой, TRam, погоди, погоди! Объясни, пожалуйста, что означает команда "Задать маршрут закр.светоф."?
P.S. Кто-то как то здесь наивно не хотел собирать маршруты в Path Control? Дескать, муторно и тяжело. Добро пожаловать в x7-xPath! Мозги и глаза только не сломайте!:D Она хоть и не столь очевидна, как PC, но зато гораздо ближе к реалиям российского (читай, СССРовского) железнодорожного транспорта.
Ой, TRam, погоди, погоди! Объясни, пожалуйста, что означает команда "Задать маршрут закр.светоф."?уже объяснял. Задать маршрут от первого светофора впереди поезда, который закрыт, минимального из указанных приоритетов. Позволяет открывать составные маршруты.
Увы, у меня по-прежнему неработоспособно сие осталось. По станции Поварово-III от маршрутного IН собрал 11 маршрутов. Расставил всем приоритеты: дублирующимся -1, всем остальным с 1-го по 7-й (два маршрута он так и не расчитал, наверное опять стрелки). Захожу здесь же, в редакторе в строку команд машиниста, пытаюсь задать маршрут от светофора IН - выдаёт только 4 маршрута - на пути: Н10,Н7,Н3 и Н2. Всё. Остальные схавал...
... Я, пожалуй, тоже поотдыхаю от всего этого. Как вернешься к работе, если сочтешь нужным, продолжим...
Посмотрел я скрипт... Знаешь что, ставь альтернативным маршрутам не -1, а 30ый приоритет. В браузере всё равно альтернативные маршруты не показываются (это сделанно специально: чтоб не путаться), и из них всё равно выбирается маршрут наименьшего приоритета. А -1 ставь там, где никто никогда не ездит (именно между парой светофоров, а не на альтернативных маршрутах).
А будешь жаловаться - вообще тебе ничего не покажу!", - сказала мне она и не показала НИ ОДНОГО маршрута!:rofl: :rofl: :rofl:
Имеет значение в какой последовательности правила стоят в списке правил?
Имеет значение в какой последовательности правила стоят в списке правил?нет, не имеет. Можешь попробовать удалить вообще все правила (благо, все настройки в будке, ничего не испортишь), сохраниться, а затем заново поставить driver setup, command rule и startup options. Ну и всё там понастраивать. Вроде тогда всё должно исправиться.
Во! Исправилось! Только я не понял как. В прошлый раз у меня вообще вся сессия рухнула!:confused: Вышел без сохранения, потом опять зашёл. Пересчитал стрелки и светофоры. Настроил входную нечетную по Поварово-III и увидел все свои настроенные маршруты...
Теперь стрелки осталось побороть...
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot