Добавлено: Сб Июн 01, 2024 16:08
Заголовок сообщения: World editor's worlds editor
Всем привет. Я тут контентный мод делаю и мне в этом очень помогает генератор миров.
http://eador.com/B2/viewtopic.php?t=3125
Но мне было мало функционала и я запилил на коленке програмку, которая изменяет индексы в мирах (файлах "*.world", которые используются в генераторе). Я себе игрался-игрался, а потом решил, чего у себя держать то, чем могли бы воспользоваться другие, запилил интерфейс (она была консольной) и выкладываю сюда.
Итак, что программа умеет. Основное, что может заинтересовать - это объединение нескольких миров в один, остальные функции я использовал для тестов и вряд ли они кому-то ещё понядобятся.
Ссылки на скачивание:
https://www.dropbox.com/scl/fi/7d3sheypg9rizuoo8fnfu/WEWE.rar?rlkey=ipbyx4zqte88cdad0l97je7up&st=uu0x201r&dl=0
https://drive.google.com/file/d/1dV1lvrnj6FOAjqriMEgg0voWmv7DHW1e/view?usp=drive_link
https://dropmefiles.com.ua/ua/SfvUmcLNe
Установка:
Распаковать архив в папку worldgen (папка генератора миров), запустить .exe. Если будет ругаться, докачать недостающие пакеты/фреймворки. Там надо С++ и .NET. На что ругается, то и надо докачать.
Microsoft Visual C++ Redistributable
.NET Framework
Не забудьте сделать бекапы, программа мало тестировалась.
Так выглядит запущенная программа.
Вверху через выпадающий список надо выбрать основной мир с которым будут совершаться действия.
Далее куда будет сохранён мир - либо в новый файл (надо указать название), либо перезапишется основной мир.
Что делать с изображениями: ничего; скинуть изображения в папку с названием мира, в который мы сохраняем; создать для каждого мира подпапку и скинуть все в общую.
В закладках можно выбрать действие, которое мы хотим совершить:
Слияние
Позволяет объединить миры в один. При этом индексы последующих миров увеличатся соответственно с предыдущими. Допустим у нас есть мир, который добавляет двух юнитов LastId_unit+1 и LastId_unit+2 и другой мир, который добавляет трёх юнитов LastId_unit+1, LastId_unit+2 и LastId_unit+3. Так вот при слиянии индексы первого мира не изменятся (...+1, ...+2), а во втором увеличатся и будут уже ...+3, ...+4 и ...+5. Аналогично произойдёт и для индексов всех остальных свойств.
В окне надо выбрать из выпадающего списка мир для слияния. Так же можно с помощью кнопок "+" и "-" настроить количество миров, которые будут объединяться.
Кнопка "Слияние" произведёт само слияние. ВНИМАНИЕ! Проверьте все настройки внимательно до нажимания на кнопку.
Выравнивание
Убирает не использованные индексы, сдвигая все остальные на освободившиеся места. Допустим у нас есть индексы LastId_unit+1, LastId_unit+3 и LastId_unit+4. Если применить такой мир, то Эадор не запуститься, потому что пропущен индекс 2 (LastId_unit+2). Действие Выравнивание обнаружит такой индекс, у меньшит все последующие, чтобы в результате всё шло по порядку (LastId_unit+3 => LastId_unit+2 и LastId_unit+4 => LastId_unit+3).
Может возникнуть вопрос, когда такое вообще возможно? Если допустим в каком-то мире вам что-то не нравится, вы можете вырезать этого нового юнита/заклинание/предмет, а затем вместо того, чтобы уменьшать все последующие индексы вручную, просто сделать это одной кнопкой. Так же работает в обратную сторону - если вам весь мир не нравится, но понравилась неболььшая его часть (очень хочется поиграть с LastId_unit+5 и LastId_unit+8, а остальные не интересны), то можно "вырезать" её в отдельный мир, а затем этот отдельный мир "выровнять" одной кнопкой.
Кнопка "Выравнивание" произведёт само выравнивание. ВНИМАНИЕ! Проверьте все настройки внимательно до нажимания на кнопку.
Добавление
Ну это вообще уже для эстетов. Действие "освобождает" индексы, сдвигая остальные вперёд. Допустим у нас есть LastId_unit+1, LastId_unit+2 и LastId_unit+3, и мы хотим добавить двух новых юнитов, но не как ...+5 и ...+6, а поставить их после первого. Тогда можно возпользоваться этим действием, сместить LastId_unit+2 и LastId_unit+3 на 2 вперёд (LastId_unit+2 => LastId_unit+4 b LastId_unit+3 => LastId_unit+5), а на освободившиеся индексы добавлять новый контент. Допустим вы хотите, чтобы у ваши добавленые юниты шли по возрастанию уровня и вы уже сделали 1 3 4, а хотите добавить ещё 1 и 2.
В выпадающем списке можно выбрать что сдвигать LastId_ или LastDatId_, так же прописать название свойства, а затем указать количество добавляемых индексов и позицию начиная с которой будет сдвиг остальных индексов. За одну операцию можно сразу разные иднексы подвигать - для этого есть кнопки "+" и "-".
Кнопка "Добавление" произведёт само добавление. ВНИМАНИЕ! Проверьте все настройки внимательно до нажимания на кнопку.