![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#141
|
|
![]() Newbie Сообщений: 20 Спасибо сказали: 0 раз ![]() |
Черт, похоже это и вправду нигде не описано. Надо будет исправить... Вообще - это делается примерно так же как и добавление новых: Код "core:admiralsHat": { "components": [ "necklaceOfOceanGuidance", "seaCaptainsHat", "yetAnotherArtifact" ] 1) Пишем код только с теми полями которые хочем заменить. В данном случае - только "components". Элементы в списке заменяются целиком, так что дублируем оригинальные компоненты + добавляем свои. 2) Пишем идентификатор в формате "core:admiralsHat". Это переводится как "взять объект admiralsHat из мода core". Мод core это виртуальный мод в который добавляются все объекты из тройки. Ну и подключаем этот код как новый артефакт. Если что - частичные конфиги всех объектов (включая идентификаторы) валяются в папке config. Получился вот такой микромод, но, увы, он не работает. Его видит и включает лаунчер, подгружает без ошибок клиент, но Шляпа Адмирала, на тестовой карте продолжает состоять из двух артефактов. Это баг или я что-то не так сделал? |
|
|
![]()
Сообщение
#142
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
В mod.json путь неправильный указан:
Код "artifacts": [ "config/witchking/soulprison.json" ] После исправления все работает как надо. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#143
|
|
![]() Newbie Сообщений: 20 Спасибо сказали: 0 раз ![]() |
В mod.json путь неправильный указан: Код "artifacts": [ "config/witchking/soulprison.json" ] После исправления все работает как надо. Копипаст -- зло. Только не пойму, почему лаунчер не ругался: Нет же там такого файла. Или он все пути глобально ищет, во всех поддерикториях Mods? |
|
|
![]()
Сообщение
#144
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Лаунчер моды не проверяет - все папки с файлом mod.json будут признаны им как "мод".
Проверка модов происходит во время загрузки клиента. Идет в несколько этапов: 1) Загрузка файловых систем всех _активных_ модов. Грубо говоря - список файлов со всех модов скидывается в одну кучу. 2) Парсинг json файлов. Проверяется наличие файлов и корректность синтаксиса (например - потерянные запятые). 3) Загрузка модов + проверка корректности их данных. 4) Поиск нехватающих идентификаторов. В итоге: - загрузка json идет после файловой системы, поэтому никаких нехватаюших файлов не было. (при условии что witchking-arts включен) - у нас допускаются одинаковые идентификаторы из разных модов, поэтому игра загрузила объект с одинаковым именем дважды. Здесь тоже без ошибок. Теперь вот сижу и думаю как добавить проверку на такие случаи... -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#145
|
|
![]() Newbie Сообщений: 20 Спасибо сказали: 0 раз ![]() |
Теперь вот сижу и думаю как добавить проверку на такие случаи... Хм, а писать название мода в заголовки конфигов не? Хотя бы опционально: Тогда можно будет искать среди файлов с совпадающим или пустым заголовком. Код { "mod:New Admirals Hate" : { "core:admiralsHat" : { "components" : [ "necklaceOfOceanGuidance", "seaCaptainsHat", "spyglass" ] } } } И в корневом конфиге: Код { "name" : "New Admirals Hat", "description" : "Добавляет Подзорную трубу в состав Шляпы Адмирала.", "version" : "0.11.0", "author" : "Risto", "contact" : "http://forum.df2.ru/index.php?showtopic=30200&view=findpost&p=623083", "modType" : "Artifacts", "mod:New Admirals Hate" : { "AllowEmptyHeader" : false, // Default: True "artifacts" : [ "config/core-admiralshat.json" ] } } Если использован старый синтаксис -- ищет везде, игнорируя заголовки. Если массивы ссылок помещены в объект This -- по-умолчанию искать только в файлах, заголовки которых совпадают с соответствующим полем конфига: Код "This:name" : { // Ищем в родном моде. "artifacts" : [ "config/core-admiralshat.json" ] } "This:depends" : { // Ищем в зависимостях. "artifacts" : [ "config/core-admiralshat.json" ] } Ну, и наконец, ссылаемся на "родные" конфиги VCMI (хз зачем, но мало ли...): Код "Core" : { "artifacts" : [ "config/artifacts.json" ] } Собственно, у меня ещё пачка вопросов, на сей раз по абилкам: * Как применить абилку только к дружественному стеку? * Как задать абилку с определённой дистанцией? * Можно ли вообще изменить характеристику A цели по некой формуле, завязанной на характеристики B и C обладателя абилки? Если да, то как? Lua-скриптинг подойдёт, только ткните меня носом в нужную страницу мануала. |
|
|
![]()
Сообщение
#146
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Цитата Хм, а писать название мода в заголовки конфигов не? Хотелось бы это автоматизировать. Сделать эдакую изоляцию файлов из модов друг от друга чтобы подобные приколы обнаруживались без изменений в модах - вполне реализуемо, вопрос скорее как это поаккуратнее сделать. Цитата * Как применить абилку только к дружественному стеку? Это разве не поведение по умолчанию? Вообще есть такая штука: http://wiki.vcmi.eu/index.php?title=List_o...nus_propagators С системой бонусов я особо не знаком, так что сильно помочь тут не могу. Цитата * Как задать абилку с определённой дистанцией? Подозреваю никак. Сейчас есть только то, что есть в оригинальной игре Цитата * Можно ли вообще изменить характеристику A цели по некой формуле Пока этого нет. Скриптинг все хочем, но никак не сделаем. Сейчас вся система моддинга статична. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#147
|
|
![]() допустим, мяў Сообщений: 24 057 Спасибо сказали: 13361 раз ![]() |
Лучше буду здесь писать, чем в общей теме.
![]() В городе Фордж без подключённого ВОГ ловится крэш при щелчке на таверне в городе. С подключённым не было. Если ВОГ необходим, то он должен быть указан как depends? Но мне кажется что тут какая-то более глубокая ошибка. Ещё вопросы: - можно ли для нового класса героев указывать faction = neutral? - как понимать параметр "частота появления героя в таверне определённого города"? если городов несколько, и они разные, герои ведь там всё равно одинаковые появляются! Или берётся инфа о стартовом городе или стартовом герое, т.е. та фракция, карта-загадка которой будет открываться? - планируется ли разрешить добавление новых ландшафтов? Файл terrains.json проблему явно не решает хотя бы потому, что в нём нет указания на дефы ландшафтов. - возможно ли расширение количества игроков? - в ВОГ при определённых условиях возможно было размещение нейтрального героя на карте (не только в бою, а именно на карте). В VCMI это возможно или будет возможно? Будет ли такой герой статичен или активен? А. и ещё одно, что даже в оригинальной игре было. У разных фракций - разные лодки. Не вижу, чтобы это где-то настраивалось в структуре города. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#148
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Цитата В городе Фордж без подключённого ВОГ ловится крэш при щелчке на таверне в городе. У меня пока чисто. Дампы обычно как последний шанс повторить баг идут. Если вог выключен то игра падает всегда? Возможно какой-то из портретов не удается загрузить, но там вроде все ОК. Цитата - можно ли для нового класса героев указывать faction = neutral? Да. Цитата - как понимать параметр "частота появления героя в таверне определённого города"? Так же как поле в HCTRAITS.TXT. Привязка к стартовому городу, как и в тройке. Точно так же как и левый слот таверны который в 1й день всегда "своим" героем занят. Цитата - планируется ли разрешить добавление новых ландшафтов? Файл terrains.json проблему явно не решает хотя бы потому, что в нём нет указания на дефы ландшафтов. Нужен редактор - новые города/существа добавлять можно так как на картах есть случайные объекты. С ландшафтами это не пройдет. Цитата - возможно ли расширение количества игроков? Если кто-то этим займется, то да. Нужно переработать часть интерфейса чтобы туда больше 8ми влазило, собрать графику, проверить чтобы нигде не было мест где список игроков храниться как 1 байт (8 флагов). В общем - сейчас это далеко не приоритетно. Ну и тут тоже нужен редактор/генератор карт чтобы этих игроков поставить. Цитата - в ВОГ при определённых условиях возможно было размещение нейтрального героя на карте (не только в бою, а именно на карте). В VCMI это возможно или будет возможно? Будет ли такой герой статичен или активен? Опять же - нужен редактор. Ну или скрипты в данном случае. Сейчас под такую ситуацию игра не рассчитана, будет работать или нет - вопрос. Герой активным не будет так как понятия "ход нейтрального игрока" в игре нет. Цитата А. и ещё одно, что даже в оригинальной игре было. У разных фракций - разные лодки. Не вижу, чтобы это где-то настраивалось в структуре города. Сейчас лодка выбирается по мировозрению - добрый/нейтрал/злой. Будет нормальное добавление объектов - можно будет и лодку добавить. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#149
|
|
![]() допустим, мяў Сообщений: 24 057 Спасибо сказали: 13361 раз ![]() |
Лодок, по крайней мере в ХотЕ уже 6 на 10 фракций, отличаются они только внешне, хотя хотелось бы к ним тоже иметь возможность применить систему бонусов.
И ещё - герой поставленный на воду в редакторе в игре обзаведётся лодкой? Насчёт нового ландшафта - здесь редактор-то не особо и нужен. Могу написать программу, заливающую ограниченную локацию готовой карты - хоть 255-м ландшафтом ) И в карте это будет сохранено нормально, лишь бы игра этот тип ландшафта ассоциировала с определённым дефом. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#150
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Новые ландшафты потянут за собой как минимум новые поля для боя.
Для нормальной поддержки нужен будет еще и новый набор объектов. А это вряд ли будет в ближайшее время. Новые лодки, кстати, тоже этого потребуют. Глянул код - нужно будет немного реорганизовать музыку, поля боя и рендеринг карты чтобы все данные брались из terrains.json. В принципе - можно. Вопрос стоит ли тратить на это время именно сейчас. Цитата И ещё - герой поставленный на воду в редакторе в игре обзаведётся лодкой? Не знаю - надо смотреть. Но это одна из тех вещей, которые поменять довольно легко. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#151
|
|
![]() личный килер господа Бога Сообщений: 171 Спасибо сказали: 40 раз ![]() |
Под новую версию нужно будет переписывать
моды??? -------------------- вильгельм
|
|
|
![]()
Сообщение
#152
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Переписывать это громко сказано. Обновлять надо будет, это да. Список изменений валяется тут: http://wiki.vcmi.eu/index.php?title=Modding_changelog
Моды которые работают в 0.94b будут работать и в 0.95. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#153
|
|
![]() Immortal Сообщений: 7 870 Спасибо сказали: 16065 раз ![]() |
Возможно ли средствами VCMI добавление, скажем, третьего, четвёртого и т.д. типа спрайта героя для каждой фракции, и приписание этого спрайта заданному герою/линейке героев? Например, как в Героях 4: Вихри Войны, где уникальные герои имеют свой внешний вид.
|
|
|
![]()
Сообщение
#154
|
|
![]() личный килер господа Бога Сообщений: 171 Спасибо сказали: 40 раз ![]() |
Это реально нужно прописать в самом моде
-------------------- вильгельм
|
|
|
![]()
Сообщение
#155
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Orzie,
Есть идея сделать что-то по типу этого возможным (как частный случай более большей системы), но пока нельзя. Хотел бы этим заняться через месяц-два, но пока на 100% не уверен. Сейчас как вариант - можно сделать отдельный класс. В vcmi у города может быть любое количество классов, а не обязательно 2. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#156
|
|
![]() личный килер господа Бога Сообщений: 171 Спасибо сказали: 40 раз ![]() |
А если сделать модом?и тогда прописать вид и т.д?
-------------------- вильгельм
|
|
|
![]()
Сообщение
#157
|
|
Power Member Сообщений: 152 Спасибо сказали: 123 раза ![]() |
Здравствуйте!
Можно ли добавить новых монстров, как? Есть ли специальные проги? -------------------- |
|
|
![]()
Сообщение
#158
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Привет. Добавить можно, без каких-то прог специфичных для vcmi - нужны проги для работы с дефами и текстовый редактор (желательно - не блокнот, а что-то по типу Notepad++).
Глянь как устроены те моды что есть сейчас, например, centamonth. Мод выглядит как-то так (только то что нужно для существ): /Mods/modname/ - собственно папка с модом, /Mods/modname/mod.json - файл описания мода, документация тут: http://wiki.vcmi.eu/index.php?title=Mod_file_Format /Mods/modname/Content/ - папка для файлов мода /Mods/modname/Content/Config/<modname>/ - конфиги мода, описание существ тут: http://wiki.vcmi.eu/index.php?title=Creature_Format /Mods/modname/Content/Sounds/<modname>/ - звуки /Mods/modname/Content/Sprites/<modname>/ - всякие картинки/анимации Документация есть только на английском, и так есть чем заняться так что на русский не перевожу, если есть проблемы с английским - попробуй через гуглотранслейт читать. UPD: перебросил оба поста в тему по моддингу. -------------------- Слава Україні!
|
|
|
![]()
Сообщение
#159
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
|
|
|
![]()
Сообщение
#160
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз ![]() |
Не. Парсер json любой перевод строки понимает. К тому же концы строк мало на что влияют (конец комментов и определение номера строки) Но:
- Виндовый блокнот не понимает юниксовый перевод строки. Который используется в части наших конфигов. - Всякие фичи по типу подсветки синтаксиса - мелочь, но сильно упрощает чтение и всякие ошибки по типу забытой кавычки помогает находить. - Юникод. VCMI поймет кириллицу только если файл в юникоде. Не уверен как себя блокнот тут ведет, с Notepad++ ситуация более понятна. -------------------- Слава Україні!
|
|
|
![]() ![]() |
Текстовая версия | Сейчас: 29 June 2025 - 13:05 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|