Страница 1 из 1

"Магическая" кнопка для авторасстановки по расписанию

СообщениеДобавлено: Вт май 22, 2012 16:35
Lesnik
Помнится, в документации написано, что такой кнопки нет, где-то год назад прикрутили возможность явно задать время отправления каждой машине, но это очень муторно, особенно для 30 самолётов на маршруте:).
У меня получилось сделать такую кнопку, причём она не требует внесения в игру никаких новых структур данных, по сравнению с первоначальной реализацией расписаний. Функция лишь однократно корректирует таймеры опозданий каждой машины. И вообще всё очень просто.
Перед нажатием на магическую кнопку надо составить правильное расписание маршрута, после нажатия на кнопку определяется последовательность машин на маршруте, исходя из времени последнего отправления или прибытия на станцию(смотря что произошло позже). Для машины,следующей с наибольшим интервалом, устанавливается нулевое опоздание, всем остальным машинам устанавливается такое опережение, чтобы они отправлялись со станций с одинаковыми интервалами, равными времени прохода круга, делёному на число машин.
Другая важная реализованная функция - это автоперестановка. Она корректирует индивидуальное расписание по машинам таким образом, чтобы они отправлялись со станции в том же порядке, в котором прибыли, независимо от порядка отправления с предыдущей станции.Это критически важно для поддержания порядка на длинных авиамаршрутах, где возможны огромные опоздания при поломках, а также для автобусов, которые не могут переставляться на уличных остановках. Например, самолёты вылетели в порядке (A,B), самолёт A по дороге сломался, и B прилетел раньше A. Тогда самолёту B будет сокращена стоянка, и далее он отправится по графику самолёта A. А самолёт A, соответственно, по графику самолёта B, если не пропустит вперёд ещё несколько:).
Я написал этот патч где-то год-два назад, в TTD давно не играю, если кому интересно, могу выложить бинарник потестировать, ну и адаптировать патч под текущую версию.

Re: "Магическая" кнопка для авторасстановки по расписанию

СообщениеДобавлено: Вт май 22, 2012 22:16
Wowan
Выкладывайте, конечно!
Ну и заодно дубль на tt-forums, чтобы там народ прочувствовал.

Re: "Магическая" кнопка для авторасстановки по расписанию

СообщениеДобавлено: Ср май 23, 2012 08:31
Regeneration
Интересная фича )) Ждем с нетерпением))

"Магическая" кнопка для авторасстановки по расписанию

СообщениеДобавлено: Ср май 23, 2012 10:32
Lesnik
Вот выложил архив. Там собранный бинарник с английским языком под windows, патч к исходникам и маленькая демка с двумя автобусами. Надо запустить второй автобус, нажать во вкладке "расписание" кнопку "autoseparate" и смотреть, что получится.
Это всё собиралось для рабочей версии r18528M.

Re: "Магическая" кнопка для авторасстановки по расписанию

СообщениеДобавлено: Вт июл 17, 2012 17:07
Vaulter

Re: "Магическая" кнопка для авторасстановки по расписанию

СообщениеДобавлено: Ср июл 18, 2012 16:39
Ghost
Vaulter писал(а):это не оно
http://www.tt-forums.net/viewtopic.php?f=33&t=46391
?

Нет, не оно. Накатывал оба патча (и даже третий, но ссылку не найду). ИМХО, патч ATS наиболее полный, но реализует не автораспределение транспорта, а автоподстройку расписания.

В первом случае (Lesnik) расписание пересчитывается и назначается базовое ТС, другие под него подстраиваются (ждут). Оно действительно распределяет транспорт на маршруте (проверено).

Во втором случае (патч ATS) по прибытии базового ТС в первоначальный пункт маршрута тики (или время) пересчитывается, но таким образом, чтобы среднее отклонение от расписания было равно нулю. Никто никого не ждет (тоже проверено).

ИМХО, для относительно полного счастья надо интегрировать оба патча, но из ATS убирать опцию подстройки расписания, в нем и без этого много полезного.