IPB

Здравствуйте, гость ( Вход | Регистрация )

9 страниц V  « < 6 7 8 9 >  
Reply to this topicStart new topic
> Вопросы по моддингу (VCMI)
lordal
сообщение 17 Nov 2013, 23:21
Сообщение #141

Newbie
Сообщений: 20
Спасибо сказали: 0 раз




Цитата(IvanSav @ 17 Nov 2013, 21:45) *
Черт, похоже это и вправду нигде не описано. Надо будет исправить...

Вообще - это делается примерно так же как и добавление новых:
Код
    "core:admiralsHat":
    {
        "components":
        [
            "necklaceOfOceanGuidance",
            "seaCaptainsHat",
            "yetAnotherArtifact"
        ]

1) Пишем код только с теми полями которые хочем заменить. В данном случае - только "components". Элементы в списке заменяются целиком, так что дублируем оригинальные компоненты + добавляем свои.
2) Пишем идентификатор в формате "core:admiralsHat". Это переводится как "взять объект admiralsHat из мода core". Мод core это виртуальный мод в который добавляются все объекты из тройки.

Ну и подключаем этот код как новый артефакт.

Если что - частичные конфиги всех объектов (включая идентификаторы) валяются в папке config.


Получился вот такой микромод, но, увы, он не работает. Его видит и включает лаунчер, подгружает без ошибок клиент, но Шляпа Адмирала, на тестовой карте продолжает состоять из двух артефактов. Это баг или я что-то не так сделал?
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 17 Nov 2013, 23:35
Сообщение #142

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




В mod.json путь неправильный указан:
Код
    "artifacts": [
        "config/witchking/soulprison.json"
    ]

После исправления все работает как надо.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
lordal
сообщение 17 Nov 2013, 23:49 (Сообщение отредактировал lordal - 17 Nov 2013, 23:50)
Сообщение #143

Newbie
Сообщений: 20
Спасибо сказали: 0 раз




Цитата(IvanSav @ 18 Nov 2013, 00:35) *
В mod.json путь неправильный указан:
Код
    "artifacts": [
        "config/witchking/soulprison.json"
    ]

После исправления все работает как надо.


Копипаст -- зло. Только не пойму, почему лаунчер не ругался: Нет же там такого файла. Или он все пути глобально ищет, во всех поддерикториях Mods?
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 18 Nov 2013, 00:17
Сообщение #144

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Лаунчер моды не проверяет - все папки с файлом mod.json будут признаны им как "мод".

Проверка модов происходит во время загрузки клиента. Идет в несколько этапов:
1) Загрузка файловых систем всех _активных_ модов. Грубо говоря - список файлов со всех модов скидывается в одну кучу.
2) Парсинг json файлов. Проверяется наличие файлов и корректность синтаксиса (например - потерянные запятые).
3) Загрузка модов + проверка корректности их данных.
4) Поиск нехватающих идентификаторов.

В итоге:
- загрузка json идет после файловой системы, поэтому никаких нехватаюших файлов не было. (при условии что witchking-arts включен)
- у нас допускаются одинаковые идентификаторы из разных модов, поэтому игра загрузила объект с одинаковым именем дважды. Здесь тоже без ошибок.

Теперь вот сижу и думаю как добавить проверку на такие случаи...


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
lordal
сообщение 18 Nov 2013, 08:38 (Сообщение отредактировал lordal - 18 Nov 2013, 09:40)
Сообщение #145

Newbie
Сообщений: 20
Спасибо сказали: 0 раз




Цитата(IvanSav @ 18 Nov 2013, 01:17) *
Теперь вот сижу и думаю как добавить проверку на такие случаи...


Хм, а писать название мода в заголовки конфигов не? Хотя бы опционально: Тогда можно будет искать среди файлов с совпадающим или пустым заголовком.

Код
{
    "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-скриптинг подойдёт, только ткните меня носом в нужную страницу мануала.
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 18 Nov 2013, 12:44
Сообщение #146

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Цитата
Хм, а писать название мода в заголовки конфигов не?

Хотелось бы это автоматизировать. Сделать эдакую изоляцию файлов из модов друг от друга чтобы подобные приколы обнаруживались без изменений в модах - вполне реализуемо, вопрос скорее как это поаккуратнее сделать.
Цитата
* Как применить абилку только к дружественному стеку?

Это разве не поведение по умолчанию? Вообще есть такая штука: http://wiki.vcmi.eu/index.php?title=List_o...nus_propagators
С системой бонусов я особо не знаком, так что сильно помочь тут не могу.
Цитата
* Как задать абилку с определённой дистанцией?

Подозреваю никак. Сейчас есть только то, что есть в оригинальной игре
Цитата
* Можно ли вообще изменить характеристику A цели по некой формуле

Пока этого нет. Скриптинг все хочем, но никак не сделаем. Сейчас вся система моддинга статична.


--------------------
Слава Україні!
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 22 Nov 2013, 16:33
Сообщение #147

допустим, мяў
Сообщений: 24 057
Спасибо сказали: 13361 раз




Лучше буду здесь писать, чем в общей теме.
Прикрепленный файл  vcmi_crash_1.zip ( 239.79 килобайт ) Кол-во скачиваний: 2

В городе Фордж без подключённого ВОГ ловится крэш при щелчке на таверне в городе. С подключённым не было.
Если ВОГ необходим, то он должен быть указан как depends? Но мне кажется что тут какая-то более глубокая ошибка.

Ещё вопросы:
- можно ли для нового класса героев указывать faction = neutral?
- как понимать параметр "частота появления героя в таверне определённого города"? если городов несколько, и они разные, герои ведь там всё равно одинаковые появляются! Или берётся инфа о стартовом городе или стартовом герое, т.е. та фракция, карта-загадка которой будет открываться?
- планируется ли разрешить добавление новых ландшафтов? Файл terrains.json проблему явно не решает хотя бы потому, что в нём нет указания на дефы ландшафтов.
- возможно ли расширение количества игроков?
- в ВОГ при определённых условиях возможно было размещение нейтрального героя на карте (не только в бою, а именно на карте). В VCMI это возможно или будет возможно? Будет ли такой герой статичен или активен?

А. и ещё одно, что даже в оригинальной игре было. У разных фракций - разные лодки. Не вижу, чтобы это где-то настраивалось в структуре города.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 22 Nov 2013, 17:32
Сообщение #148

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Цитата
В городе Фордж без подключённого ВОГ ловится крэш при щелчке на таверне в городе.

У меня пока чисто. Дампы обычно как последний шанс повторить баг идут. Если вог выключен то игра падает всегда?
Возможно какой-то из портретов не удается загрузить, но там вроде все ОК.
Цитата
- можно ли для нового класса героев указывать faction = neutral?

Да.
Цитата
- как понимать параметр "частота появления героя в таверне определённого города"?

Так же как поле в HCTRAITS.TXT. Привязка к стартовому городу, как и в тройке. Точно так же как и левый слот таверны который в 1й день всегда "своим" героем занят.
Цитата
- планируется ли разрешить добавление новых ландшафтов? Файл terrains.json проблему явно не решает хотя бы потому, что в нём нет указания на дефы ландшафтов.

Нужен редактор - новые города/существа добавлять можно так как на картах есть случайные объекты. С ландшафтами это не пройдет.
Цитата
- возможно ли расширение количества игроков?

Если кто-то этим займется, то да. Нужно переработать часть интерфейса чтобы туда больше 8ми влазило, собрать графику, проверить чтобы нигде не было мест где список игроков храниться как 1 байт (8 флагов). В общем - сейчас это далеко не приоритетно. Ну и тут тоже нужен редактор/генератор карт чтобы этих игроков поставить.
Цитата
- в ВОГ при определённых условиях возможно было размещение нейтрального героя на карте (не только в бою, а именно на карте). В VCMI это возможно или будет возможно? Будет ли такой герой статичен или активен?

Опять же - нужен редактор. Ну или скрипты в данном случае.
Сейчас под такую ситуацию игра не рассчитана, будет работать или нет - вопрос. Герой активным не будет так как понятия "ход нейтрального игрока" в игре нет.
Цитата
А. и ещё одно, что даже в оригинальной игре было. У разных фракций - разные лодки. Не вижу, чтобы это где-то настраивалось в структуре города.

Сейчас лодка выбирается по мировозрению - добрый/нейтрал/злой. Будет нормальное добавление объектов - можно будет и лодку добавить.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 22 Nov 2013, 17:52
Сообщение #149

допустим, мяў
Сообщений: 24 057
Спасибо сказали: 13361 раз




Лодок, по крайней мере в ХотЕ уже 6 на 10 фракций, отличаются они только внешне, хотя хотелось бы к ним тоже иметь возможность применить систему бонусов.
И ещё - герой поставленный на воду в редакторе в игре обзаведётся лодкой?

Насчёт нового ландшафта - здесь редактор-то не особо и нужен. Могу написать программу, заливающую ограниченную локацию готовой карты - хоть 255-м ландшафтом ) И в карте это будет сохранено нормально, лишь бы игра этот тип ландшафта ассоциировала с определённым дефом.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 22 Nov 2013, 18:21
Сообщение #150

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Новые ландшафты потянут за собой как минимум новые поля для боя.

Для нормальной поддержки нужен будет еще и новый набор объектов. А это вряд ли будет в ближайшее время. Новые лодки, кстати, тоже этого потребуют.

Глянул код - нужно будет немного реорганизовать музыку, поля боя и рендеринг карты чтобы все данные брались из terrains.json. В принципе - можно. Вопрос стоит ли тратить на это время именно сейчас.
Цитата
И ещё - герой поставленный на воду в редакторе в игре обзаведётся лодкой?

Не знаю - надо смотреть. Но это одна из тех вещей, которые поменять довольно легко.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
дядя боб
сообщение 27 Jan 2014, 16:25
Сообщение #151

личный килер господа Бога
Сообщений: 171
Спасибо сказали: 40 раз




Под новую версию нужно будет переписывать
моды???


--------------------
вильгельм
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 27 Jan 2014, 16:59
Сообщение #152

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Переписывать это громко сказано. Обновлять надо будет, это да. Список изменений валяется тут: http://wiki.vcmi.eu/index.php?title=Modding_changelog
Моды которые работают в 0.94b будут работать и в 0.95.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Orzie
сообщение 27 Jan 2014, 18:30
Сообщение #153

Immortal
Сообщений: 7 870
Спасибо сказали: 16065 раз




Возможно ли средствами VCMI добавление, скажем, третьего, четвёртого и т.д. типа спрайта героя для каждой фракции, и приписание этого спрайта заданному герою/линейке героев? Например, как в Героях 4: Вихри Войны, где уникальные герои имеют свой внешний вид.
Go to the top of the pageAdd Nick
 
+Quote Post
дядя боб
сообщение 27 Jan 2014, 19:09 (Сообщение отредактировал дядя боб - 27 Jan 2014, 19:11)
Сообщение #154

личный килер господа Бога
Сообщений: 171
Спасибо сказали: 40 раз




Это реально нужно прописать в самом моде


--------------------
вильгельм
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 27 Jan 2014, 19:29
Сообщение #155

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Orzie,
Есть идея сделать что-то по типу этого возможным (как частный случай более большей системы), но пока нельзя. Хотел бы этим заняться через месяц-два, но пока на 100% не уверен.

Сейчас как вариант - можно сделать отдельный класс. В vcmi у города может быть любое количество классов, а не обязательно 2.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
дядя боб
сообщение 27 Jan 2014, 20:47
Сообщение #156

личный килер господа Бога
Сообщений: 171
Спасибо сказали: 40 раз




А если сделать модом?и тогда прописать вид и т.д?


--------------------
вильгельм
Go to the top of the pageAdd Nick
 
+Quote Post
M.A.K.C.
сообщение 17 Apr 2014, 06:35
Сообщение #157

Power Member
Сообщений: 152
Спасибо сказали: 123 раза




Здравствуйте!
Можно ли добавить новых монстров, как? Есть ли специальные проги?


--------------------
Мои сайты:
Сайт по данной игре
(Сборки, модификации, монстры, программы, рисунки)
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 17 Apr 2014, 13:54 (Сообщение отредактировал IvanSav - 17 Apr 2014, 13:58)
Сообщение #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: перебросил оба поста в тему по моддингу.


--------------------
Слава Україні!
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 17 Apr 2014, 14:04
Сообщение #159

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(IvanSav @ 17 Apr 2014, 13:54) *
текстовый редактор (желательно - не блокнот, а что-то по типу Notepad++)
Почему не блокнот? VCMI не понимает Windows-перевод строки?
Go to the top of the pageAdd Nick
 
+Quote Post
IvanSav
сообщение 17 Apr 2014, 14:20
Сообщение #160

VCMI developer
Сообщений: 377
Спасибо сказали: 690 раз




Не. Парсер json любой перевод строки понимает. К тому же концы строк мало на что влияют (конец комментов и определение номера строки) Но:
- Виндовый блокнот не понимает юниксовый перевод строки. Который используется в части наших конфигов.
- Всякие фичи по типу подсветки синтаксиса - мелочь, но сильно упрощает чтение и всякие ошибки по типу забытой кавычки помогает находить.
- Юникод. VCMI поймет кириллицу только если файл в юникоде. Не уверен как себя блокнот тут ведет, с Notepad++ ситуация более понятна.


--------------------
Слава Україні!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post

9 страниц V  « < 6 7 8 9 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29 June 2025 - 13:05
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика