Моддинг для чайников — синтаксис и форматирование скриптов Crusader Kings 3

Гайд подготовил автор Mostly Mechanical Mods.

Недавно мододелы начали выпускать серию видеоруководств, которые, возможно, помогут вам понять научиться моддингу. Ролик на английском, поэтому давайте разбираться.

Можно глянуть предыдущие серии на их канале, чтобы понять, когда новые объекты при загрузке мода заменит уже имеющиеся в игре, а когда просто добавятся. В принципе, это зависит от того, названы ли файлы с этими объектами теми же именами, что в каталогах игры.

Скриптовый язык в играх Paradox нужен, чтобы контент дизайнеры могли работать без знания языков программирования. Файлы со скриптами текстовые, но обычным блокнотом их редактировать не будет удобно. Лучше хотя бы Notapad ++, но есть и специальное расширение для Visual Studio.

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

Не очень оправданный момент, на видео есть примеры кода с вот такими скобками <>. Так автор туториала просто помечает, что в этом месте может быть код. Не пытайтесь вставить <> в своих скриптах.

В скриптах всё описывается парами: a = b. В этом уравнении:

  • a - ключ объекта или параметр. Имя не может содержать пробелов, потому обычно ставят нижнее подчёркивание _. Пример, set_character_faith
  • b - значение. Числовое, текстовое или блок параметров в скобках {}.

Без пар ничего делать нельзя. a = b = c - не сработает. a = { b } тоже.

Вот так правильно: a = { b = c }, но неудобно.

Лучше сделать больше, так будет лучше видно, где какие скобки открываются, закрываются, что где присваивается и т.д.

Моддинг для чайников — синтаксис и форматирование скриптов Crusader Kings 3

Да, вам может казаться, что это неважно, но потом, когда будете просить помощи на форумах или в Discord, некрасивый код никто даже смотреть не будет. А если же вы поработаете над несколькими модами, то удачи через год вспомнить что, где, зачем, почему вы здесь так написали.

Поэтому также полезны и комментарии. Любой текст, перед которым поставить символ #, исполнятся не будет. Точнее вся эта строка. Так можно временно отключить какой-то код - допустим, надо проверить на что это влияет - и просто добавлять пояснения, что он вообще делает.

С другой стороны, если вы хотите сделать код непонятным, чтобы его не могли другие адаптировать, на эти вещи можно забить и запутать всё ещё больше. Но, в таком случае, добрый самаритянин, чтобы обновить проект на новую версию игры, когда вы своё детище забросите, может не найтись.

Оцените гайд и его разбор
Всё понятно
Ничего не понятно
Гайд ни о чём, нужны практические примеры
11
1 комментарий

Объясняет он конечно прикольно, но как-то абстрактно. Чисто для челов, которые имеют опыт в написании кода.

Ответить