Просмотр полной версии : Система маршрутизации z7-xPath (Система расчёта поездных маршрутов стрелочная будка)
DonCapone
17.10.2010, 15:05
Trigger rule действительно не различает поезда, срабатывает на всех.
Кстати я придомал как автоматически перевести поезд на боковой, и назад построить ему маршрут на перегон.
Да, действительно... не различает. Но не страшно, trigger check лучше.
Расскажи, как сделал перевод на боковой? Простоя я тоже делаю что-то подобное: поезд игрока автоматически переводится под обгон пассажирского, и выводится на перегон, когда пассажирский проезжает. Всё с помощью trigger check-ов.
А Check Tackside работает?
antikiller_bmrf
17.10.2010, 16:10
Я пока не знаю, совместимо ли это с xpath.
Чертовски люблю рисовать никому непонятные схемы):
http://s49.radikal.ru/i125/1010/ac/c68e6ecb47c8t.jpg (http://radikal.ru/F/s49.radikal.ru/i125/1010/ac/c68e6ecb47c8.jpg.html)
->Контролим триггер 1, не выедет ли пассажирский на участок (как Трам говорил - расстояние между поездами).
----> при срабатывании первого триггера, контролим 2-ой на предемет подхода грузового к станции.
--------> собираем маршрут на отколонение.
->тут же контролим заход поезда на отклонение (триггер 3)
---->проверяем, когда пасс уйдет на достаточное кол-во БУ триггером 4
--------> собираем выходной на перегон.
"switch junctions" разбирает стрелки - вроде не должен мешать хпатч.
А что такое check trakside, надо посмотреть...
DonCapone
17.10.2010, 16:40
->Контролим триггер 1, не выедет ли пассажирский на участок (как Трам говорил - расстояние между поездами).
----> при срабатывании первого триггера, контролим 2-ой на предемет подхода грузового к станции.
--------> собираем маршрут на отколонение.
->тут же контролим заход поезда на отклонение (триггер 3)
---->проверяем, когда пасс уйдет на достаточное кол-во БУ триггером 4
--------> собираем выходной на перегон.
Я похоже упустил, а когда маршрут собирается назад, чтобы по нему проехал пассажирский? По триггеру 3? Тогда его лучше поставить ближе к концу пути, чтобы грузовой уж точно весь заехал на боковой путь. А выпускной триггер можно ставить сразу после выходного - маршрут соберется, и как только пассажирский отъедет на следующий блок-участок, для грузового автоматически откроется выходной, и он поедет по удалению.
Ты проверял на практике эту схему? По своему опыту могу сказать, что хпатчу мешает всё, что только возможно :) Всю вышеописанную схему можно реализовать и одним хпатчем, без сторонних команд.
http://img215.imageshack.us/img215/1457/c68e6ecb47c8.th.jpg (http://img215.imageshack.us/i/c68e6ecb47c8.jpg/)
Зелёные триггерит грузовой, красные - пассажирский.
Вот такая схема(правда без проверки расстояния, то есть без первого триггера) у меня нормально работала.
antikiller_bmrf
17.10.2010, 17:01
Нет, не льзя. 1)поезду, ведомому игроком, придется давать команду. 2)хпатч не разберет свои маршрут, пока по нему не проследует пс. На счет сборки для пасса - стрелка автоматом вернется в исходное положение по прямой.
Я на своей схеме показал светофоры вместо триггеров не просто так.
связка из двух trigger check не работают.
нужно начинать с leaving signal
Позволю себе внести свои 5 копеек. TRamu огромное спасибо за проделанную работу....многим из нас этого не хватало и ждали мы с нетерпением, когда же кто-то это сделает...и вот этот ВЕЛИКИЙ человек посидел, подумал и сделал то, что мы ленились и думали...вот бы кто это сделал...А он не побоялся глюков, критики....и самое главное задал дал нам идею и алгоритм...Спасибо тебе огромное, дружище...
antikiller_bmrf
18.10.2010, 01:20
Эпик феил...
Моя система на практике оказалась не столь хороша...
Дело в том, что электры идут потоком непереставаемым, и триггер TR1 будет срабатыват постоянно на все. А условие сборки на боковой выполнится в любом случае, если я подъеду к станции т.к. TR1 мог сработать хоть 10, хоть 20 минут назад.
Вот если было бы правило, которое сбрасывает цепочку на начальный этап скажем...ммм... по проезду триггера или прошествию опр. времени...
DonCapone
18.10.2010, 17:13
1)поезду, ведомому игроком, придется давать команду. 2)хпатч не разберет свои маршрут, пока по нему не проследует пс.
Я ещё раз перепроверил. Всё работает.
1) Не понял о какой команде идёт речь. Самому игроку надо будет давать команду своему поезду? Нет. Игрок "ничего не почувствует" :) Машинисту поезда игрока тоже ничего давать не надо.
2) Если речь идёт о маршруте Ч2-Ч@ст.2, и что маршрут на выход для грузового(Ч3-Ч@ст.2) не соберется, пока пассажирский не проедет весь перегон, то это не так: маршрут разбирается по съезду с выходного. Но это, я так понял, зависит от станции: система требовательна непонятно к чему, и на разных станциях может работать совершенно по-разному :)
не соберется, пока пассажирский не проедет весь перегон, то это не так: маршрут разбирается по съезду с выходногопо съезду с последней стрелки на этой станции.
antikiller_bmrf
18.10.2010, 17:43
Трам, так не подскажешь что сделать? Как решить проблему возвратом к начальному триггеру по условию?
Иначе сценарий будет статичным, т.е. не зависимо от того, как быстро игрок доедет и будет ли придерживаться расписания...
Ух, какими вы семимильными шагами то скачите! Стоит на выходных гульнуть малеха, так тут же отстал безнадежно... Ну что ж, буду догонять. ;)
По поводу репитера. Странно, всегда ставил один из станционных контроллеров ему и всё работало. Да и по логике - он же повторяет, по-моему, входной светофор, который далеко, типа придлижает, почему ж тогда перегонный? Ну да ладно, это либо varz подскажет, либо методом тыка придется выяснять.
Доброго времени суток! Имеется однопутный перегон. При движении по направлению, заданному по умолчанию в редакторе, всё идеально. При движении в противоположном направлении при зеленом проходном команда "Движение до красного с подтяжкой до 8 метров" сбрасывается и поезд встаёт на перегоне. Происходит примерно за 100-70 метров до проходного. Пробовал перекладывать путь в этом месте-без результатно. Самое интересное, что сброс команды происходит не как при остановке под красный (там в сообщениях машинист жалуеться, что путь занят). Так происходит на середине перегона. Данная вещь происходит на всех однопутных перегонах, при движении противоположному по-умолчанию. В главном контроллере пробовал менять "ручной/командный" на "автоматически"-без результатно. Никто не сталкивался с такой вещью? И есть ли от неё народное средство?
Попробуй команду autodrive to .
В крайнем случае посмотри на миникарте, что именно показывает сигнал. Лично я пока думаю, что собака зарыта в "Движение до красного с подтяжкой до 8 метров" (как я помню её код, она требует наличие светофоров/триггеров/маркеров не реже 1го на каждые 2.5 - 3 км)
Все остальные команды, типа "Drive To", "Navigate To", "Drive Via","Autopilot" и т.д., работают. На миникарте сигналы зелёные. И ещё. Эта вещь происходит именно на середине перегона.
Это и ещё пару мелочей (возможность движения толкача за поездом по собранному поездному маршруту - по маневровому это и сейчас недопустимо), версия 0.9
http://narod.ru/disk/26439963000/z7-xPath%20v0.9.rar.html
http://ifolder.ru/19906332
Ну и пример
http://narod.ru/disk/26440141000/Stalnaya%20doroga%20(xPath).rar.html .
(две карты, одна с установленным ПС - разъезд 4 поездов полностью автоматически, другая - без ПС). Для работы карт необходимо установить паки к карте http://trainz-klapan.ucoz.com/load/marshruty/7
Куиды для карты с ПС не пакую - потребуется 2ТЭ116-1430 и 4ТЭ10С + содержимое моего пака к сортировочной горке.
Проводник из 5-го
23.10.2010, 19:34
+ содержимое моего пака к сортировочной горке - ткни носом плизз.
извеняюсь, не к горке, а к сценарию "Угольный..." - http://narod.ru/disk/25009456000/moskva%20_%20bekasovo2.cdp.html
И не 2ТЭ116-1430 а 2ТЭ116-1431
antikiller_bmrf
23.10.2010, 19:53
(возможность движения толкача за поездом по собранному поездному маршруту - по маневровому это и сейчас недопустимо)
Я воще чета ниче не понял...
Движение толкача по поездному, мм... Зачем? Это нужно только на горке, где поездные маршруты совсем не применимы.
Че там не допустимо...
Вобще что ты имеешь ввиду под "возможность движения толкача за поездом по собранному поездному маршруту"?
Едет расцепленный поезд над стрелкой. Проезжает последний вагон переднего куска поезда - маршрут "освободился" - стрелка под первым вагоном перевелась - поезд слетел с рельс.
Для починки этой вещи (а также чтобы вообще была возможность движения с толкачами, отцепленными от поезда) ввёл в алгоритмы разборки поездных маршрутов проверку на свободность стрелки. В результате по поездному маршруту можно ездить поездом, состоящем и из 3 кусков. Так что можно задать поездной маршрут от выходного светофора до горочного, доехать до горочного, сменить приоритет на "маневровый" и проводить роспуск так же, как и всегда. Но стрелки, находящиеся по поездом, не освободятся (а значит и не переведутся) даже если расцепить поезд и проехать местом расцепки над ними.
Доброго времени суток! TRam, у меня такая проблема, при добавлении в команды машинистов команда из xpath, возникает ошибка с командами "Move to train", "Move to locomotive" и "Wait for trigger".
http://i034.radikal.ru/1010/b7/dd5c6cef3223t.jpg (http://radikal.ru/F/i034.radikal.ru/1010/b7/dd5c6cef3223.jpg.html)
Не подскажишь, в чём ошибка, и как её исправить?
Ошибка "невозможно загрузить меню команд машинисту" (тоесть слишком много пунктов у него получается). Как чинить - не знаю, скрипты первых двух зашифрованы, третьей у меня нет, но не думаю, что она чем-то отличается...
Так что полностью автоматизировать манёвры в xpath нельзя.
Так что полностью автоматизировать манёвры в xpath нельзя.
Понятно. Жаль. А что такое "Make DSP sound" (извини, если ошибся в названии)? Как это правило работает?
Вписываешь в него строку реплики ДСП и ставишь например, под правилом wait или trigger rule, и сдвигаешь её вправо. После срабатывания соответствующих правил возникнет окно с вписанной тобой строкой.
Kompozitor
23.10.2010, 23:09
Володя, я накопал причину мгновенного "застопоривания" порожняка на замедлителях. Конфиги побоку. Поставил вместо крытых РЖД-бокскары от Фантазии. Тот же коленкор.
Проблема решилась, когда развернул вагоны.
И что ж с этим делать??? Z-Braker, вроде, твой.
мой окончательный вроде вот http://narod.ru/disk/26468701000/z%20braker.rar.html (тестил-тестил его, багов не нашёл...)
старый надо предварительно удалить и почистить кэш.
Kompozitor
23.10.2010, 23:45
Ну хоть с карты не надо удалять, только из CMP?
antikiller_bmrf
24.10.2010, 00:43
Теперь ясно. Просто я с этим не сталкивался на практике.
расцеплял вагоны на месте спуска
Kompozitor
24.10.2010, 03:57
Ну вот теперь все пучком, а то видимо, у меня был брэйкер от пака Егорыча.
TRam_, скажи, пожалуйста, какую команду или правило надо влепить, чтоб чмух в конце сессии проверил целостность состава и в случае недоката отцепов подтолкнул бы еще до дальних вагонов.
Если бы полувагоны были без угля, вполне могло бы быть такое.
TRam, приношу тебе свои извинения. Ошибка команд "Move to ..." была не из-за xpath. Просто в название одного локомотива стерлось название, которое прописываем в верхней строчке. Из-за этого три этих команды, использующие это название ПС, не работали.:o
... какую команду или правило надо влепить, чтоб чмух в конце сессии проверил целостность состава и в случае недоката отцепов подтолкнул бы еще до дальних вагонов.
Можно поставить несколько команд подряд "Прицепка к составу". Я так делал. Но правда пригодиться самому определять, что отцепы не дошли.
Можно поставить несколько команд подряд "Прицепка к составу". Я так делал.да, если стрелки от данного пути переведены не на путь с другим составом, многократное применение "Прицепки к составу" приведёт к безошибочной сборке состава хоть из 2, хоть из 10 кусков.
Kompozitor
25.10.2010, 04:25
Но правда пригодиться самому определять, что отцепы не дошли. А если я хочу быть на другом конце карты и не беспокоиться о том, что там и как сортируется? Мне в данном случае больше важна внешняя имитация горочных работ. Чтобы, проезжая мимо сортировки в качестве машиниста или пассажира, я видел в окно всю эту простую, но исправно работающую "жизнь".
А если я хочу быть на другом конце карты и не беспокоиться о том, что там и как сортируется?просто скажи условие, по которому надо прекращать поиск вагонов дальше вперёд. (у меня идея - по наличию красного светофора)
просто скажи условие, по которому надо прекращать поиск вагонов дальше вперёд. (у меня идея - по наличию красного светофора)
Условием может быть то, чтобы выполнять команду . Команда будет выполняться до тех пор, пока на участке пути между локомотивом и указанным светофором (тупиком) не должно оставаться вагонов, не входящих в состав, в котором находиться локомотив. В итоге, мы собираем маршрут на нужный нам путь, задаём команду "Сцепиться с составом до тех пора пока" и бот едет по маршруту со скоростью не более 4-8 км/ч, собирая все вагоны по заданному маршруту, пока не доедет до сигнала, до которого задан маршрут. TRam, это можно реализовать?
Проблема с синим сигналом - его открытость или закрытость различить практически невозможно...
Так что думаю, не "до того светофора" вообще, а "до ближайшего светофора, повёрнутого сонаправлено нам". Но в этом случае надо предварительно задавать команду "ехать до светофора", который повёрнут к нам затылком, и который на том пути, где состав.
Проблема с синим сигналом - его открытость или закрытость различить практически невозможно...
Как выход можно делать на выходе с путей горочного парка маневровые с красным огнём. Так даже будет ближе к реальности, ведь синие стоят только там, где маневровые маршруты выходят на пересечение с поездными. А данное условие можно использовать как условие использование всей системы xpath. Просто одну команду то проще задать, чем несколько.
Команда должна быть универсальной - не только для сортировки ведь...
Думаю, реализую идею "сцепляться, пока поездов до следующего светофора (любого, в т.ч. маневрового) не останется"
TRam, а если мне понадобилось изменить состав и наименования 3-х станционных контроллеров: с одного вообще снял светофоры, два других переименовал и все светофоры поездный повесил на один контроллер многопарковой станции, а маневровые - на другой. После этого придется пересчитать все светофоры маршрута из будки? Я в списке контроллеров-станций вижу прежний набор наименований станций. А если пересчитать все светофоры из будки, тогда у меня слетят абсолютно все настройки маршрута - двухдневная усидчивая работа коту под хвост.
Версия 0.9 - не дружит с z-маркерами! Подозрение на негативную реакцию при просчете маршрутов светофора на маркер отклонения.
http://s007.radikal.ru/i301/1010/da/3bddd6d08849t.jpg (http://radikal.ru/F/s007.radikal.ru/i301/1010/da/3bddd6d08849.jpg.html)
Как только впереди у Н2 убрал маркер отклонения - сразу посчитался. (это не тот, который стоит ближе к нам на скрине, а тот, который дальше стоит, на пути у Н2) А позади, у маршрутных маршруты просчитывать нужно с маркерами отклонения - там их уже не уберешь.
Как только впереди у Н2 убрал маркер отклонения - сразу посчитался. А позади, у маршрутных маршруты просчитывать нужно с маркерами отклонения - там их уже не уберешь. перед светофором, до которого не просчитывается маршрут, надо ставить триггер (простой зелёный триггер, ничего не меняя в его имени).
И вызывать непросчёт (который излечивается указанным выше способом) могут не только z-, но и обычные маркеры.
Единственный случай, когда мне не удалось заставить просчёт найти один из светофоров - на катре "Стальная дорога" у одной из станций пришлось удалить на одном из путей маркеры, названные "platforma vesloe n1" и "platforma vesloe n1_1", при том что на той же станции маркеры соседнего пути "platforma vesloe n2" и "platforma vesloe n2_1" вполне нормально пропускали просчёт маршрута.
Так что если что - скачай "Стальную", заодно посмотришь "как заставлять работать анимстрелки разных видов и типов".
А показанная на скрине ошибка говорит что у светофора слишком много маршрутов - более 100. (вызывается, как ты понял, из-за пропуска светофора и поиска маршрутов по следующей станции)
Я в списке контроллеров-станций вижу прежний набор наименований станций. А если пересчитать все светофоры из будки, тогда у меня слетят абсолютно все настройки маршрута - двухдневная усидчивая работа коту под хвост.в этом случае весь мусор из изменённых светофоров будет оставаться в базе данных (отделить этот мусор от двухнедельных работ очень сложно, а засорять память он будет в геометрической прогрессии). По мне лучше проводить настройку в 2 этапа - в первый ты делаешь пробные расчёты маршрутов, меняешь их, ищешь баги, а во второй уже проводишь настройку приоритетов.
Как я помню, начиная с 8 версии система при просчёте поездных маршрутов не обращает внимания на маневровые и их принадлежность к станции. Сам на Бекасово относил маневровые к одному, а поездные к другому контроллерам :)
...
Как я помню, начиная с 8 версии система при просчёте поездных маршрутов не обращает внимания на маневровые и их принадлежность к станции.
Ты уже в который раз о своём детище "как я помню" или типа догадываюсь. Уж если ты "как я помню", то уж как мы помним!..:D
А насчет маркера да, сразу недопер. Но уже поздно пить боржоми - на 0.8 откатился.
P.S. Обижаешь... Уж стрелки то давно освоил. :)
Уж если ты "как я помню", то уж как мы помним!я реально не помню,в седьмой или восьмой это было.
Разницы между 8 и 9 - только в расчёте маневровых маршрутов баг исправлен, так они вроде идентичны.
Счас попробую добить систему удаления слишком длинных вариантных маршрутов (будет отдельным правилом), и выложу как финальную десятую (точнее первую :) ) на трейнзапе. И забуду :).
Счас попробую добить систему удаления слишком длинных вариантных маршрутов (будет отдельным правилом), и выложу как финальную десятую (точнее первую :) ) на трейнзапе. И забуду :).
А на основе чего ты хочешь сделать систему эту? у меня возникала мысль, но так её и не высказал. Разница между "хорошом" маршрутом и вариантным видна в количестве стрелок, участвующих в маршруте. Наименьшее количество стрелок - это и есть правильный маршрут. Все остальные по боку. Правда, не далее, как сегодня столкнулся с ситуацией когда в двух расчитанных маршрутах было одинаковое количество стрелок. Пришлось как ищейке идти по путям и смотреть куда на самом деле ведет какой маршрут. А что касается "и забыл", ох, рано ещё. Вот сейчас, расчитал маршруты с 4-го пути парка. Вместо восьми маршрутов - 1. Со второго пути - та же картина (тригерры поставил), с0 2-го и с 1-го все 8 маршрутов - ничего не менял. Поставил маркер отклонения - правильно пересчитались и 4-й и 3-й пути. То есть, получается, не только маркеры могут мешать, но и помогать? Хм, это тогда мильёон вариантов может быть на одной станции только.
А на основе чего ты хочешь сделать систему эту?на основе расстояния. В этом случае автоматически отсекается всё, что идёт сбоку от наилучшего направления. А если не понравится - всегда можно будет пересчитать маршруты и настроить вручную.
То есть, получается, не только маркеры могут мешать, но и помогать?я не виноват, что аурановский трактреч глючит. С ним и так экзекуию в виде обсчёта Москвы-Сортировочной устраивали. Ну ничё, вроде все пути находит.
Да о М-Сортировочной я и не мечтаю. У меня тут два парка из 4 и 8 путей не могут нормально посчитаться - уже три бубна порвал, куда уж там такое, как сортировочная в Бекасово или на М-Сортивочной... Причем, закономерность я никак не могу уловить - тут играли, тут не играли, тут - рыбу заворачивали.:confused:
Так это получается, что считали считали, кое-как всё таки расчитали. Сдали, что называется, маршрут "в эксплуотацию". Потом: "ой мля! маркер отклонения то забыли!". Тыць его на пути - и считаем всё заново?:eek:
Потом: "ой мля! маркер отклонения то забыли!"Маркеры система не изучает и не различает. (кроме тех, у которых имя начинается со stop)
А вот если "ой, маневровый светофор забыли" - тогда да, надо всё гробить, иначе, как уже писал, будет мусор.
из 4 и 8 путей не могут нормально посчитаться - уже три бубна порвалтак бубнов всего 4:
1) на одном из путей разрыв (особенно актуально для карт с анимстрелками)
2) стрелка стоит впереди точки (в этом случае надо по стрелкам смотреть, куда поиск уходит - если "возрат", то смотреть какая стрелка возвращает) либо рядом с ней маркер, имеющий одинаковое имя с каким-то другим маркером карты
3) светофор пропускается (ставить триггер перед светофором)
4) 2 светофора станции имеют одинаковые имена
А под какой бубен подпадает ситуация, кто в одну сторону, к светофору ЧМ1А маршрут просчитывается, а в сторону НМ1А (по маркеровке видно, что это одного пути светофоры) - ни в какую!
"А вот если "ой, маневровый светофор забыли" - тогда да, надо всё гробить, иначе, как уже писал, будет мусор."
Странно, сколько поубирал их и поставил - достаточно контроллер станции пересчитать и пересчитать стрелки xPath и маршруты светофоров, которые (маршруты) прошли через это место. И то, не всегда...
Сейчас заново буду "бить в бубны". Результаты будут в студии... Но НМ1А пока не поддался.
P.S. Первый результат готов - убрал маркер. Красный. А если он мне там нужен?.. Поставил обратно - опять не видит. И только этот светофор!
P.S. Первый результат готов - убрал маркер. Красный. А если он мне там нужен?.. Поставил обратно - опять не видит. И только этот светофор!
а) между маркером и светофором поставить триггер
б) поставить триггеры с обоих сторон маркера
Ну в общем, просто нужно играться с маркерами. Поставил не переименовывал в то имя, которые было - видит светофор. Переименовал в другое - тоже видит.
В общем, ребята, запасайтесь бубнами! :)
P.S. TRam, я так всё описываю, чтоб другие знали, где копать... Новичек явно лапки сложит сразу. Ты говоришь, Auran плохо считает. А почему что тогда в PathControl не было ни одного пропуска светофора?.. Правда, там несколько подход другой - он, пока не соберешь вручную маршрут, ни одного светофора не увидит... Вот в твою систему, да принцип PC... Может какие-то мысли сие навеет?
Ты говоришь, Auran плохо считает. А почему что тогда в PathControl не было ни одного пропуска светофора?Потому что оно "скачет" по стрелкам. А стрелки запоминают имена соседних объектов по именам. Ну и наоборот, получает объекты во время поиска по этим именам.
Но! В последнее время стал замечать, что светофоры называются "Trigger ***" и триггеры называются "Trigger ***" . Мне начинает казаться, что имена некоторых триггеров начинают совпадать, в результате система начинает глючить. Это одна из гипотиз (лечилась бы дописыванием autoname 1 в светофорах и их переустановкой на всей карте).
Гипотеза вторая - в результате адаптации скрипта к просчёту сверхдлинных перегонов была допущена ошибка, которая приводит к периодическому пропуску светофоров. Я не знаю, как эту ошибку можно вытестировать, тем более что пропуски были и раньше (например у меня вечно пропадал ЧМ1 на Солнечной, с самого начала постройки системы).
В общем, систему по удалению альтернативных маршрутов протестировал, сейчас добавлю галочку "показывать/не показывать" в браузере маневровых маршрутов (без него последние работать не будут), и может быть добъю сцепку составов из многих кусков до ближайшего светофора. И на том всё.
финальная 1.0
http://narod.ru/disk/26606630000/z7-xPath%20v1.0.rar.html
http://ifolder.ru/19963258
antikiller_bmrf
27.10.2010, 01:11
:40:
Поздравляю с первым финальным релизом.
Что-то мне подсказывает, что все будет как вчера. Тестим - ждем 1.1)
Что-то мне подсказывает, что все будет как вчера. Тестим - ждем 1.1нечто подобное было и с z7. "Тестим, а ждём маршрутизацию в z8"
1.0 в постоянном доступе будет лежать на trainzup.com
TRam, я как чувствовал, что ты поспешишь выложить "финальную" версию, поэтому плюнул пока на расчеты маршрутов и перешел к практическому их применению на "сложных" станциях, дабы успеть попробовать хоть что-то до финальной версии...
Пока что, что называется, галопом по Европам пробежался. Но даже эти "галопные" результаты, мягко говоря, удручают...
Но коль вышла финальная версия, завтра скачаю её, установлю, всё ... сызнова пересчитаю, дабы всё честно было, и тогда уже не галопом, но вдумчиво и с неоднократным повторением одной и той же ситуации всё просмотрю. Сейчас - это даже не сырая версия - хочет соберет маршрут, хочет - нет. Но ещё раз повторяю, не исключено, что с этой системой нельзя так, как с Path Control'ом. Если там всё в два щелчка мышью собирается и настраивается, то здесь, наверное, нужно, всё-таки, думать, что и где ты делаешь...
Ну что ж, будет день, будет и пища....
Сейчас - это даже не сырая версия - хочет соберет маршрут, хочет - нет.причины я указал. Напомню, предыдущие системы аналогичного класса (z6 и z7)маршруты по БМО не рассчитывали, а по Абхазии расчитывали за сутки. И там тоже были проблемы пропуска светофоров (откуда я и говорю, что "проблема есть" - системы, основанные на разных принципах, дают одинаковый результат)
По крайней мере я всё БМО+Москва-Нара, кроме станции Бекасово, у себя пересчитал... Так что если "думать", то простые карты с анимстрелками (Лесная) и сложные без стрелок (Москва-Нара) настроить можно. Как уже говорил, отличий от 0.9 версии только два - наличие правила удаления альтернативных маршрутов и возможность скрытия браузера маневровых маршрутов.
предыдущие системы аналогичного класса (z6 и z7) зет-7 вообще маршрутов не касалась.
Я буду стоять на своем: нужен Path Control, но заточенный под z. И все.
Я буду стоять на своем: нужен Path Control, но заточенный под z. И все.ну сделай - кто ж мешает. Тем более "затачивать" там ничего не надо - сделать команды "открыть светофор" и "открыть маневровый светофор" и применять эти команды перед командами Path Control (больше-то ничего не нужно, верно?).
Я же останусь на своих идеях явного задания приоритетов для поездных маршрутов, автоматического расчёта маневровых (которое выполняется уже по правильно уложенным стрелкам, светофорам и триггерам) и базы данных для прыжков по стрелкам. (а средства для копирования ф-ций Path Control - "задать маршрут до светофора приоритета *" и "задать маневровый маршрут до/за светофор" имеются)
Таак, результаты моего "теста" финальной версии 1.0....
Эээ, после нескольких часов попыток уговорить её посчитать маршруты от входного до 4-х маршрутных, мне это так и не удалось. Уж и триггеры ставил, и убирал маркеры, светофоры переименовывал, двигал их, ставил позади "стоп-триггеры", результат - нулевой, лишний маршрутный на пути ставил, но и от него до группы маршрутных просчет тоже не осуществлялся! Как с версии 0.8 пошла "ссора" системы расчета маршрутов с маршрутными светофорами, так в финальной версии она достигла своего апогея и апофеоза! :confused: Поэтому тест попросту провалился, даже не начавшись. Так что увы, мне сказать по финальной версии нечего. :( Подождем, что скажут остальные.
Вновь вернулся на версию 0.8 По моему или 0.7 версия или 0.8 является наиболее работоспособной. По крайней мере, 0.8 у меня посчитал маршруты. Правда, не без изменений (поставил лишний маршрутный между входным и группой маршрутных; версии 1.0 это не помогло), но всё-таки всё расчитало. Далее просчитаю две соседние станции и попробую покататься - по-моему, были проблемы в сборке маршрутов, но это было, когда у меня не на одном контроллере были все светофоры многопарковой станции.
К маневровым ещё не прикасался даже.
P.S. В версии 1.0 не просчитывались маршруты по парам. То есть, если на 1-й и 2-й путь просчитаются, то на 3-й и 4-й - нет. И наоборот. Сдается мне, что где-то всё же требует система расчетов от маршрутного в каком направлении следующий "перегон". Вариант, который раньше предлагался делать хотя бы видимость перегона между парками не является рабочим. А как же маневры между парками осуществлять?.. В общем, в следующий раз напишу о покатушках на версии 0.8 но уже с участием сложной станции. Но простых проблем не возникало.
То есть, если на 1-й и 2-й путь просчитаются, то на 3-й и 4-й - нет.если 8 просчитывает, а 9 и 1.0 - нет, то даже не знаю в чём дело. Можешь сравнить размеры скриптов - в 8 и в 10 версии
а) размер основного скрипта сборки и расчёта поездных маршрутов "junctionlibrary base.gs" - 41 267 байт
б) размер скрипта расчёта стрелок и светофоров "junctionlibrary controler.gs" - 23 240 байт
1) маневровые видят весь наш и весь следующий парк
2) Как с версии 0.8 пошла "ссора" системы расчета маршрутов с маршрутными светофорами, так в финальной версии она достигла своего апогея и апофеоза!система не различает маршрутных, входных и выходных светофоров. Это различает z7, которая между входными строит перегоны
...система не различает маршрутных, входных и выходных светофоров. Это различает z7, которая между входными строит перегоны
Вот это несколько озадачивает... Проблему расчетов и версий я пока оставил в покое. Пока вопрос по организации движения возник.
Грузой должен пройти через несколько станций транзитом. Отправляется тоже со станции (до порталов пока ещё руки не дошли). Цепочка команд выглядит так:
1) собрать маршрут приоритета за крысным; ждать пока не красный;
2) следовать до красного по удалению 3,0 км.; // до 1-го входного
3) собрать маршрут приоритета от... до... или главный; //открыли входной
4) собрать маршрут приоритета за красным; // попытались открыть выходной, открыли (транзитом идём)
А вот дальше что? Я поставил по циклу п.2 - п.4. Не сработало. Вместо того, чтобы следовать до красного по удалению, остявляя команду в строке команд, поезд отработал все цепочки сразу. Ну и встал, конечно.
У меня есть подозрение, что пока перед ним зеленый входной, он не понимает команду следовать до красного по удалению, считает её отработанной.
Хм, хотя, даже если и открыт входной, команда "следовать до красного с подтяжкой 8 м." должна отработать как часы... Надо бы проверить, как это отработается.
Так вот, если моё подозрение верно, то тогда какую команду надо использовать, чтобы он проехал открытый входной и открытый выходной, выехав на следующий перегон, по окончании которого уже красный входной (там, далеко ещё)? Тогда, наверное, цикл отработается?
P.S. Наверное в том, что я процитировал имелось ввиду система расчетов не различает типы светофоров, а команда все-таки различает?
P.P.S. Хм, надо бы устроить провокацию, чтобы следующий поезд по команде "следовать до красного по удалению" нарвался на красный проходной - что он будет делать? Отработает команду?;)
А вот дальше что? Я поставил по циклу п.2 - п.4.поставь команду после пункта 4, например "ждать пока не красный".
Дело в том, что z7 имеет задержку открытия светофоров, и, в дополнение, при открытии светофоры иногда мигают красным (почему - без понятия, не я их скрипты писал). В результате после открытия выходного момент моргания входного как раз приходится на команду "следовать до красного по удалению 3,0 км.", она этот красный улавливает, и, т.к. она беинерционная (если красный, то немедленно выполнять следующую), сколько её не ставь, все отрабатывает.
Как уже сказал - поставить там нечто промежуточное, либо "ждать пока не красный", либо "ждать 5 сек".
проверил - работает вроде нормально...
Только не надо забывать, что 3 км - это очень много, а z7 не умеет открывать светофоры далее, чем за 1 станцию от поезда
http://s009.radikal.ru/i308/1010/e8/bfc2cca55448t.jpg (http://radikal.ru/F/s009.radikal.ru/i308/1010/e8/bfc2cca55448.jpg.html)
Хм, надо бы устроить провокацию, чтобы следующий поезд по команде "следовать до красного по удалению" нарвался на красный проходной - что он будет делать? Отработает команду?версии в 5ой - отработал бы. В 9-1.0 будет стоять, ждать.
Хотя нет - как только остановится перед красным - отработает. (дело в том, что поезд не всегда доезжает до светофора на 8 метров, пришлось сделать сбрасыватель по критерию остановки)
поставь команду после пункта 4, например "ждать пока не красный".
Не взлетело! Поставил. Прошла. Но забыл в редакторе убрать команду Autodrive through. Когда я убрал вручную в режиме машиниста, при этом в упор таращился на зеленый сигнал входного, список команд из пп. 2-4 опять проскочил незаметно. Более того, я не понимаю, как команда может на двух перегонах открыть направление в свою сторону, а на третьем застопориться? ПС на карте кроме этого пока нет.
P.S. Согласно логике своего же высказывания, я пока сомневаюсь в том, что сам делаю всё правильно, но сомнения всё улетучиваются, потому пока решения нет.
а на третьем застопориться?сигналка z7 не может открывать светофоры не соседней станции (от станции с поездом 1-2 приоритетов). Претензии varz'у.
( Комбайн у него просил возможность открытия на не соседних станциях уже больше года - без этого также АЛС-ЕН не реализуется)
сигналка z7 не может открывать светофоры не соседней станции (от станции с поездом 1-2 приоритетов). Претензии varz'у.
Блин, и первый, и второй, и третий перегоны - это одинаковый набор команд! Смысл которого - подъехать, открыть входной, открыть выходной (чтоб не на желтый входной заезжать) и проследовать до следующего "подъехать, ..." Первый, второй работает, третий - нет! Как такое возможно!?
Что касается varz'а, у него то "вспомогательный демон" работает! Я ни разу не нарывался в З-Ж-К только потому, что демон не смог открыть перегон. Разве что только , что перегон действительно был занят против меня. Открывает и закрывает играючи...
Ладно бы только это. Команда "собрать маршрут приоритета за красным" по идее, должна "в очередь" становиться и перед закрытым светофором поезд встаёт. Когда я вручную перевожу перегон (командой) в свою сторону, почему эта команда не отрабатывает, которая, по идее в очереди на выполнение стоять должна? Ведь перегон уже открыт, осталось только зафиксировать маршрут отправления и открыть выходной.
P.S. Ты мне подкинул идейку кой чего проверить в Path Control. Неужели это так просто? Чё-то не верю. Но о результатах проверки - сообщу.
Что касается varz'а, у него то "вспомогательный демон" работает! Я ни разу не нарывался в З-Ж-К только потому, что демон не смог открыть перегон.ну ты уж там реши, кому менять направление перегонов - моей системе или "вспомогательному демону". А то они вроде одной и той же работой занимаются, и подраться могут...
И, как я понял, ты результат одной из драк и описал.
Повторюсь - z7-xPath сама переключает направление перегона. Если ты замечал, когда один поезд просится (командой задать маршрут за красным или задать маршрут приоритета) на перегон, а на перегоне встеречный, то в рации вываливаются "просьба изменить направление перегона отклонена", "просьба изменить направление перегона отклонена" ... Это идут проверки этой самой команды. Есть правда ещё одно условие, которого в z7 нет - пока первую стрелку с того конца перегона не освободят от маршрутов, изменить направление перегона нельзя.
Когда я вручную перевожу перегон (командой) в свою сторону, почему эта команда не отрабатывает, которая, по идее в очереди на выполнение стоять должна? Ведь перегон уже открыт, осталось только зафиксировать маршрут отправления и открыть выходной.кинь карту, посмотрю что там за перегон. Если команда сама не сможет развернуть перегон, то ей никто не поможет. И, кстати, перегоны она разворачивает точно так же, как и "вспомогательный демон". А вот определяет направление перегона по-другому (т.к. связываться с станционными контроллерами не умеет), ища входные с обоих концов перегона. Если входной с одной из сторон не найдёт и проверить его не сможет - маршрут не откроет.
ну ты уж там реши, кому менять направление перегонов - моей системе или "вспомогательному демону". А то они вроде одной и той же работой занимаются, и подраться могут...
Да нет у меня сейчас вспомогательного демона вместе с z7-xPath! Я тебе пример приводил до xPath.
"просьба изменить направление перегона отклонена", "просьба изменить направление перегона отклонена" ... Это идут проверки этой самой команды. Есть правда ещё одно условие, которого в z7 нет - пока первую стрелку с того конца перегона не освободят от маршрутов, изменить направление перегона нельзя.
Посмотрю на сообщения... Обычно не обращал внимания... Ну а почему ж тогда не переводит? Может быть оттого, что 0.8? Может быть только команды взять из 1.0?
Да не могу я кинуть сейчас - не моя карта. Я б тебе уже 10 раз бы её отослал, сам бы предложил. Письмо написал уже. Завтра, поди, ответит автор. На тесте она пока. А перегон обычный, между станциями из 3-х путей. Что может быть ещё проще? Разве что только грабли.
... Ну вот давай рассуждать логически.... Хотя погодь, щас кое-что ещё посмотрю.
А пока тебе ещё вот такой вопрос на засыпку - как система реагирует на заградительные и повторительные светофоры?
как система реагирует на заградительные и повторительные светофоры?до повторительных можно маневровые маршруты прокладывать. На поездные не влияют никак.
Да, одну весёлую вещь заметил - если на пути стоит станционный контроллер, то соседние светофоры надо ограждать триггерами.
Ну а почему ж тогда не переводит?идея только одна - не может найти входных светофоров с одной из сторон перегона... Но тогда как маршрут отправления посчитался ?..
Kompozitor
28.10.2010, 02:25
Да, одну весёлую вещь заметил - если на пути стоит станционный контроллер, то соседние светофоры надо ограждать триггерами.
О как! Спасибо, теперь для контроллера буду создавать специально какой нибудь заросший бурьяном путь или вообще невидимый.
TRam, по-моему команды и расчет в режиме редактора - у тебя разные вещи, никак не дружащие друг с другом. Когда просчитывается маршрут, в том числе и отправления, направление перегона тут уж никаким боком...
В общем, никакого "радио" я не увидел, посмотреть хотел, как сработает команда "следовать до красного с подтяжкой" - тоже провалилась: не перегоне отработало... Блин, настроение - просто на нуле...
Ну давай тогда порассуждаем логически (ага, как с группами чуть ли не до хрипоты "рассуждали") всё таки.
Сценарий сборки выходного маршрута, как я себе его представляю в свете сигнализации z7.
1) проверить куда направлен перегон; не к нам - попытаться избушку к ЛЕСУ задом повернуть;
2) не получилось повернуть, значит идет встречный; ждем, курим бамбук;
3) получилось! Поворачиваем избушку и имеем е...(ой!) собираем маршрут, открываем выходной - поехали.
Если бы ты сказал, что ничего подобного нет - ну можно было б задуматься, но когда ПС упирается после твоих команд в красный, почему Switch Span помогает, но только ещё раз нужно подать команду на сборку маршрута?.. И кстати, однозначной закономерности я так и не обнаружилв твоих командах... Не знаю, даже, что сие такое...
"Когда сомнение перерождается в уверенность, поиск уходит на второй план, потому как единственно верное решение возникает само собой." (с) NickLon
Kompozitor
28.10.2010, 02:34
Я буду стоять на своем: нужен Path Control, но заточенный под z. И все.
И чтоб маршруты для библиотеки одним кликом в редакторе создавались, лишь бы "на карачках" не ползать по каждой стрелке.
1) проверить куда направлен перегончтоб проверить, куда направлен перегон, надо слазить на другой его конец и проверить в входном станции отправления тег направления перегона. Если до другого конца недолезли (или входной перепрыгнули) - всё, перегон не работает (т.к. направление определить не можем). Вот вся закономерность...
Так, нашул у себя подобный перегон... В результате исправил логику программы в 4 местах (была неверная, как я и ожидал, в блоках для просчёта сверхдлинных перегонов )
http://narod.ru/disk/26655475000/z7-xPath_1.1.rar.html
Количество обращений к бубнам должно заметно уменьшиться
Kompozitor
28.10.2010, 03:56
В Сценарии Дона Капоне будет нормально работать? А то прямо сейчас устанавливаю.
Я ж сегодня не усну... Сейчас проверю!..
А вот теперь можно спать спокойно, потому как уверенность окончательно победила сомнение....
TRam, если тебе интересно это дальше продолжать - мой совет, пересматривай всё сызнова. И не распыляйся на всякие варианты... "Поездные, маневровые". Хотя бы одно что-то сделай.
TRam, если тебе интересно это дальше продолжать - мой совет, пересматривай всё сызнова.варианты уже сделаны, и давно. Причём они отделены друг от друга, благодаря чему можно менять один, не затрагивая другой.
Проблема в другом - понять по текстам скриптов "где я неправильно делаю" практически невозможно. Поэтому и приходится делать "образцовые карты", типа "3 стации с 1путными перегонами", "настроенная Москва-Нара", сценарий "автоматические разъезды поездов на Стальной дороге", "сортировочная горка" и т.п.
Когда вижу, где не работает, тогда могу сказать "да, я в 1*** строке изменю порядок проверок, т.к. когда писал, думал что они пойдут наоборот", но когда не вижу - сделать ничего не могу.
Баги с пропуском светофоров резко увеличились после того, как сделал поддержку очень длинных перегонов. Я чувствовал, что это как-то связано, но понять не смог. И только теперь, после обнаружения и локализации бага с непереводом направления перегона, смог заметить и исправить перескакивание объектов при просчёте (у меня также исправившее неудаление маршрутов из стека).
И не распыляйся на всякие вариантыосновная часть "поломок" происходит при увеличении функциональности. В данном случае оно произошло в момент создания обходов длинных перегонов (помнишь, "Махино - Лукино", и твои слова что ещё подождёшь?), которое "чем-то одним" не является, оно входит и в просчёт маршрутов, и в проверку свободности, и в собственно сборку. (при этом маневровые, естественно, были оставлены без изменений, и их сборка маршрутов работала куда лучше)
Ларчик просто открывался! Я, правда, только не могу объяснить почему именно на двух станциях из 5-ти это происходит, но происходит вот что.
У меня идут подряд три команды, если ты помнишь:
2) следовать до красного по удалению 3,0 км.; // до 1-го входного
3) собрать маршрут приоритета от... до... или главный; //открыли входной
4) собрать маршрут приоритета за красным; // попытались открыть выходной, открыли (транзитом идём)
Так вот, когда отрабатывает третья команда она не остаётся в списке команд машинисту. А входной тем временем, тормозит какое-то время. Он закрыт. На него и реагирует четвертая команда. Окрывает его желтым - и вперед. А до выходного команда так и не доходит, потому что как ты советовал после 4-го пункта поставил команду, только не ждать пока красный, от неё толку мало, она молниеносно пролетает, т.к. впереди зеленый проходной, а поставил проследовать маркер за станцией.
Вот и получалось, что выходной команды вообще не получал, а перегон закрыт просто по умолчанию, а я думал, что xPath не может его открыть!
Решение? Ну, можно между этими командами поставить что-то вроде ждать n секунд (после 3-го пугкта, а не 4-го). Но в этом случае поезд тормозит, уже не айс. А может быть команда "собрать маршрут приоритета"...Не, тоже будет тормозить. Но в общем, проблема обозначена. Теперь нужно найти её красивое решение!:drinks:
Сомнение рождает поиск, а поиск - единственно верное решение!:p
P.S. Мысль такая возникла. А можно сделать команду "Двигаться дальше какое-то время"? Например, 20 секунд... Или даже не отдельную команду, а прикрутить это в "хвост" "Собрать маршрут приоритета"? Ведь эта команда дается на ходу вроде?
Kompozitor
28.10.2010, 23:23
Мысль такая возникла. А можно сделать команду "Двигаться дальше какое-то время"?
Так на Ауране ж есть команды для такого, сначала дается "SetDCCThrottle", а после неё "JustDrive" в нужных секундах, скорость в соответствии с выбранным значением первой команды. Обе команды не нуждаются в специальных правилах.
Тэкс, тестирование на сегодня закончено. И вот какие выводы...
Эээ, Kompozitor, буду рад, если ты мне предоставишь эти команды на тест в совокупности с xPath. Хотя, этой потенциальной совокупности я вовсе не рад. Ну, хотя бы потому, что в z7 нет ни одной команды, которая бы "пришла" извне. А уж если создается система, то она должна быть самодостаточна. Априори...
TRam, вот чего ещё я откопакал. У тебя есть команда "Собрать маршрут приоритета за закрытым светофором". Не помню сейчас, как она дословно называется, но, думаю, ты меня понял. Эта команда стоит в строке команд машинисту до тех пор, пока не выполнится, верно?
Теперь вспомни мою цепочку команд. И что, бот тогда остановится на перегоне, если есть встречный!.. Команда "Собрать маршрут приоритета..." на выходные не действует. Как организовать транзит по станции тогда?
Теперь другая сторона медали. Золотая.
Как тебе удалось эту команду (Собрать маршрут приоритета за красным...) заставить просто стоять в списке команд и не мешать дальнейшему управлению? А когда надо - она и сработала! А!?;)
Признавайся, чертяка, "это жжж - не спроста!" (ВинниПух):D
И что, бот тогда остановится на перегоне, если есть встречный!..да, это так. Но всё же лучше, чем "собрать маршрут приоритета", которая, обнаружив впереди поезда зелёный светофор, пропускается.
Вообще я организую движение по однопутке с обязательными остановками обоих составов, и получается такие скрещивания при использовании
1) движение о 3 км
2) открытие маршрута за красным (входного), пока все пути станции пути станции заняты - ждать (тут в принципе без разницы, можно применять и "задать маршрут приоритета")
3) движение до 8 метров до светофора
4) задание маршрута приоритета
5) ждать пока не красный
и повторять такую последовательность. Естественно, можно что-нибудь помудрить с триггерами (типа "если поезд с дальней станции не отправлялся, заменить машинисту команы на твою последовательность, если отправлялся, то оставить скрещивание")
А когда надо - она и сработала! А!?это varz когда-то это сделать сумел, ну я его метод и использовал.
с обязательными остановками обоих составов, и получается такие скрещивания при использовании.
Неа! Не айс!
Вот смотри, как-то же организована команда в Path Control "Set Path don't wait". То бишь, собрать маршрут и не ждать пока он соберется. Команда уходит из строки команд, выполняется следующая команда, а тем временем маршрут пытается собраться, пока не соберётся. Это, скорее всего, какой-то там режим выполнения команды - в фоне или ждать пока не исполнится. То ли цифирька какая-то в объявлении процедуры, там 0 или 1, а может какое-то ключевое слово, типа РежимИсполнения = фоновый. В общем, что-то такое есть. Я не силен в скриптах, поэтому что-то более дельное подсказать не могу.
А что касается, занятости всех путей станции - повеселил. В Бобруйск такого диспетчера, а не за пульт ДНЦ!:rofl:
Так на Ауране ж есть команды для такого, сначала дается "SetDCCThrottle", а после неё "JustDrive" в нужных секундах, скорость в соответствии с выбранным значением первой команды. Обе команды не нуждаются в специальных правилах.
Посмотрел я эти правила. Повеселился от души! У меня старенький ДР1 за 20 секунд разогнался с 60 до 148 км/ч. То-то пассажиры там повеселились над тем, кто в начале вагона против хода поезда уселся - через 10 секунд лбом вынес нахрен противоположную перегородку вагона. А и неча! Пристегиваться надоть! :rofl: :rofl: :rofl:
Да, и на станциях соответствующее объявление давать. Что-то типа: "Дизель-поезд Земля-Луна отправляется с 1-го пути!":rofl: :rofl:
Нет, конечно можно задать половину мощности DCC-mode. Но я команды группирую в библиотеки. Не писать же каждому поезду свой набор команд на всю сессию. Поэтому тем же набором команд пользуется и грузовой (если транзитом через разъезд идёт и тот и другой). Так вот грузовой разгоняется с 80-ти всего лишь до 85-ти. А если поставить половину мощности, то упадет с 80-ти до 40-45. А это тоже самое, что и Wait for 20 sek.
Я имел ввиду команду "Просто ехать" такую, как только в режиме машиниста можно задать - Drive. И поезд будет просто тупо ехать в соответствии с сигналами и ограничениями скорости.
Не, я погорячился. Там не надо в половину мощность убирать. Со значениями SetDCCThrottle надо поиграться и подобрать оптимальное. Так что годится!
Зато повеселились! Это я просто себе представил описанную выше картину.
TRam, тогда осталось научиться в фон команду запихивать и можно будет выпускать релиз. ;)
То бишь, собрать маршрут и не ждать пока он соберется. Команда уходит из строки команд, выполняется следующая команда,по такому принципу работает z7-xPath single
Так что вроде переделывать немного - убрать всё предварительные проверки и ожидание из "задать маршрут за красным".
Думаю сделать команды "ожидание 1 секунду" (с передачей управления машинисту) и "ожидание наезда игроком на триггер" (во класс, игрок будет управлять поездом, которому заданы команды)
А что касается, занятости всех путей станции - повеселил. В Бобруйск такого диспетчера, а не за пульт ДНЦ!у роботов мозгов нет. Зато у них есть генератор случайных чисел (с)
Доброго времени суток! Во всех версиях xpath заметил вот что:
1. При задании нескольких маршрутов (поездных) из браузера на одной станции, частично использующие одну и ту же стрелку (стрелки), после прохода ПС (по команде "Следовать до красного") маршруты разбираются, но не исчезают из очереди. Так же они не блокируются, то есть можно повторно задать этот же маршрут, но всё равно старый не исчезает.:confused:
2. У меня почему-то при задании маршрута командой "Задать маршрут" не меняется направление перегона, из браузера-всё работает.:confused:
И ещё такой вопрос, TRam, можно как-нибудь убрать из браузера станции или отдельные светофоры? Например, очень мешают маневровые с красным огнём в списках поездных сигналов.
Например, очень мешают маневровые с красным огнём в списках поездных сигналов.выделять их сложно - для z7 они являются выходными светофорами
маршруты разбираются, но не исчезают из очередизнаю, но метода исправить пока не придумал
"Задать маршрут" не меняется направление перегона, из браузера-всё работает.сборка происходит по одному и тому же алгоритму... Даже не знаю в чём дело
Sandrilyon
29.10.2010, 20:19
В Бобруйск такого диспетчера, а не за пульт ДНЦ!:rofl:
А что у тебя против Бобруйска? Думаешь там нечего диспетчировать?:russian:
Алексей 401
30.10.2010, 00:20
Светофры и стрелки пересчитались, но маршрут открыть не получается... Мануальчик бы...
Светофры и стрелки пересчитались, но маршрут открыть не получается...маршруты надо отдельно пересчитывать.
Открывай "показывать станции", затем один раз жмёшь на имя станции, затем на "плюс" рядом со станцией (и затем на имя станции, пока проценты не пропадут), либо на плюс рядом со светофором. Должен появляться список маршрутов (0 возле имени стрелки - "влево", 2 - "вправо"). Если какой-то из светофоров пропускается, и поиск прыгает на следующую станцию, перед этим светофором ставь дефолтный триггер. Если после светофора Н1 вдруг появляется Ч1, значит левер (красно-зелёная стрелочка) одной из стрелок стоит переди белого(жёлтого) вращающегося кружка рельсов (должна быть позади, с противошёрстной стороны).
так, самая последняя (я надеюсь) 1.2
http://narod.ru/disk/26746147000/z7-xPath_v1.2.rar.html
Kompozitor
30.10.2010, 05:18
Я имел ввиду команду "Просто ехать" такую, как только в режиме машиниста можно задать - Drive. И поезд будет просто тупо ехать в соответствии с сигналами и ограничениями скорости.
Не совсем вкурил. А чем тогда Autodrive не вариант до маркера, специально установленного где надо. А если пофиг на сигналы, то можно попробовать вот эту мою переделку придуманную для плавного старта, только поубирать ненужные позиции: http://www.trainsim.ru/forum/showthread.php?t=11340
Может, я чуть не про то, но можно перед невидящей сигналов командой поставить Wait Until Not Red, во избежание аварийных ситуаций.
Я не скриптер СОВСЕМ, просто на бубнах без нот иногда играю)), скажу еще такую вещь - тупое перемещение по карте объекта под названием ПС вызывается функцией "train.SetVelocity(xxx);". У меня получалось.
Что-то типа: "Дизель-поезд Земля-Луна отправляется с 1-го пути!":rofl: :rofl:
Ну, если бот с тяжелющим составом станет на красный на подъеме, а Max Accell всего 3500, то я только на "Землю-Луну" и ставку хочу делать. Хотя, наверное, другой командой, чем SetDCCThrotle, ибо максимальное в ней - это и есть те самые 3500, что в конфиге ПС стоят. Увеличивать Max Accell никак нельзя, т.к. тогда на площадке придется "пристегивать ремни".
ЗЫ: Только что подумалось еще кое-что.
Вот интересно, могут ли быть как-то повязаны тяговые возможности ботового ПС с работой сигналки и сбором маршрутов? :confused: Вот в билде 37625 была ужасная шляпа, портящая напрочь прохождение сессий. При выполнении дефолтных команд в один момент блокировались некоторые стрелки, выплывала ошибка "Junction Base", ПС становился неуправляемым, ехал на вечном автопилоте по сигналом, "стоп трэйн" не выполнялся. Этот глюк на некоторых картах проходил, если облегчить вагоны или поставить парочку "космодромовских" DD40X вместо 2ТЭ10м. Тип сигналки был не причем. Бубнов было выброшено не счесть. Глюк билда, вместо которого в более новых версиях туда-сюда дергалась стрелка, ПС притормаживал, но команды выполнял.
Вот так, подумалось. На всякий случай.
Так, в версии 1.2 добавлена 3ка команд, в том числе "ждать 1 секунду" без торможения. Ну и
после прохода ПС (по команде "Следовать до красного") маршруты разбираются, но не исчезают из очереди вроде исправил.
Пойду писать мануальчик на trainz.org.ru
Kompozitor
31.10.2010, 17:30
На АПе в dounload-е какая версия лежит?
На АПе в dounload-е какая версия лежит?1.0
вообще, судя по тому, что замечания вроде прекратились, попрошу перевыложить на версию 1.4 (одно из правил которой ещё в разработке)
вообще, судя по тому, что замечания вроде прекратились, попрошу перевыложить на версию 1.4 (одно из правил которой ещё в разработке)
А 1.3?
триннадцатую пропущу :)
Вообще 1.4 будет всего лишь расширением 1.2 дополнительными командами и правилами, маршрутную часть пока трогать не надо.
TRam, а что за команда "Wait for trackmark"?
а что за команда "Wait for trackmark"?очень интересная такая команда :) . Ставишь её и едешь куда тебе надо (на ручном управлении). Когда наедешь на маркер, в ней указанный, эта команда выполнится и перейдёт к следующей.
Kompozitor
31.10.2010, 18:45
TRam_, а "для полного счастья" можешь сработать команду, идентичную Aвтопилоту и Autodrive, только с более плавным снижением скорости трафика? Это послужит огромным стимулом к отказу от индустриальных станций, при "Drive to" хоть немного, но медленней подходит ПС к станции. И неплохо бы, чтоб ПС останавливался на маркере серединой состава, как на станциях AJS. В смысле, чтоб короткие составы и МВПС не пёрлись аж к светофору.
зы: Лимит скорости тут не причем. Все равно некрасиво, когда до маркера 50 метров, а бот еще 25 км/ч едет ((.
TRam_, а "для полного счастья" можешь сработать команду, идентичную Aвтопилоту и Autodrive, только с более плавным снижением скорости трафика?просто для этого надо автопилот почти с 0 писать. Современному аурановскому (которого я использовал в командах) можно задавать только максимальную скорость движения, а не ускорения.
Так что "идентичного" не получится. Можно когда-нибудь сделать "альтернативный", но не в ближайшем будущем
В смысле, чтоб короткие составы и МВПС не пёрлись аж к светофору.МВПС вполне можно давать autodrive to (так как они идут по расписанию и, обычно, по определённым путям). В крайнем случае делаем в месте остановки триггер и настраиваем на него trigger rule с driver shedule
Короткие грузовые обычно доезжают до светофора.
Kompozitor
31.10.2010, 18:58
Остаётся наставить кучу дополнительных маркеров, и при наезде на них применять функцию SetAdvizoryLimit, чтоб каждый сам бот себе ограничения скорости на ходу делал. Я пробовал методом тыка, получалось. Но убрать этот противный процент MaxSpeed-а при прицепке бота не удается, хотя есть Аурановская Vcouple, но там будешь, например 3 км/ч метров 100 ехать, а когда до состава останется 30, как понесется все 8, если MaxSpeed в конфиге соответствующий.
Короткие грузовые обычно доезжают до светофора.
А насчет 4-х вагонных пассов что-то не замечал подобного. Вот и спасаемся пока AJS. Придумать бы подобную ей станцию, только без перехвата управления, и без накопления толпы пассажиров.
зы: О, понял, какая еще команда нужна. Подъехать к составу на расстояние столько-то метров!!! Тогда количество необходимых бубнов уменьшится в разы.
очень интересная такая команда :) . Ставишь её и едешь куда тебе надо (на ручном управлении). Когда наедешь на маркер, в ней указанный, эта команда выполнится и перейдёт к следующей.
Понятно. А я тупа ставил её ботам, думая, если другой бот проедет через указанный маркер, этот бот начнёт выполнение своих команд. Короче, думал что сделана по типу "wait for trigger".:)
А можно команду, при задании которой, бот тянет состав с остановкой у указанного сигнала указанным вагоном? Объясню зачем. Идёт сдвоенный грузовой "голова-середина". На сортировочной станции принимается от входного "Н" через маршрутный "НМ" до выходного "Н7", с разъединением у "НМ", вторая часть заходит на 5 до "Н5". Вот и нужна команда, чтобы бот остановился локомотивом второй части у "НМ", разъединился, заехал до "Н7", перешёл на вторую часть и завёл её до "Н5". Можно?
а когда до состава останется 30, как понесется все 8, если MaxSpeed в конфиге соответствующий.ну да... Нет тег "максимальная скорость прицепки" ввести - так проценты сделали :(
В 2006ой вроде нормально ехали на сцепку.
Вот и нужна команда, чтобы бот остановился локомотивом второй части у "НМ", разъединился, заехал до "Н7", перешёл на вторую часть и завёл её до "Н5". Можно?здесь лучше по-другому... Поставить правило правило "съезд с светофора **"(который выходной с куска пути, ограниченном НМ с другой стороны), и там настроить driver shedule c "отцепить столько-то вагонов с хвоста"+доехать до Н7.
Естественно на правило такую ситуацию вешать :eek: ... Неужели это так часто происходит?
Kompozitor
31.10.2010, 19:09
В 2006ой вроде нормально ехали на сцепку.
Не, так и зависело в 2006 от Max Speed, просто в чсмухах, например, стоит максималка 58 км/ч для бота, вот и цепляются они 3 км/ч. Отож и кажу, надо каким то макаром расстояние ло состава втулить, а затем плясать без бубнов кучей имеющихся команд. Стали за 10 метров от вагонов, парочку позиций командой врубили, или JustDrive, или еще как, или Autocouple to состав, и все. И картинка натуральная и функционал чёткий.
открою страшную тайну (а может и не открою, может все уже знают): светофоры z7 генерят служебные события заступа/отсупа в/из зоны светофора... только чета никто не программит эту фитчу
только чета никто не программит эту фитчу
А разве "следовать к красному с подтяжкой в 8 метров" не использует именно возможность проверки "заступа"? Хотя нет, так как раз, наверное, просто расстояние до светофора берется. Ну, думаю это весьма полезная новость. А есть только заступ/отступ? Это перед светофором, а заезд за зону светофора? То есть оказаться сначала в зоне, а потом выйти из неё, есть такое?
светофоры z7 генерят служебные события заступа/отсупа в/из зоны светофора...а зачем их использовать, если можно Sniff на них вешать?
Вот если можно было бы сказать светофору "слыш, тут лок третьего(второго) приоритета подъехал... Ты его не видишь, но перед ним тебя открыть надо" - вот тогда бы я бы прыгал от счастья...
А разве "следовать к красному с подтяжкой в 8 метров" не использует именно возможность проверки "заступа"?не использует. Там проверка расстояния до светофора (иначе б останавливался за 15 метров). А вот "ехать до/за маневровый светофор" использует. Без всякой связи с z7, напрямую.
TRam, отсутствие подсказок или хотя бы различающихся иконок у команд. Когда строишь сесию ещё при памяти что где стоит, но вот если на следующий день что-то поменять нужно - тут уже либо ломаешь голову что это имелось ввиду, либо всё заново переписываешь.
А правило xPathAddAnyPath вместе с ChekTrackSide на ступень ниже, да? А то я для посмотреть поставил его в корень - заругался. Наверное оттого, что не настроен и в корне без условий всяких.
Правила xPathAddAnyPath и xPathAddPath в корень ставить нельзя (им нужно время, чтобы законнектиться с будкой, так же как и командам машинисту). Кстати в xPathAddAnyPath нашёл баг, уже исправил, чуть позже выложу.
но вот если на следующий день что-то поменять нужно - тут уже либо ломаешь голову что это имелось ввиду, либо всё заново переписываешь.где подсказки возможно сделать без потери производительности и понимания, там я их сделал. Команды же поездных маршрутов оперируют индексами, т.е. подсказка "по станции №78 построить от светофора №34 маршрут №19" будет не более информативна, чем полное отсутствие подсказок.
У маневровых команд подсказки есть (т.к. они оперируют именами светофоров).
или хотя бы различающихся иконок у командскажи какие самые неотличимые, попробую перекрасить.
скажи какие самые неотличимые, попробую перекрасить.
А не надо там станции пихать. Тем более, у команды "задать маршрут приоритета" нет упоминания о станциях. Достаточно, если в подсказке так и будет "задать маршрут приоритета от 1 до 14 или 0"/"задать маршрут приоритета от 1 до 14". Для меня это означает, дал я команду на тразит составу, или это всё же прибытие на станцию и за ней должна быть команда "движение до красного с подтяжкой на 8 м." А она не отличается от команды "... по удалению на 3 км." А если б была подсказка - навел мышь и понятно ошибся или всё правильно. И "задать маршрут закр. светоф." навел мышь и подсказака должна быть, как у задать маршрут приоритета - есть там главный, или нет. Потому как не всегда эта команда подаётся после выходного, бывает и после маршрутного. Опять не понятно, то ли я в следующем парке останавливаюсь, то ли (если есть 0) следую транзитом на пергон/следующий парк.
А вот явная команда "Задать маршрут по станции ххх от светофора Н до НXX" такую посказку и должна иметь, потому как там явное задание и станции и светофоров. И поди пойми, может при выборе светофора мышь дернулась и не туда кликнул. То же самое и для "Задать маршрут до маневрового". Правда, там нужно добавить, вместо малоинформативного "До Н" хотя бы "Маневровый маршрут до Н".
Команды "Отцепить с головы" и "Отцепить с хвоста" имеют подсказки, но они одинаковые "отцепить хх". А откуда - не понятно.
"Движение до светофора". Там разные скорости задаются. А у тебя только "До Tragger хххххх". И ещё, хорошо бы было, если бы не до Trigger хххххх а до, М21 например.
"Отцепить my train вагон хххххх" достаточно информативную подсказку имеет.
Вот видешь, при ближайшем рассмотрении оказалось, что даже если ты иконки и перекрасишь, это мало что изменит. Подсказки просто необходимы!
А с отправкой в фон команды "задать маршрут задать маршрут за закр.светоф." не получается?
А с отправкой в фон команды "задать маршрут задать маршрут за закр.светоф." не получается?команду "подготовить маршрут от красного" видел? Так вот это она
А вот явная команда "Задать маршрут по станции ххх от светофора Н до НXX" уже сказал - максимум что можно сделать не через Ж - " станции 32 от светофора 11 по маршруту 54". Аналогично с И ещё, хорошо бы было, если бы не до Trigger хххххх а до, М21 например.
Остальное попробую довести.
Kompozitor
01.11.2010, 17:28
И ещё, хорошо бы было, если бы не до Trigger хххххх а до, М21 например.
Наверное, надо, чтоб светофор был проименован не только в настройках, но и в свойствах. Тогда "триггера-ххх" точно не будет. Пробовал с Path Control, помогало.
Наверное, надо, чтоб светофор был проименован не только в настройках, но и в свойствах.имя должно быть уникальным. Т.Е. имя должно быть <Станция>-<имя светофора>
имя должно быть уникальным. Т.Е. имя должно быть <Станция>-<имя светофора>
Лично я так всегда и делаю, и искать проще и настраивать. Да, NickLonа поддерживаю в просьбе на счет "подсказок".
Блин, куда ни кинь, всюду - клин.
TRam, как тебе такая картина? Ну прям маслом. Ни дать ни взять. Это я тестирую разъезд двух поездов на однопутке.
http://s013.radikal.ru/i322/1011/f5/92ad08d6935et.jpg (http://radikal.ru/F/s013.radikal.ru/i322/1011/f5/92ad08d6935e.jpg.html)
С двух сторон на один и тот же путь едут одновременно два поезда. Когда встречный бот собрал себе маршрут по команде "Собрать маршрут приоритета...", то и я дал команду "собрать маршрут приоритета..." Моя команда вошла в клинч - не собирала и не уходила из списка команд. Тогда я её вручную убрал, и задал "собрать за закр.светоф" И вот результат. Главный путь команды не считают занятым пока на нем нет поезда. Но маршрут то на него уже собран с обратной стороны!
Вот такая шляпа.
Главный путь команды не считают занятым пока на нем нет поезда.команды считают путь занятым, если стрелка с той стороны пути занята маршрутом и направлена на этот путь. Если все пути тех приоритетов, которые ты задал, заняты или недоступны, то будет ожидаться возможность сборки маршрута с максимальным приоритетом .
Что и произошло в этом случае.
Я задал с 1-го по 14-й приоритет или главный. На станции никого не было...
Промоделировал ещё раз эту же ситуацию, только теперь два бота друг к другу ехали. Когда один бот собрал себе на главный маршрут, то второй бот, когда попытался с 1-го по 14-й собрать - вошел в клинч. Не реагировал вообще ни на какие команды. Пока не отменил расписание Abandone Schedule. После этого только стал реагировать на команды. Это по-моему, зацикливание. Но я ещё раз перепроверю то, о чем ты сказал явно - вот, отсутствие подсказок...
Подписи к командам доделал уже. Сейчас думаю - садиться мне за правило "Срабатывание при дистанции межу поездами приоритетов 1 и 2 (2 и 1) более/менее *** метров", или оставить так и перевыложить на пост. хранение?
максимальным приоритетомимел в виду наименьшим, в данном случае нулевым.
TRam, а нельзя придумать что-то для запрета маневровых маршрутов на определённые пути?
TRam, а нельзя придумать что-то для запрета маневровых маршрутов на определённые пути?нет. Только задание маневровых маршрутов по частям.
http://narod.ru/disk/26884165000/z7-xPath%20v1%204.rar.html
Если за двое суток критических багов не будет найдено, система отправится на длительное хранение вместо версии 1.0 . Дальше будет только описание команд и правил на trainz.org.ru
И всё.
TRam, ты опять спешишь? Знаешь где нужна спешка!? Проверь ещё раз ситуацию, что я тебе на скрине нарисовал! Она у меня повторилась!
А повторилась вот как. Ток же, как в прошлый раз команда "Задать маршрут приоритета..." зациклилась из-за того, что путь свободен, а собрать маршрут на него нельзя! А вот когда я дал новую твою команду, когда не надо ждать сборки маршрута и открыть светофор "Подготовить маршрут за закр. светоф." на главный "собрался маршрут" и входной открылся желтым. Но это после Abandon Schedule!
Сейчас от 21:57 попробую твою версию. Может там ты исправил уже. Я то всё пока рылся в своих тараканах - может это они у меня завелись...
Может там ты исправил уже.Повторюсь, ничего в поездных маршрутах, начиная с версии 1.1, я не менял.
я реально не понял твоей ситуации. Для открытия входного лучше использовать "Подготовить маршрут за закр. светоф.", так как она единственная, которая дружит с длинными перегонами.
зациклилась из-за того, что путь свободен, а собрать маршрут на него нельзясистема перебирает все маршруты доступных приоритетов, и, найдя свободные (маршруты, а не пути) собирает маршрут наименьшего приоритета среди них. Если свободных маршрутов нет, то она должна продолжать перебирать их снова и снова, с периодом в 5 секунд. Что тут может циклиться - я не понимаю.
Ну, что я тебе говорил?
http://s004.radikal.ru/i208/1011/ec/fa77a691a1d0t.jpg (http://radikal.ru/F/s004.radikal.ru/i208/1011/ec/fa77a691a1d0.jpg.html)
У тебя циклятся команды, где используется главный маршрут. То есть нулевой. А на скрине исполненная команда "Подоготовить маршрут за красным..." без участия нулевого маршрута.
Прибывающий ПС по главному вдалеке пусть тебя не смущает. Пока я перебирал команды, встречный уже успел подойти к станции. Да и клавиша Shift ускорила процесс.
В общем, пищи для размышлений, думаю, предостаточно...
А ты говоришь критических багов не будет... Это я ещё за маневровые не брался...
PS Не видел твоего поста от 00:37... У меня были сходные мысли. Только не грамотнее ли будет поправить команды "Собрать маршрут приоритета..." с учетом этой особенности, или вообще их убрать, если на входе пользоваться "Подготовить маршрут за красным..."...
Всё бы ничего, только здесь есть одна заковыка! Если я даю команду "Подготовить маршрут за красным..."
...Блин, хотел быстро поправить пост, да там ещё подводные камни есть.... Сейчас подумаю ещё и тогда уже сформулирую...
PPS А до 1.1 я такой ситуации и не моделировал.
А вот за подсказки - отдельный респект!!!! \радующийся смайлик здесь должен быть.\:)
Если впереди светофор открыт, то "Собрать маршрут приоритета..." выполнится (и машинист перейдёт следующей), в то время как "Подготовить маршрут за красным..." найдёт следующий светофор и будет с него пытаться открыть маршрут. В этом их разница, за исключением также алгоритма поиска начального светофора.
Это я ещё за маневровые не бралсяманевровые стабильны, как версия 0.6 - 0.7 . Они не поддерживают длинные перегоны, зато если собираются обычные маршруты, то маневровые на 100% соберутся.
У тебя циклятся команды, где используется главный маршрут. То есть нулевой.посмотрел по скрипту - да, возможность такого бага есть - когда какой-то маршрут криво собрался. Но если я сделаю перепроверку на 0 маршрут, то в браузере для работы данной команды придётся кликать на "0" приоритет в браузере и подтверждать его.... Какой тут найти компромисс - не преставляю.
Если впереди светофор открыт, то "Собрать маршрут приоритета..." выполнится (и машинист перейдёт следующей),
А с какого перепугу светофор будет впереди открыт до "собрать маршрут приоритета..."!? Ведь именно "собрать маршрут приоритета..." после "следовать до красного по удалению 3 км" открывает нам светофор, если есть свободный маршрут, не так ли? Выполнится? А вот и не выполняется! И машинист к следующей не переходит. Аналогичная байда и с новой командой. Только вот пока закономерность не узрел - всего то пару раз прошелся по ней.
TRam, я тебе ещё раз повторяю, у тебя какая-то лажа с участием "или по главному (0)". Что именно, я пока "за хвост не уцепился", но мечтаю в ближайший час это сделать...
маневровые стабильны, как версия 0.6 - 0.7 . Они не поддерживают длинные перегоны, зато если собираются обычные маршруты, то маневровые на 100% соберутся.
Что ты так маневровые хвалишь, как-будто убеждаешь, что Земля - круглая... Погодь, погодь, доберусь я и до них.
Эх, знал бы из-за чего там у тебя появились кривые маршруты...
да, если что - http://trainz.org.ru/mediawiki/index.php/Z7-xPath
Если хочешь тот баг исправить радикально - вписывай строку
priority=Old_sp.GetNamedTagAsInt("object_priority",1002);
в скриптах, содержащих в имени "schedulecommand" в командах задания автомаршрутов, вместо этой
http://s003.radikal.ru/i201/1011/a8/6949bd177f91t.jpg (http://radikal.ru/F/s003.radikal.ru/i201/1011/a8/6949bd177f91.jpg.html)
Нашел я тебе зарытую собаку!
команды считают путь занятым, если стрелка с той стороны пути занята маршрутом и направлена на этот путь.
Вот здесь и ищи. Скорее всего, это тоже самое, как если бы я задал маршрут и с одной, и с другой стороны с одним и тем же приоритетом. То бишь, на один и тот же путь без вариантов.
С одной стороны, "Собрать маршрут приоритета от 1 до 14 или главный (0)" и с другой стороны то же самое. Когда первый поезд занимает этот самый маршрут, и для второго поезда ту самую стрелку "с той стороны", то второй поезд при попытке исполнить ту же саму команду ("собрать маршрут приоритета от 1 до 14 или главный (0)") впадает в ступор. До тех пор, пока не освободится "стрелка с той стороны". Но! этого мало. Нужно сделать Abandon Schedule и вновь задать команду "собрать маршрут приоритета от 1 до 14 или главный (0)". Вот тогда маршрут соберется в обход занятого главного. Но не потому, что главный занят, а потому, что "стрелка с той стороны" свободна. Вот отсюда и копай.
Abandone Schedule обеспечивает нам прерывание зациклившегося цикла, а коль стрелка свободна, дальнейшее зацикливание не происходит.
Что-то ты перемудрил с "... или главного (0)".
DonCapone
02.11.2010, 08:56
Можно ли сделать(или есть уже?) правило, которое будут задавать маршрут указанного приоритета всем поездам? То есть, например, поставить перед станцией триггер, и при его проезде любому проезжающему его поезду будет задаваться маршрут установленного приоритета.
Это нужно чтобы автоматизировать процесс пропуска поездов без Z7_dnc.
Есть правило AddAnyPath, но оно только для определённого поезда, а надо бы как-то, чтобы для любого поезда, проезжающего определённый триггер.
Также было бы неплохо сделать правило разбирающее маршрут, какую-нибудь RemovePath, действующую по аналогии с AddPath, но не добавляющую маршрут, а убирающую.
Также было бы неплохо сделать правило разбирающее маршрут, какую-нибудь RemovePath, действующую по аналогии с AddPath, но не добавляющую маршрут, а убирающую.нельзя. Разборка маршрутов слишком крива (без перепроверки занятости стрелок, без выдержки положенного времени) и должна применяться только в процессе тестирования.
То есть, например, поставить перед станцией триггер, и при его проезде любому проезжающему его поезду будет задаваться маршрут установленного приоритета. пока этого можно добиться, вручную указав команды открытия маршрутов в настройках портала. В противном случае приём пассажирского на 12 путь не будет редкостью.
DonCapone
02.11.2010, 10:31
пока этого можно добиться, вручную указав команды открытия маршрутов в настройках портала. В противном случае приём пассажирского на 12 путь не будет редкостью.
Задавать зараннее команды - не вариант: очень большая вероятность, что что-то сработает не так. После выпуска поезда должны жить своей жизнью, без участия игрока.
Пока чего-то подобного можно добиться, используя правило schedule at trackmark, но если на него наедет поезд игрока - будет очень плохо. Надо бы что-то, что бы собирало маршруты без выдачи команд поездам. А исключить 12е пути можно ведь приоритетом, разве не так? К тому же trigger check позволяет определять типы поездов - тогда можно сделать, чтобы при проезде триггера грузовым локомотивом ему задавался маршрут 3-5 приоритета, а пассажирским 0-2. Это конечно тоже не лучшее решение(тогда все грузовые будут ехать по отклонению), но всё же как вариант. В любом случае, правило, автоматически задающее маршрут приоритета, необходимо.
DonCapone, а расскажи поподробнее, что ты там задумал? Что это за "автоматизированный пропуск поездов без z7 dns"? Это ты имеешь ввиду поездов, которыми управляет игрок, а не бот?
И ещё. У тебя порталы с xPath дружат? Ну и с сигналкой тоже. Не мог бы вкратце рассказать как и что организовал?
P.S. Спрашиваю не в личке, потому что знаю как минимум ещё одного человека, которого это тоже интересует. Он сюда заходит.
Задавать зараннее команды - не вариант: очень большая вероятность, что что-то сработает не так. не вижу никакой разницы между срабатыванием команды и выполнением предполагаемого правила. Разве что от настройщика потребуется больше времени на задание открытия и подготовки маршрутов нужных приоритетов. (ведь поезда должны ехать на нужное им направление, и задавать это надо настройщику, согласно приоритетам выходных маршрутов)
И ещё. У тебя порталы с xPath дружат? Ну и с сигналкой тоже.карта-пример, которую я выкладывал в начале темы (которая с чмухами, ездящими автоматически по однопутке с 3 станциями) - там показана правильная организация порталов.
Это ты имеешь ввиду поездов, которыми управляет игрок, а не бот?для игрока предназначена команда AddAnyPath. (так как поезд игрока заранее известен)
DonCapone
02.11.2010, 13:37
DonCapone, а расскажи поподробнее, что ты там задумал? Что это за "автоматизированный пропуск поездов без z7 dns"? Это ты имеешь ввиду поездов, которыми управляет игрок, а не бот?
Ну например, в начале тупо задал боту STW drive, и можно про него забыть. Светофоры ему будут открываться автоматически, если главный путь занят - он поедет по обходному, и т.п. Ничего особенного. В принципе грузовые можно запускать по такому принципу с командами ехать до красного3->задать маршрут приоритета->повторить. Но вот с электричками, которым надо ставить команды на остановки, так не получится.
И ещё. У тебя порталы с xPath дружат? Ну и с сигналкой тоже. Не мог бы вкратце рассказать как и что организовал?
Не знаю с чем именно, но с чем-то они не дружат точно.
Пример1: В моей сессии бекасово-поварово3, На участке поварово3-лукино действует портал, выпускающий поезда немного дальше станции поварово3. Также на всей карте есть ещё несколько потребляющих порталов.
Замечены глюки:
Некоторые потребляющие порталы в какой-то момент перестают потреблять.
Иногда порталы потребляют только локомотив, а вагоны едут дальше. Такое замечено только с составами, в которых после локомотива идут изотермические вагоны Славы, эти вагоны сами по себе глючные. Возможно проблема в них.
Выпускающий портал в какой-то момент выпускает только 1 секцию локомотива, вообще без состава, дальше всё опять идёт нормально.
Пример2: Пробовал просто поставить несколько выпускающе-потребляющих порталов.
Результат плачевен: выпускались только по 1 секции, реже ещё 2-3 вагоны. Ни одного целого состава не выехало. Правда там была сигналка з6, которую я даже не устанавливал специально.
Пример3: Сейчас делаю сессию, там есть портал, выпускающий по команде электричку. С ним вроде всё работает. Второй портал по середине маршрута должен был выпускать грузовые поезда, вот только выпускает он только 2 секции лока и 1 вагон, причём так все поезда. Пока вот думаю как исправить.
Собственно, теперь порталы - у меня основная головная боль, если с маршрутизацией как-то более-менее уже можно разрулить, порталы портят настроение.
А вообще я хочу сохдать сессию, где траффик будет жить сам по себе(правда по зараннее заготовленному алгоритму), и взаимодействовать с игроком независимо от того, в каком месте карты игрок находится. Если такое получится реализовать - будет очень круто.
не вижу никакой разницы между срабатыванием команды и выполнением предполагаемого правила. Разве что от настройщика потребуется больше времени на задание открытия и подготовки маршрутов нужных приоритетов. (ведь поезда должны ехать на нужное им направление, и задавать это надо настройщику, согласно приоритетам выходных маршрутов)
Это-то понятно, но можно ли таким способом ставить поезда под обгон автоматом, в зависимости от расстояния до обгоняющего поезда?
но можно ли таким способом ставить поезда под обгон автоматом, в зависимости от расстояния до обгоняющего поезда?спрашивал о необходимости создания такого правила на прошлой странице.Раз ответили, значит прийдётся его делать...
Kompozitor
02.11.2010, 14:02
ставить поезда под обгон автоматом, в зависимости от расстояния до обгоняющего поезда?
Ты имел ввиду - если сзади у трафиковой электрички пусто, то остановим её на главном пути, а если "в спину дышит" скорый, то отведем её на боковой, чтоб разные команды выполнялись в двух вариантах. Это хочешь реализовать?
Фиг его знает, может дефолтными триггерными правилами?
А правилом "Driver Shedule Rule", что привязывается к имени машиниста, может быть? В смысле, стоит правило, проверяющее по триггеру проезд, скажем, скорого. И еще одно правило, проверяющее проезд через впередистоящий триггер, допустим, грузового, которому в этой ситуации надо свернуть "набок" и постоять на красном. Если второе правило сработало, то под ним выполнится "Driver Shedule Rule", которое впендюрит новый блок команд боту впереди идущего поезда.:confused:
Доброго времени суток! TRam, а как влияет на маневровую работу xpath наличие соседней станции? Просто у меня такая ситуация
http://s015.radikal.ru/i333/1011/f4/72668c708017.jpg (http://www.radikal.ru)
На картинки ст. А. За ней нет других станций, т.е. она тупиковая. При задании маневрового маршрута от Ч4 за М3 генерируется маршрут за М1. Чего только не делал, и леверы стрелок двигал, а маневровые на большее расстояние отодвигал, не хочет маршрут идти за М3 и всё. При этом, от М3 маршруты можно собрать на все 4 пути. Делаю за ст. А ст. Б, со стороны горловины, указанной на рисунке. Теперь появилась возможность сбора маршрутов за М3.
Другая ситуация. Такая же станция, но вместо М1 и М3 стоят маршрутные НМ1 и НМ2. Вторая станция сделана параллельно этой станции. По прибытию поезда на 4 путь задаю маневровый маршрут от Ч4 за НМ1. Маршрут собирается, но... с проходом по параллельной станции (от Ч4 по параллельной станции, по 1 пути от Ч1 и за НМ1). Делаю другую команду, от Ч4 за НМ2, меняем направление и от НМ2 за Ч2. ПС едет за НМ2, меняет направление и собирает маршрут за Ч4, опять на состав.
DonCapone
02.11.2010, 14:47
Фиг его знает, может дефолтными триггерными правилами?
А правилом "Driver Shedule Rule", что привязывается к имени машиниста, может быть? В смысле, стоит правило, проверяющее по триггеру проезд, скажем, скорого. И еще одно правило, проверяющее проезд через впередистоящий триггер, допустим, грузового, которому в этой ситуации надо свернуть "набок" и постоять на красном. Если второе правило сработало, то под ним выполнится "Driver Shedule Rule", которое впендюрит новый блок команд боту впереди идущего поезда.
Да триггерами-то можно, тогда и набора команд не понадобится, просто маршруты собирать. Но если реализовывать задумку, то придётся ставить кучу триггеров по всей карте, писать ещё большую кучу правил. А теперь представим, что на карте не одна электричка и скорый, а 40-60 поездов, и у них 4 приоритета:
1. Скорый пассажирский
2. Пригородный
3. Важный грузовой
4. Обычный грузовой
И чтобы они обгоняли друг друга в нужных приоритетах, то это вообще долбануться можно.
Kompozitor
02.11.2010, 15:10
Ну да, так оно и есть. Вот если б правила можно было упаковывать и копировать, как команды. я писал как-то Петровичу, царствие небесное ему, в "Вопросах Аурану" насчет того, чтоб сделать доступными настройки правил сессии в текстовом редакторе. Это в файлах "Profile" вроде.
Так тогда проще скриптом написать СЦЕНАРИЙ, а не сессию, как это RMM сделал в Абхазии? Хотя там сессия, построенная правилом Custom Script.
то придётся ставить кучу триггеров
Эта куча уже есть в виде светофоров z7.:)
DonCapone
02.11.2010, 15:22
Так тогда проще скриптом написать СЦЕНАРИЙ, а не сессию, как это RMM сделал в Абхазии? Хотя там сессия, построенная правилом Custom Script.
Ммм... разве сессия и сценарий это не одно и то же?
Эта куча уже есть в виде светофоров z7.
Проще новых триггеров повтыкать, чем эти 6(7?) значные цифры запоминать :)
Кстати вот что интересно: хпатч ни в какую не хочет считать Ч2 на станции Апрелевка, ну вот вообще никак, я уже и триггерами "стоп" почти всю станцию застроил кроме главного пути, и всё равно маршруты от светофора Ч2 не просчитываются. От Ч4 всё считается нормально.
Что-то подобное было со станцией Манихино2 - там тоже всё просчитывалось только до входного светофора следующей станции.
Kompozitor
02.11.2010, 15:36
Ммм... разве сессия и сценарий это не одно и то же?
Не-а. Сессия - kind "profile", сценарий - kind "activity".Вспомни старые добрые поездки по Хайленд Веллей и Австралии. Это сценарии, как и те, что есть в ТРС2009-2010 три штуки.
ЗЫ:, лучше и триггерные имена светофоров переменить, к примеру, на "Ч2-Aprelevka"
TRam, я проверил тот самый злополучный "... или по главному(0)" Увы, ничего он не злополучный. Поменял приоритеты на той трехпутной станции от 1 до 3-х в обоих направлениях, и задавал сборку маршрута с приоритетом от 1 до 3х. Один фиг, когда на главный собран маршрут, и на нем ещё нет поезда (стрелки противоположные заняты), то с противоположной стороны состав не понимает, что главный (1-й в данном случае приоритет) уже занят. То есть, вообще разъезд невозможен :(
Один фиг, когда на главный собран маршрут, и на нем ещё нет поезда (стрелки противоположные заняты), то с противоположной стороны состав не понимает, что главный (1-й в данном случае приоритет) уже занят. перепроверю...
То есть, вообще разъезд невозможенбезостановочный разъезд невозможен. С остановками багов нету.
TRam, а как влияет на маневровую работу xpath наличие соседней станции?положительно. Если между станциями нет проходных светофоров, то система при расчёте манёвров считает считает эти станции парками одной станции (иначе сделать работу многопарковой станции сложно). При этом если имеется 3 таких последовательных станции, то до третьей ничего построить нельзя.
При задании маневрового маршрута от Ч4 за М3 генерируется маршрут за М1. Чего только не делал, и леверы стрелок двигал, а маневровые на большее расстояние отодвигал, не хочет маршрут идти за М3 более чем уверен, что у тебя собрался маршрут до М1 следующей станции (можешь проверить по положениям стрелок)
и всё равно маршруты от светофора Ч2 не просчитываютсярешение - один из леверов стрелок оказался перед точкой стрелки
там тоже всё просчитывалось только до входного светофора следующей станции.в случае, если пропускается светофор, перед ним надо поставить триггер.
И чтобы они обгоняли друг друга в нужных приоритетах, то это вообще долбануться можно.пассажирские и МВПС ходят по расписанию (иначе никто на них ездить не будет). А грузовые... Так что в простейшем случае у нас есть 2 типа поездов - "с расписанием" (приоритет 1) и без расписания (приоритет 2). Организовать обработку первых и вторых я могу, а вот сделать что-то большее - вряд-ли...
положительно. Если между станциями нет проходных светофоров, то система при расчёте манёвров считает считает эти станции парками одной станции (иначе сделать работу многопарковой станции сложно).
То есть, решением проблемы может быть постановка pab repeter'ов, и создание перегона без проходных? Если, конечно, не предусмотренна маневровая работа между парками (станциями).:)
более чем уверен, что у тебя собрался маршрут до М1 следующей станции (можешь проверить по положениям стрелок
Иногда да, но в некоторых случаях до того который мне нужен, но только через др. станцию. Просто у меня они так сделаны, что из-за соединительных ветвей есть возможность "закольцевать" маршрут.
перепроверю...
безостановочный разъезд невозможен. С остановками багов нету.
Ещё раз обращаю твое внимание, что речь идет о том, когда два поезда одновременно с разных сторон станции пытаются собрать себе входной маршрут!!! О каком остановочном разъезде может идти речь, когда первый поезд собрал себе входной маршрут, но ещё не заехал на станцию (стрелки перед ним заняты для него!),а второй поезд, встречный, собирает уже себе входной маршрут!? Хоть остановочный, хоть безостановочный, но в этой ситуации не собирается правильно даже входной маршрут для второго поезда! (см. скрин). Да, если один поезд собрал себе вход, и до того, как встречный пытается себе собрать вход, уже прибыл на станцию, то запросто разъезжаются хоть остановочно, хоть безостановочно!
P.S. Подумал, что станция глючная, ну, там маршруты не посчитались правильно etc. На двух других - та же картина!
DonCapone
02.11.2010, 18:27
пассажирские и МВПС ходят по расписанию (иначе никто на них ездить не будет).
Тут не всё так просто. Я просто решил сделать траффик электричек по реальнмоу расписанию, так вот там есть обычные электрички, а есть экспрессы, которые за время следования обгоняют несколько обычных электричек. Также и с пассажирскими поездами.
Организовать обработку первых и вторых я могу, а вот сделать что-то большее - вряд-ли...
Ну тебе не надо разбивать их по приоритетам, главное сделать, чтобы поезд А можно было ставить под обгон поезда Б, и было бы неплохо чтобы можно было задать тип локомотива, как, например, в trigger check.
до того который мне нужен, но только через др. станцию.в этом случае решение следующее - относишь М1 и М3 к отдельному станционному контроллеру. В этом случае можно будет строить маршруты до них, но нельзя будет строить маршруты через них до следующей станции.
Ещё раз обращаю твое внимание, что речь идет о том, когда два поезда одновременно с разных сторон станции пытаются собрать себе входной маршрут!!!проверю. Если пойму, в чём дело, отпишусь.
Tram_, а зачем их использовать, если можно Sniff на них вешать?
Вот если можно было бы сказать светофору "слыш, тут лок третьего(второго) приоритета подъехал... Ты его не видишь, но перед ним тебя открыть надо" - вот тогда бы я бы прыгал от счастья...
ну хотя бы, чтобы sniff вешать... больше идеи никакие не приходят? (прочти еще раз свой пост)
NickLon, А разве "следовать к красному с подтяжкой в 8 метров" не использует именно возможность проверки "заступа"? Хотя нет, так как раз, наверное, просто расстояние до светофора берется. Ну, думаю это весьма полезная новость. А есть только заступ/отступ? Это перед светофором, а заезд за зону светофора? То есть оказаться сначала в зоне, а потом выйти из неё, есть такое?
как раз это и есть...
И ещё, хорошо бы было, если бы не до Trigger хххххх а до, М21 например.
Остальное попробую довести.
что мешает использовать имена светофоров без разыменования класса?
там все просто, Александр спецификации уже давно выложил...
в этом случае решение следующее - относишь М1 и М3 к отдельному станционному контроллеру. В этом случае можно будет строить маршруты до них, но нельзя будет строить маршруты через них до следующей станции.
То есть на обоих станциях необходимо все маневровые отнести к одному контроллеру, а поездные оставить на своих контроллерах?
То есть на обоих станциях необходимо все маневровые отнести к одному контроллеру, а поездные оставить на своих контроллерах?
Я, кстати, и поездные разных парков отнес к одному контроллеру, а то вот xPath не может понять, как мне объяснял TRam, что маршрут можно строить между разными станциями и без входного, ему обязательно нужен перегон между станциями. То бишь, если разные контроллеры (станции) то до входного строим маршрут.
То есть на обоих станциях необходимо все маневровые отнести к одному контроллеру, а поездные оставить на своих контроллерах?надо относить маневровые, отделяющие станцию от перегонов.
когда два поезда одновременно с разных сторон станции пытаются собрать себе входной маршрут!!!в общем, тут дело обстоит намного веселее, чем я ожидал.
В общем, поставил я 2 поезда, направил на станцию, они, так же, как и у тебя, поехали по жёлтому на один и тот же путь и стали друг возле друга.
НО! После того, как я решил узнать, что там в моём скрипте не так работает, добавил вывод имён стрелок в jetlog, поезда ни с того, ни с сего начали правильно разъезжаться... Я в недоумении... (баг испарился так же быстро как и появился ?)
что мешает использовать имена светофоров без разыменования класса?именами светофоров неудобно пользоваться, когда мы знаем только их количество в соупе, а нам надо показать их все (в различных списках, менюшках и т.п.). Вот я и сделал индексацию светофоров по номерам.
Не, я конечно мог сделать двойную индексацию (и по имени, и по номеру, как сделал для имён станционных контроллеров), но посчитал это лишним.
В результате для поиска светофора по базе надо перебрать все номера светофоров в базе, пока не дойдём до совпадающего имени. Делать это извращение в ПОДПИСИ К КОМАНДЕ, извольте, я делать не буду.
добавил вывод имён стрелок в jetlog, поезда ни с того, ни с сего начали правильно разъезжаться... Я в недоумении... (баг испарился так же быстро как и появился ?)
А когда ты убрал вывод имен стрелок в jetlog, что потом стало?
все номера светофоров в базе все номера светофоров данного станционного контроллера в базе
А когда ты убрал вывод имен стрелок в jetlog, что потом стало?сейчас коммитирую, посмотрим что будет...
нет, после убирания поезда всё равно разъезжаются... (типа анекдот - программист кричит "Ошибка, ошибка ! Куда ты подевалась? ")
И ещё, хорошо бы было, если бы не до Trigger хххххх а до, М21 например.что мешает использовать имена светофоров без разыменования класса?а, въехал... Совсем забыл, что тут можно применить Router.GetGameObject() . Всюду им пользовался, а тут не просёк :)
Это-то понятно, но можно ли таким способом ставить поезда под обгон автоматом, в зависимости от расстояния до обгоняющего поезда?в общем, предлагаемая реализация:
указывается триггер срабатывания
указывается минимальная дистанция между поездами, начиная с которой возможен обгон.
указывается "срабатывать при необходимости обгона" и "срабатывать когда нет необходимости обгона".
Алгоритм - при наезде поезда на триггер определяется расстояние между головным вагоном этого поезда и головным вагоном следующего поезда. Если приоритет наехавшего второй, а не едущего за ним - первый, то будет срабатывать необходимость обгона. В остальных случаях будет срабатывать отсутствие необходимости обгона.
(возможно, будет ссылка "не срабатывать, если поезд первого приоритета")
Применять с дочерней командой shedule at trackmark.
открою страшную тайну (а может и не открою, может все уже знают): светофоры z7 генерят служебные события заступа/отсупа в/из зоны светофора... только чета никто не программит эту фитчу
я заметил только сообщения типа
? 0:42.3 : ScriptLog> router message from 0032 '' to 0000 '', message ST_TRAIN.Enter, Н@Сидорово
системе маршрутизации на них ******, так как она завязана на стрелках, а не на светофорах :). В этом вся соль - вначале определяются направление перегонов по алгоритму наподобие
? 0:51.7 : ScriptLog> router message from 0034 'z7-xPath MainBase 1' to 0000 '', message SetSpanDirection, Н@Сидорово
? 0:51.7 : ScriptLog> router message from 0307 'Trigger 170' to 0000 '', message CTRL3, SpanDirectionChanged^Сух-Сид^Н@Сидорово
(предварительно тег privateStateEx через GetProperties() на неравность 1000, иначе, когда 0, переводить перегон не нужно )
затем рассматриваются узлы пересечений линий между светофорами (т.е. стрелки, у которых в базе есть поле "занят маршрутом №*", а все задаваемые маршруты имеют этот самый № (уникальный для всех маршрутов, поездных и маневровых))
DonCapone
03.11.2010, 05:30
Применять с дочерней командой shedule at trackmark.
Это получается, что придётся задавать команду машинисту? Надо как-то этого избежать, ведь если давать команду машинисту поезда игрока - могут случиться глюки в управлении.
Kompozitor
03.11.2010, 07:15
могут случиться глюки в управлении.
С ВЛ10-1628 может такое быть.
Это получается, что придётся задавать команду машинисту? Надо как-то этого избежать, ведь если давать команду машинисту поезда игрока - могут случиться глюки в управлении.для этого есть команда "движение до маркера" - даже если такая команда выполняется с ВЛ10-1628, то мы получаем только лёгкий скачок напряжения :)
ВЛ10-1628 ломается тогда, когда команды машинисту заканчиваются.
DonCapone
03.11.2010, 14:32
Всё равно, надо как-то обойтись правилом, а не командой. И вот ещё вопрос: можно ли как-то сменить приоритет поезда без задания команды машинисту?
Кстати, строителям порталов возможно будет полезно: обнаружил, что есть связь между глюками портала(выпускает обрубки по 3 вагона), и типом локомотива. Сначала я ипользовал для траффика ВЛ10 какую-то говнючую модель: независимо ни от каких параметров из портала выезжало 2 секии и 1 вагон, и останавливались! Никаких эрроров при этом портал не давал. Когда я воткнул в портал локомотив ВЛ11 с тем же составом - всё поехало.
Спасибо насчёт маневровых, помогло объединение на один контроллер. Да и поездные пришлось переименовать, чтобы на обоих станциях не было одинаковых литеров. И вот ещё. У меня на одной станции выходной не видел входной следующей станции, видел только маршрутные за ним. Помогло удаление маркеров z7 для переезда. Раньше такого не наблюдалось.
У меня на одной станции выходной не видел входной следующей станции, видел только маршрутные за ним.надо было поставить между маркером переезда и входным триггер. Тогда бы всё нашёл.
Всё равно, надо как-то обойтись правилом, а не командой.правило AddAnyPath
И вот ещё вопрос: можно ли как-то сменить приоритет поезда без задания команды машинисту?если поезд у тебя стоит, то выполнение каких-бы то нибыло команд машинисту не приведёт к его глюкам. А вот если поезд едет - тогда да, глюки ВЛ10-1628 и ему подобных возможны.
надо было поставить между маркером переезда и входным триггер. Тогда бы всё нашёл.
Буду знать. Хотя, если маркеры переезда поставить после инициализации маршрутов-работает без проблем. TRam, а правило удаления длинных маршрутов на маневровые как-нибудь влияет?
И ещё, для тех кто будет заниматься маневровой работой, в подтверждение слов TRam'a, маневровые маршруты, если они проходят через два и более сигналов, надо делать частями.
http://s006.radikal.ru/i214/1011/21/f304797b4f17.jpg (http://www.radikal.ru)
Локомотив стоит за М1, даём команду собрать маневровый маршрут на 4 путь. Маршрут собирается от сигнала М1 через НМ2 на 4 путь (по прямому направлению стр. 5). При начале движения от М1 по команде "Прицепиться к составу" съезд 5/7 переводиться набок, то есть по направлению к сигналу НМ1, съезд 9/11 остаётся в положении от НМ2. При подъезде к НМ1 машинист ругается на занятость пути (стр.11 не по маршруту). Если отдельно задать команды собрать маршруты от М1 до НМ2 и от НМ2 до Ч4-машинист прицепиться без вопросов.
Оригинальный вариант решения проблемы - задать команду (только одну) "движение до маневрового светофора Ч4". Машинист соберёт маршрут до Ч4 через НМ2 (при постройке маневровых маршрутов система старается прижаться к правой стороне, в отличие от поездных, которые строит начиная с самых левых) и доедет до Ч4. Тогда можно без боязни применять команду "Прицепиться к составу" (ну просто эта команда использует кривого дефолтного машиниста, который за стрелками не всегда видит состав)
Либо, если надо задать через НМ1, используем "движение до маневрового НМ1"+"движение до маневрового Ч4"
DonCapone
03.11.2010, 15:40
правило AddAnyPath
если поезд у тебя стоит, то выполнение каких-бы то нибыло команд машинисту не приведёт к его глюкам. А вот если поезд едет - тогда да, глюки ВЛ10-1628 и ему подобных возможны.
Ты что, издеваешься?
Устал я биться с этим глюкотроном... маршруты не находятся, не собираются, не разбираются, поезда не выполняют команды, выполняют, но всё равно ничего не работает, работает, но не правильно, едут не туда, и т.п. Короче остаётся только ждать лучших времён. :(
Устал я биться с этим глюкотроном... маршруты не находятся, не собираются, не разбираются, поезда не выполняют команды, выполняют, но всё равно ничего не работает, работает, но не правильно, едут не туда, и т.п. Короче остаётся только ждать лучших времён.глюкотроном он стал с того момента, как была введена поддержка длинных перегонов. В версии 0.8 да, маршруты не всегда разбираются.
Ну и напоследок - всё-таки выбил тот баг, который "пропадал". Теперь думаю о исправлении его последствий.
Ты что, издеваешься?с помощью данной системы можно поступить 2мя способами
а) как и раньше, игрок едет по правилам, боты едут по командам
б) и игрок, и боты едут по командам. (для контроля положения поезда игрока используется команда "ожидать наезда на маркер")
Понятно, что вариант 2 кажется "никаким", но тем не менее он есть, и тестировался.
Kompozitor
03.11.2010, 16:37
Сначала я ипользовал для траффика ВЛ10 какую-то говнючую модель: независимо ни от каких параметров из портала выезжало 2 секии и 1 вагон, и останавливались! Никаких эрроров при этом портал не давал. Когда я воткнул в портал локомотив ВЛ11 с тем же составом - всё поехало.
Проверь конфиги тяговых этих ВЛ10 и ВЛ11. Для чистоты эксперимента поставь им одинаковый MAX ACCELL, посмотри, что будет. И еще. Где-то есть модель ВЛ10, у которой в конфиге масса одной секции - 145 т. На разгон ботом влияет. Max Decell тоже проверь, если он мал, то могут быть проскакивания сигналов с ожиданием в 2 минуты.
И вот ещё вопрос: можно ли как-то сменить приоритет поезда без задания команды машинисту?
Поезду игрока? Если стоишь, проще всего в браузере. А напомнить об этом игроку можно с помощью того же "Мэйк ДСП спич".
Еще. Если едешь в локе, в котором кабина от ЧС4т или от ЧС8, можно просто переключить пакетник "АЛСН-без АЛСН". Это единственній способ переключить приоритет на таких кабинах - команды не работают.
Трафиковые ЧС7 точно проигнорируют эту команду по этой причине.
1.5
http://narod.ru/disk/26977554000/z7-xPath%20v1.5.rar.html
переделал подтверждение сборки маршрутов из правил, и добавил правило для определения дистанции до поезда 1 приоритета сзади (с возможностью выбора, либо что делать, если он есть, что делать кога его нет, или что делать, когда наш поезд сам 1 приоритета) - "Overtaking at trackside"
Состав команд окончательный, баги исправлены. Добавляю +2 суток :)
DonCapone
04.11.2010, 08:51
глюкотроном он стал с того момента, как была введена поддержка длинных перегонов. В версии 0.8 да, маршруты не всегда разбираются.
Дело, в общем-то, не в этом. Последней каплей стало вот что: после того, как я всё-таки добился нормального выезда поезда из портала, и последующего его движения, я увидел, что через какое-то время он останавливается, и стоит... просто стоит, посреди перегона, все светофоры впереди зелёные, машинист ничего не сообщает, просто стоит. Я посмотрел, как он выполняет команды: оказалось он их вообще не выполняет - в списке стоит команда "задать маршрут приоритета", и не выполняется. Я пробовал ставить новую команду, пробовал заменять, убирал команду. Далее шла "следовать до красного по уадлению 3 км", она тоже не выполнялась, просто тупо стояла в очереди(до красного было больше 3км). И только когда я задал STW Drive поезд наконец поехал. Но, естественно, далеко он не уехал - до первого красного. Выяснять причины такого безобразного поведения машиниста я уже не стал, и забил.
Далее шла "следовать до красного по уадлению 3 км", она тоже не выполнялась, просто тупо стояла в очереди(до красного было больше 3км).она должна была выполниться через 1-2 секунды, даже если ничего впереди себя не видит.
"задать маршрут приоритета", и не выполняетсякоманда "близорука", она не видит светофоров на очень длинных перегонах. Надо было "задать маршрут за красным" использовать.
Всем доброго времени суток и с праздником! TRam, вопрос такой, подскажи в каких файлах провести изменения, чтобы браузер поездных маршрутов примерно в 1,5 раза стал шире, при этом маневровый браузер так же оставался приклеен к нему (как не шаманил-поездной перекрывает маневровый). Получиилось так, что после того, как переименовал сигналы литеры стали из 4-5 букв, и при открытии маршрутов за каким-либо сигналом-все названия делятся по пополам, на двух строчках. Просматривать не удобно. И ещё... где поменять цвет шрифта, у меня зимняя карта и не всегда видно текст на фоне снега. Заранее благодарен.
при этом маневровый браузер так же оставался приклеен к немук сожалению, там ничего не приклеевается - надо вручную менять координаты узлов окна. В основоном браузере
VDB.SetWindowRect(50, 50, 300, 400);
левый верхний x,y - правый нижний x,y
на строках 144 и 391
В маневровом - строки
VDB.SetWindowRect(300, 50, 500, 400);
№ 671 и 847
Соответственно меняешь координату X=300 у них синхронно
А вот насчёт цвета - не знаю... Там выставлен чёрный цвет, видно надо в свойствах таблиц менять, но как - я не помню
DonCapone
05.11.2010, 05:00
она должна была выполниться через 1-2 секунды, даже если ничего впереди себя не видит.
Ни через 1, ни через 2, ни через 30 и более она так и не сработала.
команда "близорука", она не видит светофоров на очень длинных перегонах. Надо было "задать маршрут за красным" использовать.
Поезд встал после выезда со станции Толстопальцево, перегон Толстопальцево-Лесной городок. По-моему не очень длинный.
Главный кусок описания готов. http://trainz.org.ru/mediawiki/index.php/Z7-xPath
Прочитал статью-узнал много нового. Только вот одно уточнение. При групповых повторительный надо ставить между невидимым маршрутным и групповым светофором, иначе зелёный огонь на повторительном будет сигнализировать об открытом невидимом, хотя в это время основной групповой будет закрыт. И ещё, это скорее относиться не сюда, зелёная цифра на маршрутном указателе из далека похожа на белую (на расстоянии ~100 м). Это можно как-нибудь исправить?
И ещё, это скорее относиться не сюда, зелёная цифра на маршрутном указателе из далека похожа на белую (на расстоянии ~100 м). Это можно как-нибудь исправить?это к автору сигналки...
При групповых повторительный надо ставить между невидимым маршрутным и групповым светофором, иначе зелёный огонь на повторительном будет сигнализировать об открытом невидимомнормальное состояние невидимого - "закрытое". Так что повторительный, который не всегда может находить светофоры за стрелками, надо ставить именно перед невидимым, а маршрут собирать вначале от группового а затем от невидимого до группового. (на скрине повторительный просто сглючил, зелёного на нём быть не должно)
На автоматическом выборе маршрута, естественно, в этом случае лучше применять "открыть маршрут за красным светофором"+"ждать 1 секунду"+"открыть маршрут за красным светофором"
команда "близорука", она не видит светофоров на очень длинных перегонах. Надо было "задать маршрут за красным" использовать.
В 1.5 по сравнению с 1.4 ничего не изменилось, как я вижу? Я о эээ, как бы это назвать, о скрещении поездов по станции на однопутном участке, когда на станции ещё нет ни одного поезда и маршрут им собирается друг на друга на один путь, что ли.
Ни одна команда не работает как надо - или виснет ("задать маршрут приоритета...") или собирает на главный, на который уже собран маршрут с обратной стороны ("подготовить маршрут за красным...", "задать маршрут за красным...").
Эта ложка дегтя может испортить всю бочку меда.:(
А что означает эта ошибка?
Thread Exception:ER_NullReference, line 71, filebehaviour.gs
Stack dump:
function $void@xPathAddAnyPath::WaitTime1(), line-1
Решил набросать примитивнейший "маршрут" для теста с бела, что называется, так в режиме машиниста вылазит это. В режиме редактора - ничего.
Ни одна команда не работает как надо - или виснет ("задать маршрут приоритета...")ну так поставь путям разные приоритеты. У меня поезда 2 часа бегали по карте с 4 станциями и однопутками между ними, используя только "задать маршрут за красным..."+"ждать 1 секунду"+"подготовить маршрут за красным"+"ехать до красного до 8 м"+"ждать не красного"+"ехать до красного до 8 м" . Также, думаю, у тебя нет ожидания в 1 секунду в начале (оно обязательно, иначе команды не смогут подключиться к системе маршрутизации)
А что означает эта ошибка?то, что ты не указал вагон поезда, который будет строить маршрут. Либо что задержки перед включением правила нет.
Что означает ""...вагон поезда, который будет строить маршрут"? Я, наверное, что-то серьёзное пропустил за выходные, коль вагоны поезда строят маршруты.
Я, наверное, что-то серьёзное пропустил за выходные, коль вагоны поезда строят маршруты.первый вагон поезда ищет впереди себя светофор и строит от этого светофора маршрут. В xPathAddAnyPath надо указать любой вагон поезда, по этому вагону будет определён поезд, а у поезда будет определён передний вагон.
Так, ну про "первый вагон поезда" я несколько погорячился. Я это правило ещё не рассматривал и в предыдущих версиях, сообразив, (или ты мне подсказал - не помню уже) я убрал его из списка правил.
"ну так поставь путям разные приоритеты" Ой, я вас умоляю! Если вы скажете, что и в Одессе все дебилы, то я таки на вас обижусь...
А вот это уже шедеврально:
используя только "задать маршрут за красным..."+"ждать 1 секунду"+"подготовить маршрут за красным"+"ехать до красного до 8 м"+"ждать не красного"+"ехать до красного до 8 м" .
Доожили. Это ты для того, всё это писал (код, я имею ввиду), для того я свой ноут чуть не угробил в порыве злости, чтобы в итоге получить вот это - "ехать до красного до 8 м" ...
Давай я тебе расскажу как Я вижу эту схему, что ты предложил... Расслабились в кресле и читаем...
"задать маршрут за красным"
Ну да, типа, на отправление со станции... Катит. Работает.
"подготовить маршрут за красным"
Упс! Я думал, что мы перед прошлой командой перед выходным на станции, от которой начинаем движение... Ну да ладно. Тогда, если первое было перед входным - вроде всё сходится.
"ехать до красного до 8 м"
А вот и шедевр! Если мы не знаем, есть ли у нас встречный или нет, как ты думаешь, где будет красный если его нет? А если он есть? Как ты одно и тоже даёшь для двух случаев поездной ситуации!?
Да и вообще, твоя цепочка "ехать до красного до 8 м" выглядит как порнография. Ага, приехали к входному, остановились, жахнули его в дёсны - собрали себе маршрут на вход - поехали. А там ещё один "ехать до красного 8 м"... Мы так обжахаемся.
Насколько я понял, ехать до красного до 8м означает, что мы едем в парк (на станцию), и мы заранее знаем, что у нас впереди - красный! А для транзитов это не годится! И вместо того, чтобы разобраться почему в стек ставятся два маршрута на один и тот же путь, ты выдумываешь какую-то тарабарщину, при этом, потратив на неё уйму времени!
В общем, TRam, работать и работать ещё!.. Ну, а у ж мы поможем...
А вот и шедевр! Если мы не знаем, есть ли у нас встречный или нет, как ты думаешь, где будет красный если его нет? А если он есть?а если красного нет, то команда schedule at trackside его обрубит (или по крайней мере забросит в конец расписания)
Созал проверочную сессию - да, в режиме "быстрого машиниста" глюки есть - команда "задать маршрут за красным..." отрабатывается даже если все пути заняты, в результате возникают глюки. Запустил сессию напрямую - в течении 80 минут тестил, к браузеру ДСП не притрагивался - и "ни единого разрыва". Так что это аурановцам надо скриптовый движок перепиливать, раз он по-разному работает в разных режимах :(
И вместо того, чтобы разобраться почему в стек ставятся два маршрута на один и тот же путьразобрался. Ответ в предыдущем абзаце. И не тарабарщину, а описываю тестировочную сессию.
Алгоритм следующий - ставим перед предвходным триггер (чтобы задний поезд не пытался собирать маршрут пока передний его не построит), на триггер вешаем "schedule at trackside" c указанным расписанием.
"задать маршрут за красным..." - открываем входной, пока входной не открылся, стоим, ждём освобождения путей (если таковое невозможно (пробка) надо уменьшить частоту генерации поездов порталами)
"ждать 1 секунду" - чтоб входной успел открыться
"подготовить маршрут за красным" - находим выходной и добавляем в стек открытие с него маршрута
"ехать до красного до 8 м" - если выходной закрыт, доезжаем до выходного. (если открыт, доезжаем до следующего триггера)
"ждать не красного"+"ехать до красного до 8 м" - соотвественно добавок, если выходной закрыт.
Так что всё логично.
думал, что мы перед прошлой командой перед выходным на станции, от которой начинаем движениедля отправления достаточно пары команд - "задать маршрут приоритета" и "движение до красного"
Вообще "задать маршрут приоритета" надо пользоваться тогда, когда не уверены, открыт ли следующий светофор или нет (если открыт, команда пропускается). "задать маршрут за красным..." будет жать до тех пор, пока светофор, который она нашла, не откроется.
"задать маршрут за красным..." будет жать до тех пор, пока светофор, который она нашла, не откроется. в смысле поезд будет стоять, пока светофор не откроется
Проверочная сессия тут http://ifolder.ru/20180990
Недостающие куиды скажите, залью.
"Задать маршрут за красным" - это я понял. при отправлении применяется, а "Подготовить маршрут за красным" дается в движении, я правильно понял?
Теперь по поводу твоего алгоритма.
Почему это перед предвходным мы только очухались, что надо входной на станции открыть? Поздновато вообще-то. Тогда у нас предвходной будет Ж и бот будет перед ним тормозить. Вообще-то и игрок должен сбросить скорость до 60-ти, а не нестись в надежде, что вот-вот он сменит сигнал на З. Если перед перд-предвходным ставить триггер, тогда "задать маршрут за красным" если входной не откроется сразу, остановит нам поезд на перегоне (и вовсе не обязательно, что все пути заняты - маневровый замешкался с маневрами по горловине, заканчивает маневр, за что, кстати ДСП получит люлей хороших). Это уже нонсенс - стоять перед зеленым проходным посреди перегона; в таком случае нужно продолжать движение до входного. Поэтому здесь только "Задать маршрут приоритета" ну или "подготовить маршрут за красным".
Кстати, я ставлю маркер, а не триггер, потому как он имеет направление - в обратную сторону мне не надо собирать маршрут за хвостом. Номинально и триггер имеет направление, но это только номинально: срабатывает и туда и сюда. В Т6 по крайней мере так было, здесь ещё не пробовал.
"ждать 1 секунду" хм, у меня входной за 1 секунду в некоторых случаях не успевает открываться. Помнишь, я ещё вопил, что на некоторых станциях собрать маршрут выходной поезд не может? Так это вот из-за тормознутости открытия входного. Среднее значение у меня получалось 16 сек. Но если поставить 16 сек, то за это время существенно снизится скорость.
"подготовить маршрут за красным" - находим выходной и добавляем в стек открытие с него маршрута
А если к этому моменту входной так и не открылся?
"ехать до красного до 8 м" - если выходной закрыт, доезжаем до выходного. (если открыт, доезжаем до следующего триггера)
... Брр, что-то я совсем запутался. Интересно, а как это у тебя работает? Ведь при срабатывании правила SheduleAtTrackmark там есть опция ... А, так у тебя shedule at trackside. А это что за зверь?.. В общем, надо смотреть пример, а то уже получается глухой со слепым пытается разговаривать...
Недостающие куиды скажите, залью.
К маршруту:
<kuid:150399:60001>,<kuid:150399:60002>,<kuid:150399:60003>,<kuid:354170:6239>,<kuid:406066:100121>
А, так у тебя shedule at trackside.не, SheduleAtTrackmark, всё правильно.
По поводу куидов- сейчас народ.ру, куда я всё загружал, не работает, (траффик у меня платный) так что позаменяй
на ЧМЭ3 <kuid:354170:6239>
на думпкары (или любые другие вагоны) <kuid:406066:100121>
остальные <kuid:150399:60001>,<kuid:150399:60002>,<kuid:1503 99:60003> http://ifolder.ru/20184051
Если перед перд-предвходным ставить триггер, тогда "задать маршрут за красным" если входной не откроется сразу, остановит нам поезд на перегоне (и вовсе не обязательно, что все пути заняты - маневровый замешкался с маневрами по горловине, заканчивает маневр, за что, кстати ДСП получит люлей хороших). Это уже нонсенс - стоять перед зеленым проходным посреди перегона; в таком случае нужно продолжать движение до входного.в этом случае нужна вторая очередь на ожидание открытия входного. А в трс на каждого машиниста выдаётся один поток, поэтому дожидаться открытия входного всё равно кому-то надо. Это же лучше, чем машинист будет подъезжать к красному и только потом открывать маршрут.
Так это вот из-за тормознутости открытия входного. Среднее значение у меня получалось 16 сек. Но если поставить 16 сек, то за это время существенно снизится скорость."ждать 1 секунду" переводит управление в "управление из кабины", состав тормозит несильно.
Проверочная сессия тут
http://s010.radikal.ru/i312/1011/ec/e0b3c14a33aet.jpg (http://radikal.ru/F/s010.radikal.ru/i312/1011/ec/e0b3c14a33ae.jpg.html)
Думаю, из скрина всё понятно. И никакие не 2 часа, а 40 минут продержалось всего.
Я просто хочу сказать, что проблема, о которой я тебе уже который день толкую - системная! И без её решения z7-xPath никуда не годится.:(
Думаю, из скрина всё понятно. И никакие не 2 часа, а 40 минут продержалось всего.на скрине самая настоящая пробка. Поставь время выхода поездов из порталов в 5 минут хотя бы - ведь такую ситуацию, как здесь, и реальному диспетчеру разрулить чрезвычайно сложно: с той стороны станции подъезжает второй состав, отсаживать уже некуда).
Да, ты из "быстрого машиниста" запускал? Если да, то попробуй напрямую.
на скрине самая настоящая пробка. Поставь время выхода поездов из порталов в 5 минут хотя бы - ведь такую ситуацию, как здесь, и реальному диспетчеру разрулить чрезвычайно сложно: с той стороны станции подъезжает второй состав, отсаживать уже некуда).
Да, ты из "быстрого машиниста" запускал? Если да, то попробуй напрямую.
Нет, не из быстрого машиниста, напрямую.
Причем тут пробка!? Ты посмотри на маршруты в стеке! А на скрине это уже тогда, когда я заметил, что "воон там что-то не то" и поскакал туда. А сначала два поезда не разъехались. Чмуха на боковом только-только прибыла. И из порталов у меня поезда выходят через 5 минут - чаще действительно будет коллапс.
Я вот попробую ещё на другой версии TS2010 погонять, может что с этой...
У меня несколько вопросов:
1.Будка не видит несколько контроллеров.
2.Как узнать какой светофор пропущен.
3.При каждом заходе в симулятор(TS 2010 сб.44088) самопереименовываются некоторые светофоры,одни и теже. Возвращаю им прежние названия,пока не вышел всё ок.
P.S. Карта "Москва-Малоярославец"
1.Будка не видит несколько контроллеров.она их и не должна видеть - главное чтоб увидела все контроллеры, которым назначена станция (не перегон)
2.Как узнать какой светофор пропущен.если известно, что пропущена вся станция, то входной этой станции. Если от входного строится маршрут сразу до входного следующей станции - значит выходной.
3.При каждом заходе в симулятор(TS 2010 сб.44088) самопереименовываются некоторые светофоры,одни и теже. Возвращаю им прежние названия,пока не вышел всё ок.нажми для сохранения "save as" и выбирай "save route and session"
Цитата:
3.При каждом заходе в симулятор(TS 2010 сб.44088) самопереименовываются некоторые светофоры,одни и теже. Возвращаю им прежние названия,пока не вышел всё ок.
нажми для сохранения "save as" и выбирай "save route and session"
Не помогает...
MacSergey
11.01.2011, 20:58
Здравствуйте, помогите понять как работать с этим.
Вот я все настроил, даю боту команду собрать маршрут, он собирается, стрелки переключаются, зеленый загорается. А как это все автоматизировать? что бы я ему сказал "езжай вон туда (к такому то маркеру), но только по маршрутам с приоритетам, например от 0 до 2" и он бы сам ехал бы и прокладывал маршруты от светофора к светофору.
P.S. Карта с примером у меня не открывается, щелкаю по ней а он говорит "карта не выбрана, вернитесь с меню и выберете карту.
Kompozitor
11.01.2011, 21:31
P.S. Карта с примером у меня не открывается, щелкаю по ней а он говорит "карта не выбрана, вернитесь с меню и выберете карту.
Какой у тебя билд ТРС? Если 49953, то исправь в конфигах карты и сессии тэги "trainz build" с 3.3 на 3.2. Затем закоммить и сохрани в CDP карту и сессию. Затем удали их из CMP и установи из сохранённых.
Сколько по времени(приблизительно) должны просчитываться маршруты станции.
Я просчитывал Москва пас Киевский вкз(нажал "+" у станции,потом обновить окно,
выскочило 36% и процесс завял.
P.S. Я решил проблемку:
[QUOTE=tolrum;231760]Цитата:
При каждом заходе в симулятор(TS 2010 сб.44088) самопереименовываются некоторые светофоры,одни и теже. Возвращаю им прежние названия,пока не вышел всё ок. QUOTE]
Может кому то будет интересно:удаляем самопереименовывающийся светофор, и тутже ставим такойже, называем его по другому,обязательно латиницей.
MacSergey
11.01.2011, 21:58
Какой у тебя билд ТРС? Если 49953, то исправь в конфигах карты и сессии тэги "trainz build" с 3.3 на 3.2. Затем закоммить и сохрани в CDP карту и сессию. Затем удали их из CMP и установи из сохранённых.
спасибо, помогло. что-то понял) но все же мой предыдущий вопрос остается в силе.
А как это все автоматизировать? что бы я ему сказал "езжай вон туда (к такому то маркеру), но только по маршрутам с приоритетам, например от 0 до 2" и он бы сам ехал бы и прокладывал маршруты от светофора к светофору. Теоретически можно парами команд "xPath autodrive until not red"+"z7-xPath any possible for closed", но пока это глючит. Так что правилом check trackmark и сдвинутым под ним z7-xPath AddPath.
MacSergey
11.01.2011, 22:16
хмм, немного не допонял. check trackmark - это надо указыать маркер к которому надо ехать или ставить в начале пути поезда маркер, наезжая на который будет собираться маршрут? можно поподробнее, пожалуйста. и еще , у меня check trackmark, половина названий правил переведена на русский, как оно может называться? проверить триггер?
MacSergey
11.01.2011, 22:28
delete
проверить триггер?"Проверять путевые объекты" -"Check Trackside"
Кто нибудь, подскажите, как правильно расставить светофоры на конечной станции с тупиками.
У меня входной всегда красный и не переключается и один из выходных со станции не расчитывает маршрут.
Спасибо заранее.
Проверь стрелки на соответствие всем трём требованиям, предьявляемым к леверам.
На тупиковых станциях в конце каждого пути приёма надо ставить маневровый с красной линзой.
К проверочной сессии не хватает: <kuid:400260:61039>
Итак, версия 2.0 ... http://rghost.ru/4679321
Внешних отличий от версии 1.5а нет, но зато "суть" замыкания маршрута переработана почти с нуля. Больше нету "потоков" маршрутов, а есть их список, который периодически обновляется. Заложена возможность сохранения прохождения сессии, если не выполняются маневровые передвижения, но это оттестировать не смог - билд 45607 почему-то делает сохранки очень криво.
Из внешних отличий - теперь несколько поездов, одновременно пытающихся заехать на перегон, будут отправляться в случайном порядке (это не делалось специально :) ), при каждой следующей загрузке сессии по разному (в предыдущих версиях это почему-то не происходило - поезда отправлялись всегда в определённом поряке).
Система прошла трёхчасовой тест по автоматическому разруливанию движения на участке БАМа Хани-Новая Чара.
Версию 2.4 можно скачать тут http://trainzup.com/?p=1892
Что может:
движение поездов по однопутке (первый прибывающий на станцию поезд становится на боковой путь)
разборка поездов на сортировочной горке
движение поездов по двухпутке с постановкой под обгон грузовых поездов
возможность работать на станциях большой сложности
маневровая работа (постройка маневрового маршрута производится только через свободные стрелки)
Описание по установке и настройке тут
http://trainz.org.ru/mediawiki/index.php/Z7-xPath
Версия 3 (баг с маневровым браузером в ts2010 исправлен) пока тут
http://ifolder.ru/24783107
Чето у меня не сохраняются расставленные приоритеты маршрутов ((((
а в каком слое у тебя будка? Мож в слое маршрута?
Привет, Трам ) Не спится )) Только что прочитал на другом форуме, залез исправлять )
у нас в Киеве -2 часа, т.е. 12 ровно :)
Вот оно че ))) А я последние три ночи подсел на настройку xpatch... Полностью переделал сигналку на карте Астрово-Токово, вот терь пытаюсь сваять бесконечную сессию
в этом деле когда-то преуспел NickLon, его бесконечная сессия тут если что - http://forum.trainzup.net/showthread.php?t=1364&page=1
подскажите как задать маневровый маршрут, если он проходит через отрезки пути, на которых отсутствуют сигналы?
"нормально" путь задается от светофора до светофора, но например, для заезда/выезда из вытяжного тупика светофоров может не быть.
мне нужно запустить лок чтобы он прицепился к составу на занятом пути
какую команду лучше применять, z7-xPath AddShuntPath или Autodrive to trackmark вместе с Autocouple to vehicle ?
Тайшет ВСЖД
07.02.2012, 16:21
Для сцепки с составом лучше применять команду "маневрировать к " из ботомашиниста - там есть выбор - на свободный или занятый путь, а далее "сцепка с составом" из того же набора команд ботомашиниста.
Для сцепки с составом лучше применять команду "маневрировать к " из ботомашиниста - там есть выбор - на свободный или занятый путь, а далее "сцепка с составом" из того же набора команд ботомашиниста.
и AddPath при этом не нужен?
а если путь бота для маневров пересекает другой маршрут уже собранный ?
Добавлено через 9 минут
движение поездов по однопутке (первый прибывающий на станцию поезд становится на боковой путь)
движение по однопутке с автоматическим "разведенеим" встречных траффиков не заработало, даже после твоего вчерашнего исправления.
ситуация такая - станции А->Б->В , из А и В навстречу стартуют поезда и должны разъехаться на Б.
что происходит : если раньше сформировался маршрут A->Б->В, то поезд из В->Б->А не стартует вообще (ему красный, маршрут не готов)
или наоборот, в зависимости от того какой маршрут собрался первым
пришлось выкрутиться и разбить маршрут на два коротких:
1) от Ч1 станции А до Ч2 станции Б, там ждем красный
2) от Н1 В -> Н1 Б и далее Н1 А (встречный траффик)
3) после того как траффик проехал, запускаем продолжение маршрута по триггеру времени: Ч2 Б -> Ч В и далее
мда, это покруче МСТС с его невидимками и прочими извратами. по крайней мере сборка маршрутов похожа на реальную работу движенца
awaken, для автоматического разъезда надо почти то же что ты сказал, только чуть изменить.
1) игроку от Ч1 А до Ч2 Б + боту Н1 В -> Н1 Б
2) через некоторое время (когда обоим откроются маршруты) от Ч2 Б до Ч В и от Н1 Б до Н В
при этом неизвестно, кто из них станет под красный (т.е. может быть такое, что игрок будет обгонять по боковому). А вот чтоб на отклонение шёл именно тот, кто быстрее прибудет на станцию, надо расставлять приоритеты и пользоваться командами сборам маршрутов приоритетов * и правилом addAnyPath
Тайшет ВСЖД
07.02.2012, 20:58
и AddPath при этом не нужен?
а если путь бота для маневров пересекает другой маршрут уже собранный ?
Если маневровый маршрут будет пытаться построится по занятым участкам, то он встанет в очередь. Как только ранее построеный поездной или маневровый маршрут будет разобран, соберётся обязательно =). Не забывай при маневрах для смены направления лока использовать команду z7 turn train.
Add path - я так понял, это заранее в редакторе задаешь маршрут, и локу потом нужно указать лишь маркеры для стоянок. Но бесконечную сессию на этом не построить.
А вот addanypath, я не в курсе, что это такое и с чем его есть
А вот чтоб на отклонение шёл именно тот, кто быстрее прибудет на станцию, надо расставлять приоритеты и пользоваться командами сборам маршрутов приоритетов * и правилом addAnyPath
пример бы показал, как пользоваться этими приоритетами
например, как будет влиять приоритет "грузовой/пассажирский" на выбор пути приема
Не всегда разворачивается перегон на однопутке и иногда не выполняется предоткрытие при собранном маршруте... ((
патч на разворот перегона - http://narod.ru/disk/40000356001/xPath%20v3.2x.cdp.html
а невыполнение предоткрытия - это баги самой сигналки. Маршруты надо открывать когда поезд вблизи станции, тогда вероятность этого уменьшается.
3.2 сёдня скачал. А предоткрытие не происходит только на некоторых определенных светофорах, причем пробовал и через команду задать на проход и на прием и через команды дсп, даже когда поезд уже у входного, пока в свойствах светофора не откроешь, эффекта не будет. Завтра гляну, может правда только определенный тип светофора косячит... Ток щас мысль пришла, предоткрытие не происходит только на входных...
В общем-то переустановка светофоров в проблемных местах и перенастройка x-patch решила проблему.... )
только xPath. Крест-Маршрут :) .
только xPath. Крест-Маршрут :) .
а x-patch это патч к xPath :-)
зы. вообще-то xpath это язык запросов в xml-документе, но тут P большая
полное название - z7-xPath system . Система управления пересекающимися маршрутами для сигнализации z7.
Вова, не могу достучаться в аське. Прошу совета по организации движения
я отправляю несколько поездов друг за другом
1) по времени задаю команду "Задать маршрут за закрытый светофор"
и так далее второму,третьему четвертому поезду. Если блок-участок за выходным занят, маршрут ставится в очередь и выходной открывается когда освободится, вроде так и должно быть.
Они едут (вроде). но иногда "залипают" и не едут несмотря на открытый сигнал. хз с чем это связано, может бот не всегда реагирует на команду движения.
2) перед следующей станцией, чтоб пропустить на проход, я воткнул триггер (перед предвходным) , в котором задано две команды - "задать маршрут до закр.сигнала" (с повтором 2 раза)
почему-то она срабатывает только для первого поезда, а следующему за ним входной красный.
далее чтоб не задавать все это вручную, я хочу засунуть команды эти в Schedule Library, чтобы по проезду триггера эти команды добавлялись текущему поезду через Copy Commands
методика вообще правильная или в ней есть изъяны?
попробуй вместо "Задать маршрут за закрытый светофор" использовать "Задать маршрут от закрытого светофора", с опицией "на вход/выход". В первой используется дефолтный бот, он может ошибаться.
далее чтоб не задавать все это вручную, я хочу засунуть команды эти в Schedule Libraryверно
почему-то она срабатывает только для первого поезда, а следующему за ним входной красныйпопробуй увеличить интервал между поездами, интересно узнать это само исправится или нет.
awaken, для автоматического разъезда надо почти то же что ты сказал, только чуть изменить.
1) игроку от Ч1 А до Ч2 Б + боту Н1 В -> Н1 Б
2) через некоторое время (когда обоим откроются маршруты) от Ч2 Б до Ч В и от Н1 Б до Н В
при этом неизвестно, кто из них станет под красный (т.е. может быть такое, что игрок будет обгонять по боковому). А вот чтоб на отклонение шёл именно тот, кто быстрее прибудет на станцию, надо расставлять приоритеты и пользоваться командами сборам маршрутов приоритетов * и правилом addAnyPath
сделал вот так:
перед разъездом с двух сторон стоят маркеры (перед предвходным светофором), задающие правила AddAnyPath (с приоритетом 0-20 т.е. все по умолчанию)
но результат немного не тот что я ожидал - первый кто прибывает, становится на главный путь. а второй пропускается с отклонением по боковому (должно быть все наоборот)
есть команда , которая делает то что нужно:
"z7-xPath na vhod
Применяется на однопутных разъедах, проверяет свободность перегона "через один" светофор, и далее работает так же как и z7-xPath any possible for closed, но в случае неверного направления перегона не собирает маршрут на главный путь (если выбрана опция "или главный") либо собирает маршруты приоритета на 1 меньше заданного (если выбрана опция "только указанных").
Название в меню: "Задать на приём ""
но это команда а не правило, ее нельзя задать поезду под управлением игрока, если я правильно понимаю . хотелось бы то же самое но в виде правила
awaken, если мне не изменяет память, то есть правило для обгона.
Тайшет ВСЖД
17.02.2012, 13:26
Возникли тут пару идеек -
1. Было бы неплохо, если бы встречный бот сигналил при приближении к игроку метров за 100-200. Можно ли такое реализовать? Например, сделать невидимый путь и ложить его на рельсы, чтобы бот узнавал расстояние до встречного.
2. У триггера ограничения скорости тоже можно добавить функцию "свистка" (в виде галки). Ведь триггер ставится на поворотах и поезд должен предупреждать сигналом, особенно если ограниченная видимость. А чтобы бот не сигналил на триггерах, которые на стрелочных переводах (например в Москва киевская), так как там небольшие скоростя, установить условие чтобы подавал сигнал если скорость была более 50 км
проще всего сделать свистки на стационарных местах - мосты , переезды, при подходе к станции, привязав к trackside event
вряд ли есть функция вычисления расстояния между поездами :-)
(именно между поездами, ибо игрок может находиться не в поезде а где угодно со свободной камерой)
Добавлено через 21 минуту
кто0-нибудь с маневровым режимом z7-xPath разбирался?
я задал маневровый маршрут (AddShuntPath) , светофоры не открываются (горят синим).
но по факту маршрут собрался, т.к. я еду по стрелкам и нужные стрелки переключены куда надо . в чем может быть дело, недоинициализировано что-то в процессе настройки z7-xPath ?
2. У триггера ограничения скорости тоже можно добавить функцию "свистка" (в виде галки).
Где то я видел знак "С" при его проезде бот свистит, а поезд под управлением игрока - нет, тоесть игрок сам должен свистнуть
Где то я видел знак "С" при его проезде бот свистит, а поезд под управлением игрока - нет, тоесть игрок сам должен свистнуть
Вот этот знак http://trainzup.com/?p=3544. В самом низу.
кто0-нибудь с маневровым режимом z7-xPath разбирался?
я задал маневровый маршрут (AddShuntPath) , светофоры не открываются (горят синим).
но по факту маршрут собрался, т.к. я еду по стрелкам и нужные стрелки переключены куда надо . в чем может быть дело, недоинициализировано что-то в процессе настройки z7-xPath ?
А там всё проще простого. Перевиди поезд в 3 приоритет.
Вот этот знак http://trainzup.com/?p=3544. В самом низу.
А там всё проще простого. Перевиди поезд в 3 приоритет.
проверим.
а что означает галочка "развернуть локомотив" в свойствах маневрового маршрута?
то что я думаю - это значит собрать маршрут в сторону , противоположную "дефолтному" (начальному) положению кабины лока ?
например - у меня установлен лок игрока 2ТЭ10М А+Б,
в игре установлена по умолчанию кабина А, но мне нужно собрать маршрут чтоб ехать назад (кабиной Б вперед)
Для двухсекционных (или односекционных, но без возможности переключения Alt+C), в которых сидит игрок, эта галочка не действует. Она аналогична команде z7 turntrain. В редакторе же направление поезда показывается зелёной и красной стрелками.
Для двухсекционных необходимо ждать, пока пользователь перелезет в нужную секцию и выберет вид из кабины. Можно например использовать wait for camera
Для двухсекционных (или односекционных, но без возможности переключения Alt+C), в которых сидит игрок, эта галочка не действует. Она аналогична команде z7 turntrain. В редакторе же направление поезда показывается зелёной и красной стрелками.
Для двухсекционных необходимо ждать, пока пользователь перелезет в нужную секцию и выберет вид из кабины. Можно например использовать wait for camera
то есть можно на эту галку забить? все равно переключение кабин в скриптованном 2тэ10м это не две кнопки на клавиатуре нажать - там целый ритуал с 367 блокировкой , кранами и реверсором
Столкнулся с такой проблемой:
Маршрут составляется правильно(т.е. леверы в нужное положение переводятся),а выходной так и не открывается...Не знаю как решить,что уже только и не пробовал...результат нулевой.
Перегон во встречном направлении? Развернуть пробовал?
ПС. Не нашел в какую тему запульнуть вопрос...
При загрузке сохраненной сессии пропадает одна стрелка, в смысле сам левер становится красным. Уже и стрелку переставлял, и менял на другую, эффект тот же. Че делать? )
Маршрут составляется правильно(т.е. леверы в нужное положение переводятся),а выходной так и не открываетсяа в перегонном контроллере какое направление перегона (в смысле с undef0 на чётное или нечётное)?
Развернуть пробовал?система сама разворачивает перегон, если этот перегон правильно настроен.
При загрузке сохраненной сессии пропадает одна стрелка, в смысле сам левер становится красным.может стрелка в слое сессии? Переставь её в слой маршрута и перезапиши маршрут под своим куидом.
разбираю правила для обгона
http://trainz.org.ru/mediawiki/index.php/Z7-xPath
скажем, ехал поезд, наехал на маркер, если сзади есть поезд с более высоким приоритетом , то ставить под обгон, если нет, то на пропуск
разбираем команды с зелеными кружочками
настройка правил на пропуск - вроде понятно
1) задать маршрут приоритета (не менее 0, не более 20, или главного ) - эта команда открывает входной светофор станции (xPath Any)
2) задать маршрут от закрытого светофора приоритета (не менее 0, не более 20, или главного ) - эта команда открывает выходной светофор (xPath Any 2)
я так понимаю что после проследования выходного она "сбрасывается" в выполнено , поэтому нужна еще одна команда
3) движение до красного, по удалению 3 км (xPath auto) -эта команда дает задание поезду ехать дальше по перегону до следующего входного красного (или пока не наедет на маркер , запускающий новую цепочку тех же самых команд )
настройка правил на пропуск
1) задать маршрут приоритета (не менее 0, не более 20, или главного ) - эта команда открывает входной светофор станции (xPath Any)
-то же как в первом случае
2) движение до красного, со остановкой 5 м от - эта команда протягивает поезд до закрытого выходного с остановкой
3) ожидание (не знаю сколько, например 10 мин - не менее чем время, нужное обгоняющему поезду чтобы добраться до разъезда)
4) задать маршрут приоритета ... xPath Any
5) задать маршрут от закрытого светофора .. xPath Any2
6) продолжать движение по перегону до следующего красного с удалением 3км ... xPath auto
по моему одна из команд 4) или 5) лишняя , ведь по сути они делают то же самое - открывают выходной (или точнее ставят команду на открытие в очередь ). зачем 2 раза это делать? но в примере по ссылке именно так
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot