Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Маршруты

Ответ
 
Опции темы Опции просмотра
Старый 19.07.2024, 23:51   #1
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,729
Вы сказали Спасибо: 2,122
Поблагодарили 2,429 раз(а) в 824 сообщениях
E69 хороший собеседник
По умолчанию Перенос объектов из маршрута в маршрут (макрос)

Всем привет!
Может, я где-то изобретаю велосипед - но, строя маршруты в МСТС, всегда хотелось иметь достаточно легкий способ собрать объекты из нескольких маршрутов в свой.

Чтобы решить проблему, сделал макрос для Excel, который умеет читать ref-файлы из любого маршрута, создавая общий список объектов.

Этот список можно править руками, используя все средства Excel.
Наконец, главное - есть возможность сгенерировать по нему новый общий .ref,
а также скопировать все упомянутые объекты в другой маршрут,
в том числе с сезонными текстурами при их наличии.


Скачать и попробовать можно тут:
https://disk.yandex.ru/i/CzC2v5LyjhIJHw

Да, на втором листе в этой книге уже сразу собрал объекты из десятка маршрутов, имеющихся в даунлоаде trainsim.ru, отсмотрел их, удалил непригодное для переиспользования в русских трассах, и классифицировал все объекты по единой системе - может, не идеальной, но хотя бы общей для всех (что, кстати, оказалось значительно дольше, чем собственно запрограммировать кнопки на листе).
Have fun)

По быстродействию особо не оптимизировал, но вряд ли массовое копирование объектов будет нужно вам каждый день.

Системные требования: русскоязычный Excel 2007 и новее, МСТС.
__________________
🚆🚆🚆

Последний раз редактировалось E69; 28.07.2024 в 23:28.
E69 вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо E69 за это полезное сообщение:
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА

 


Старый 20.07.2024, 08:31   #2
Паштет
Разработчик
 
Аватар для Паштет
 
Регистрация: 06.06.2007
Адрес: Ст.Бескудниково, МСК
Сообщений: 1,696
Вы сказали Спасибо: 881
Поблагодарили 954 раз(а) в 467 сообщениях
Паштет стоит на развилке (репутация по умолчанию)
По умолчанию

Спасибо! А создавать ref заново, если в папке с маршрутом он удалён, сможет сделать?
__________________
Мечтаю о продолжении Степанок ))
Всякая всячина для МСТС от меня
Паштет вне форума   Ответить с цитированием
Старый 20.07.2024, 09:10   #3
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,729
Вы сказали Спасибо: 2,122
Поблагодарили 2,429 раз(а) в 824 сообщениях
E69 хороший собеседник
По умолчанию

В смысле, по файлам, которые нашлись в папке shapes? Пока нет, но не очень сложно будет добавить такое. Как-нибудь обновлю.

Часть информации (форма тени, группа и описание объекта, анимация как переезд) при этом, конечно, потеряется. Если этот шейп ранее был импортирован в табличку, можно будет восстановить описание по ней. А иначе "восстановленные" объекты будут уходить в группу "прочее".
__________________
🚆🚆🚆

Последний раз редактировалось E69; 20.07.2024 в 09:15.
E69 вне форума   Ответить с цитированием
Старый 20.07.2024, 09:15   #4
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

А можно сделать функцию удаления неиспользованных шейпов?
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 20.07.2024, 13:47   #5
Паштет
Разработчик
 
Аватар для Паштет
 
Регистрация: 06.06.2007
Адрес: Ст.Бескудниково, МСК
Сообщений: 1,696
Вы сказали Спасибо: 881
Поблагодарили 954 раз(а) в 467 сообщениях
Паштет стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от E69 Посмотреть сообщение
В смысле, по файлам, которые нашлись в папке shapes?
Да, я иногда находил нужные модели, но они не были прописаны в ref или же когда два человека одновременно делают маршрут, то ref у каждого свой получается.
Цитата:
Сообщение от E69 Посмотреть сообщение
Часть информации (форма тени, группа и описание объекта, анимация как переезд) при этом, конечно, потеряется. Если этот шейп ранее был импортирован в табличку, можно будет восстановить описание по ней. А иначе "восстановленные" объекты будут уходить в группу "прочее".
А напомни, где она хранится? Ее нельзя считывать откуда-то? Эксель правда может повеситься от этого...

Добавлено через 2 минуты
Я кстати всё хочу также на Экселе сделать редактор расписаний, но времени нет.

Добавлено через 3 минуты
Цитата:
Сообщение от КЕ Посмотреть сообщение
А можно сделать функцию удаления неиспользованных шейпов?
Здесь на сайте в разделе разное есть прога древняя MSTSConv, которая чистит маршрут. Правда старожилы говорят, порой зачищает и нужное, хотя странно.
__________________
Мечтаю о продолжении Степанок ))
Всякая всячина для МСТС от меня
Паштет вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Паштет за это полезное сообщение:
Старый 20.07.2024, 15:39   #6
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,729
Вы сказали Спасибо: 2,122
Поблагодарили 2,429 раз(а) в 824 сообщениях
E69 хороший собеседник
По умолчанию

Цитата:
А напомни, где она хранится? Ее нельзя считывать откуда-то? Эксель правда может повеситься от этого...
Это собственно то, что хранится как раз только в .ref.
Когда скачиваешь объект себе в маршрут, то в реф надо вручную добавить строки типа таких:
Код:
LevelCr (                                         <<< статический или анимированный
    Class           ( "<Level Crossings>" )       <<< имя категории (можно менять)
    Shadow           ( "Dynamic" )                <<< наличие тени (OR вроде игнорирует)
    Filename        ( DepotGatesGreen.s )         <<< имя шейпа
    Description     ( "Ворота депо зеленые" )     <<< описание для человека (можно менять)
)
Вот мой макрос импортирует всё это в таблицу и хранит у себя. Для него 8000 объектов из десятка маршрутов это немного))

Если в маршруте есть просто .s, то по имени файла я не знаю в какую категорию его сунуть. Вместо комментария просто имя файла можно подставить.
Лишь если у меня в табличке взятого из других маршрутов найдется объект с тем же именем, тогда удастся восстановить описание.

Так-то это не беда, кататься по маршруту оно никак не помешает (только про анимацию ворот и шлагбаумов не вполне уверен). Но редактировать маршрут станет неудобно, если все в одну кучу свалится.

Добавлено через 23 минуты
Цитата:
А можно сделать функцию удаления неиспользованных шейпов?
Теоретически можно написать и такое, раз уж разжимать и читать файлы я его научил.

Просто эта функция где-то уже была, я видел давно-давно помнится вот тут: https://www.digital-rails.com/route_riter.html .
Да, проверил, есть функция Compact Route, которая сжимает все файлы, которые можно сжать, и также выносит неиспользумое в отдельную папочку.
А если MSTSconv такое умеет из командной строки, могу сделать у себя кнопку, которая его запускает в заданный маршрут через командную строку.

Добавлено через 9 минут
О, кстати, в RouteRiter уже есть кнопочка "Make .REF" для генерации .ref, а также редактирование списка объектов в виде таблицы и ещё кое-что полезное.

Но вот грабить объекты из одного маршрута в другой он так легко не позволяет
__________________
🚆🚆🚆

Последний раз редактировалось E69; 20.07.2024 в 15:46.
E69 вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо E69 за это полезное сообщение:
Старый 20.07.2024, 17:50   #7
КЕ
Разработчик
 
Аватар для КЕ
 
Регистрация: 05.04.2011
Адрес: Малыгинская эстакада
Сообщений: 4,078
Вы сказали Спасибо: 8,769
Поблагодарили 2,569 раз(а) в 1,171 сообщениях
КЕ стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от Паштет Посмотреть сообщение
Здесь на сайте в разделе разное есть прога древняя MSTSConv, которая чистит маршрут. Правда старожилы говорят, порой зачищает и нужное, хотя странно.
Да, есть такая, но в новых ОС-ях глючит..
__________________
next_state == 7;
КЕ вне форума   Ответить с цитированием
Старый 28.07.2024, 23:32   #8
E69
Лентяй и флудер
 
Аватар для E69
 
Регистрация: 10.04.2007
Адрес: Транссиб, 3339 км.
Сообщений: 5,729
Вы сказали Спасибо: 2,122
Поблагодарили 2,429 раз(а) в 824 сообщениях
E69 хороший собеседник
По умолчанию

Обновил макрос, советую перекачать: https://disk.yandex.ru/i/CzC2v5LyjhIJHw

- По просьбе Паштета добавлена опция генерации .REF по фактически имеющимся файлам.
Если данные об объекте были ранее импортированы в список из другого маршрута, описание берется оттуда. Все остальное летит в категорию Unclassified.
- При копировании автоматически создаются сезонные папки
- Исправлена ошибка, когда .REF читался не до конца

Пока при копировании файлов .s, сжатых при помощи zlib (таких около 5% в маршрутах), автоматически не переносятся их текстуры.
PS Понял как это прочитать, надо отбросить первые 16 байт, чтобы работал стандартный алгоритм zlib. Позже обновлю еще раз.
__________________
🚆🚆🚆

Последний раз редактировалось E69; 29.07.2024 в 01:08.
E69 вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо E69 за это полезное сообщение:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос карты гугл на маршрут сандро MSTS - Маршруты 17 08.04.2015 23:29
перенос игры Maxysha TrainZ — Об игре 6 06.12.2009 21:51
Перенос заданий в портал antikiller_bmrf TrainZ - Маршруты и сценарии 2 18.10.2009 21:20
Точность расположения объектов в редакторе маршрута Zabor MSTS - Маршруты 50 26.09.2009 09:48
Перенос файлов MSTS Atlant MSTS - Об игре 7 24.09.2008 17:21


Текущее время: 10:12. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?