Лето, Советы и (не)много кода
К сожалению, не все создатели модов обладают хорошими писательскими навыками. Так что прежде, чем плодить «Пацанское лето» или «Алиса и заветная комната», дважды подумай о содержании мода. Всё-таки мы пишем визуальную новеллу, где упор ставится на сюжет.
Очень удобный текстовый редактор с поддержкой синтаксиса и макросов. Также можно сделать выделение своего синтаксиса, что весьма полезно для БЛ.
Не раз спасал от переписывания целой страницы текста, написанной не в той раскладке. Нажатие пары клавиш поможет изменить раскладку, регистр и т. д.
Для редактирования спрайтов. Если ты хорошо рисуешь, то сможешь облегчить себе жизнь введением нужных персонажей или фонов.
Нужен в основном для прослушивания звуков, фоновых шумов и музыки. Подбираем нужную музыку и вставляем в нужный момент.
Список всех материалов игры
Лето написано на движке Ren`py. Особенность моддинга на данной платформе очень проста — создаём блокнотик в папке steam\steamapps\common\Everlasting Summer\game\mods, переименовываем расширение txt в rpy, меняем кодировку на UTF-8 — и вперёд!
Не время отчаиваться! Будем решать проблемы по мере их поступления.
(Если ты умеешь кодить (особенно на Python), можешь просто нагуглить документацию по Ren`py и писать мод самостоятельно.)
Итак, ты и чистый лист блокнота. Для начала учти, что все табуляции должны быть преобразованы в пробелы. Поэтому в Notepad++ заходим в меню Опции — Горячие клавиши и там задаём команде «Табуляцию в Пробел» клавиши Ctrl+Tab. Ну или какие хочешь, у нас свободная страна.
Команда «init:» создаст наш блок.
Пришла пора назвать наш мод и сделать запуск из меню «Моды и пользовательские сценарии».
Табуляция в начале — знак того, что текст принадлежит этому блоку.
$ — использование языка Ren`py или Python
mods[«»] — команда, которая добавляет мод в список модов. В кавычках необходимо указать блок (латиницей), на который игрок переходит во время запуска.
= — присваивание блоку запуска определённое имя в списке модов.
u — в строке используются символы Unicode. И в кавычках — название мода на любом языке.
Чтобы наш мод шёл плавно и без проблем, необходимо, чтобы из каждого блока можно было попасть в следующий. Для кинетических модов (моды, которые не имеют выбора и движутся по одной сюжетной линии) вообще не обязательно иметь более одного блока, но можно использовать несколько для красоты.
После этого урока ты уже сможешь написать кинетический мод со встроенными материалами.
Создаём наш запускаемый блок:
После метки идёт её имя — то самое, которое мы задали в списке модов.
И не забудь про «:»! Это показывает, что ниже — содержимое этого блока.
Едем дальше. Теперь ты можешь писать любой текст, включать любую музыку и вставлять любые картинки. Как? Очень просто!
Теперь — сам код.
play — запускает звук
music — помещает его на канал «музыка». Есть три канала: music, sound и ambience. Music и ambience проигрывают звук в цикле.
music_list[«»] — звук берётся из списка самой игры.
fadein — нарастание музыки в течение указанного количества секунд. Необязательно.
scene — задаётся самый нижний слой, на который чаще всего помещаются фоны. При применении этой команды на непустой экран все спрайты и картинки скрываются.
bg — указывает на то, что картинка является фоном. Можно использовать и без bg, но не всегда картинки будут работать.
ext_camp_entrance_day — название картинки.
with dissolve — анимация появления картинки. Можно использовать вообще без анимации, но это будет не так красиво. Dissolve — медленный переход, dspr — быстрый и используется чаще для изменения эмоций. Также существуют и другие, но об этом позже.
show — появление картинки на фоне
sl — название спрайта персонажа
nomal — эмоция персонажа
pioneer — одежда
far, close — существует три положения относительно игрока. По умолчанию это среднее положение. Кроме этого, есть far — дальнее и close — ближнее положение.
at left — положение относительно центра экрана. Слева направо: fleft, left, cleft, center, cright, right, fright. Если персонаж уже находится в нужном положении, можно не использовать.
Также можно использовать только один wih dissolve на следующей строке после описания Слави. Тогда фон и спрайт появятся одновременно, а не последовательно. Также это можно использовать для одновременной смены эмоций разных персонажей.
Весь текст пишется в кавычках.
— пауза во время чтения. То есть, игрок должен нажать ЛКМ ещё раз, чтобы перейти к следующей части.
sl, me — имена персонажей, отображаются в верхней части текстового окна. Полный список — тута. Кроме того, тут списки всех материалов из игры.
th — мысли (~текст такого типа~)
И return — возврат на предыдущий уровень. Если уровень последний, то игра выйдет в меню.
Комментарии в коде можно оставлять с помощью #. Движок игры пропускает всё, что написано после этого символа и сразу переходит на следующую.
На этом первый урок закончен. Потренируйся с этими инструментами, а если захочешь поделиться результатами — шли файл с кодом в комментарии с меткой «Урок 1».
Ты уже достаточно потренировался с линейным моддингом, но хочется чего-то большего?
Добро пожаловать во второй урок!
Но до этого надо исправить парочку недочётов: остановим музыку.
Аналогично с play — указываем нужный канал и, по желанию, время затухания.
Начнём с самого элементарного — меню выбора действия. Но до этого добавим за спину Слави кого-нибудь чтобы разобраться со слоями.
После указания персонажа, эмоции и типа одежды указываем, за кем должен стоять персонаж. В данном случае на экране у нас только Славя, поэтому пишем behind sl. Если ты используешь far или close, то команда behind должна стоять после. Но обязательно перед with-командой (или at, если она есть).
Источник