Приступим к самому интересному, а также по совместительству и главному. Собственно, написанию своего визарда.
И, вы конечно можете использовать любой удобный вам текстовый редактор, лично я буду использовать для их написания Visual Studio Code, его удобно впринципе использовать для моддинга в СК2из-за наличия двух плагинов по работе с файлами СК2, но об этом надо говорить в другой статье.
Сперва откройте вашу папку Wizards в VSCode, после чего в ней создайте новый файл в формате *.blizwiz. Название файла может быть любым.
Затем вставьте в ваш файл визарда этот код:
<?xml version="1.0" encoding="UTF-8"?>
<wizard>
</wizard>
Редактор кода не определяет файл что делать?
Пример
Для примера вот такой код визарда выведёт такое окно в редакторе
<?xml version="1.0" encoding="UTF-8"?>
<wizard>
<name>My Wizard</name>
<objecttypes create="Unit"/>
<category>Категория</category>
<instructions>
Инструкция о том как пользоваться этим визардом.
</instructions>
<input id="inputid" type="CString">
<name>Поле для строковых значений</name>
<tooltip>Описание поля, выводимое при наведении на него мышкой</tooltip>
</input>
<input id="inputid" type="CUnitLink">
<name>Поле для выбора ссылок на юнитов</name>
</input>
<input id="inputid" type="real32">
<name>Поле для ввода чисел с запятой</name>
</input>
<input id="inputid" type="int32">
<name>Поле с числом в колонке 2</name>
<layout column="2"/>
</input>
</wizard>
Создание данных с помощью визарда
Для этого используется такой код
<entry catalog="Sound" type="CSound">
<id>^UnitID^</id>
<field id="Race">
<value>^InputID^</value>
</field>
. . .
</entry>
catalog - определяете что именно хотите создать (юнита, способность, оружие, эффект, и прочее)
type - указываете тип объекта, например для юнита это будет CUnit, для актора типа Unit указываете CActorUnit и так далее
^...^ - Указываете ID того поля визарда, значение которого хотите подставлять в поле этого объекта
<id></id> - ID новосоздаваемого объекта данных
type - указываете тип объекта, например для юнита это будет CUnit, для актора типа Unit указываете CActorUnit и так далее
^...^ - Указываете ID того поля визарда, значение которого хотите подставлять в поле этого объекта
<id></id> - ID новосоздаваемого объекта данных
Смотреть корректные названия типов можно в самом редакторе в режиме с необработанными данными Ctrl - D в этом окне (свойства объекта)
На этом сайте сможете найти большое количество примеров готовых визардов, использовать вряд ли сможете если не знаете корейский, но как примеры реализаций очень хороши