![]() |
Перенос объектов из маршрута в маршрут (макрос)
Всем привет!
Может, я где-то изобретаю велосипед - но, строя маршруты в МСТС, всегда хотелось иметь достаточно легкий способ собрать объекты из нескольких маршрутов в свой. Чтобы решить проблему, сделал макрос для Excel, который умеет читать ref-файлы из любого маршрута, создавая общий список объектов. Этот список можно править руками, используя все средства Excel. Наконец, главное - есть возможность [B]сгенерировать по нему новый общий .ref[/B], а также [B]скопировать все упомянутые объекты в другой маршрут[/B], в том числе с сезонными текстурами при их наличии. [URL=https://fastpic.org/view/123/2024/0720/b21a8c7c8acef230c092f19cbf1c9721.png.html][IMG]https://i123.fastpic.org/thumb/2024/0720/21/b21a8c7c8acef230c092f19cbf1c9721.jpeg[/IMG][/URL] [B]Скачать и попробовать можно тут:[/B] [B][url]https://disk.yandex.ru/i/CzC2v5LyjhIJHw[/url][/B] Да, на втором листе в этой книге уже сразу собрал объекты из десятка маршрутов, имеющихся в даунлоаде trainsim.ru, отсмотрел их, удалил непригодное для переиспользования в русских трассах, и классифицировал все объекты по единой системе - может, не идеальной, но хотя бы общей для всех (что, кстати, оказалось значительно дольше, чем собственно запрограммировать кнопки на листе). Have fun) :russian: По быстродействию особо не оптимизировал, но вряд ли массовое копирование объектов будет нужно вам каждый день. Системные требования: русскоязычный Excel 2007 и новее, МСТС. |
Спасибо! А создавать ref заново, если в папке с маршрутом он удалён, сможет сделать?
|
В смысле, по файлам, которые нашлись в папке shapes? Пока нет, но не очень сложно будет добавить такое. Как-нибудь обновлю.
Часть информации (форма тени, группа и описание объекта, анимация как переезд) при этом, конечно, потеряется. Если этот шейп ранее был импортирован в табличку, можно будет восстановить описание по ней. А иначе "восстановленные" объекты будут уходить в группу "прочее". |
А можно сделать функцию удаления неиспользованных шейпов?
|
[QUOTE=E69;612009]В смысле, по файлам, которые нашлись в папке shapes? [/Quote]Да, я иногда находил нужные модели, но они не были прописаны в ref или же когда два человека одновременно делают маршрут, то ref у каждого свой получается.
[QUOTE=E69;612009] Часть информации (форма тени, группа и описание объекта, анимация как переезд) при этом, конечно, потеряется. Если этот шейп ранее был импортирован в табличку, можно будет восстановить описание по ней. А иначе "восстановленные" объекты будут уходить в группу "прочее".[/QUOTE] А напомни, где она хранится? Ее нельзя считывать откуда-то? Эксель правда может повеситься от этого... [size="1"][color="Silver"]Добавлено через 2 минуты[/color][/size] Я кстати всё хочу также на Экселе сделать редактор расписаний, но времени нет. [size="1"][color="Silver"]Добавлено через 3 минуты[/color][/size] [QUOTE=КЕ;612010]А можно сделать функцию удаления неиспользованных шейпов?[/QUOTE] Здесь на сайте в разделе разное есть прога древняя MSTSConv, которая чистит маршрут. Правда старожилы говорят, порой зачищает и нужное, хотя странно. |
[QUOTE]А напомни, где она хранится? Ее нельзя считывать откуда-то? Эксель правда может повеситься от этого...[/QUOTE]Это собственно то, что хранится как раз только в .ref.
Когда скачиваешь объект себе в маршрут, то в реф надо вручную добавить строки типа таких: [CODE]LevelCr ( <<< статический или анимированный Class ( "<Level Crossings>" ) <<< имя категории (можно менять) Shadow ( "Dynamic" ) <<< наличие тени (OR вроде игнорирует) Filename ( DepotGatesGreen.s ) <<< имя шейпа Description ( "Ворота депо зеленые" ) <<< описание для человека (можно менять) )[/CODE] Вот мой макрос импортирует всё это в таблицу и хранит у себя. Для него 8000 объектов из десятка маршрутов это немного)) [URL=https://fastpic.org/view/123/2024/0720/7e7e072a115d91532d688e85776b42af.png.html][IMG]https://i123.fastpic.org/thumb/2024/0720/af/7e7e072a115d91532d688e85776b42af.jpeg[/IMG][/URL] Если в маршруте есть просто .s, то по имени файла я не знаю в какую категорию его сунуть. Вместо комментария просто имя файла можно подставить. Лишь если у меня в табличке взятого из других маршрутов найдется объект с тем же именем, тогда удастся восстановить описание. Так-то это не беда, кататься по маршруту оно никак не помешает (только про анимацию ворот и шлагбаумов не вполне уверен). Но редактировать маршрут станет неудобно, если все в одну кучу свалится. [size="1"][color="Silver"]Добавлено через 23 минуты[/color][/size] [QUOTE]А можно сделать функцию удаления неиспользованных шейпов?[/QUOTE] Теоретически можно написать и такое, раз уж разжимать и читать файлы я его научил. Просто эта функция где-то уже была, я видел давно-давно помнится вот тут: [url]https://www.digital-rails.com/route_riter.html[/url] . Да, проверил, есть функция Compact Route, которая сжимает все файлы, которые можно сжать, и также выносит неиспользумое в отдельную папочку. А если MSTSconv такое умеет из командной строки, могу сделать у себя кнопку, которая его запускает в заданный маршрут через командную строку. [size="1"][color="Silver"]Добавлено через 9 минут[/color][/size] О, кстати, в RouteRiter уже есть кнопочка "Make .REF" для генерации .ref, а также редактирование списка объектов в виде таблицы и ещё кое-что полезное. Но вот грабить объекты из одного маршрута в другой он так легко не позволяет :cool: |
[QUOTE=Паштет;612011]
Здесь на сайте в разделе разное есть прога древняя MSTSConv, которая чистит маршрут. Правда старожилы говорят, порой зачищает и нужное, хотя странно.[/QUOTE] Да, есть такая, но в новых ОС-ях глючит.. |
Обновил макрос, советую перекачать: [url]https://disk.yandex.ru/i/CzC2v5LyjhIJHw[/url]
- По просьбе Паштета добавлена опция генерации .REF по фактически имеющимся файлам. Если данные об объекте были ранее импортированы в список из другого маршрута, описание берется оттуда. Все остальное летит в категорию Unclassified. - При копировании автоматически создаются сезонные папки - Исправлена ошибка, когда .REF читался не до конца Пока при копировании файлов .s, сжатых при помощи zlib (таких около 5% в маршрутах), автоматически не переносятся их текстуры. PS Понял как это прочитать, надо отбросить первые 16 байт, чтобы работал стандартный алгоритм zlib. Позже обновлю еще раз. |
Текущее время: 05:40. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim