50

RPG Maker MZ: урок №7. Текст, диалоговые окна, фейсы и шрифты

Обещал урок вчера, а делаю сегодня. Обещал про переменные и переключатели, а говорить сначала будем про простейшие команды) Просто, для работы с переменными и переключателями нам потребуется как-то наглядно все демонстрировать, а я ужас как не люблю учителей, которые показывают что-то, при этом говоря: «Как я это сделал сейчас неважно!». Важно. Ученики должны иметь возможность самостоятельно повторить все действия из урока, понимая при этом, что они делают, а не тупо копируя последовательность.


Кстати, есть и видео версия:

https://youtu.be/CaM9_HFMcrE

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


Я выбрал ту же самую девку, что и в прошлых уроках. Движений ей мы не зададим, расположим на одном уровне с игроком (ведь она такой же персонаж), а триггер выставим по кнопке.


Теперь посмотрим на правую часть окна редактора событий. В большом поле «Содержимое» будут отображаться все команды данного ивента. Дать команду просто – достаточно двойного клика ЛКМ по пустой строке и перед нами открывается окно с кучей кнопок, расположенных аж на трех страницах.

Нас интересует самая верхняя кнопка «Показать сообщение…», после нажатия на которую, открывается окно, для ввода текста, который мы хотим каким-либо образом вывести на экран. Рассмотрим это окно:

Кликнув по полю «Лицо» мы можем выбрать фейс (если хотим этого), который будет отображаться слева от текста. Фейс нашей девки находится в файле Actor3.

Фейс – в мукере изображение с лицом персонажа, используемое для диалогов.

Фейссет – файл с набором фейсов из 8 штук.


Я уж не буду откладывать эту тему и сразу поясню, что все файлы фейссетов лежат в папке проекта по пути Папка проекта -> img -> faces. Они представляют из себя картинки в формате PNG размером 576х288 пикселей, которые движок разбивает на 8 частей, в каждую из которых можно поместить один отдельный фейс размером 144х144 пикселя. Файлы фейссетов, в отличие от чарсетов, не могут быть какого угодно размера и ограничены базовым.

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


Ниже поля «Лицо» есть поле с кривым именем «Название». На самом деле, сюда можно ввести имя персонажа и оно будет выводиться над сообщением отдельно. Назовем нашу девку Шляпницей и продолжим.


В RPG Maker MV и более ранних, поля для введения имени персонажа нет


Справа, в поле сообщение, можно ввести любой текст. Обратите внимание на вертикальную полоску в правой его части – она указывает на границу окна диалога(либо экрана игры) и текст нужно переносить вручную на новую строку с оглядкой на этот ориентир. Да, автопереноса не завезли. Есть плагины на это дело, более того, есть плагины, цепляющие текст из файлов, как у взрослых движков, но об этом позже.


Давайте поэкспериментируем:

Я намеренно не перенес текст, что бы показать, как это будет выглядеть в игре. Вообще-то у нас имеется кнопка «предпросмотр», которая как бы призвана показывать внешний вид диалога в игре, чтобы нам каждый раз не запускать тест, но…

Как мы видим, сообщение обрезается чуть раньше, чем показано линией в окне ввода. И гораздо раньше, чем в самой игре:

Проблема заключается в используемых шрифтах и их размерах, они разные для поля ввода, окна предпросмотра и самой игры – в предпросмотре Verdana, а в игре и поле ввода M+1M Regular, но разного размера (ладно, кегля!).


Какой из этого выход? Их два. Первый самый простой – привыкнуть. Просто привыкнуть ориентироваться по полоске и помнить, что она не строгая и чуть-чуть левее, чем нужно. Так делают почти все.


Второй способ – заменить оба шрифта на одинаковый. В этом случае предпросмотр практически перестанет врать, но очень может быть, что начнет врать полоска-ограничитель. Такая вот хреновая альтернатива.


Как менять шрифты?


Для того, что бы изменить шрифт, его надо сперва скачать. Даже если вы хотите использовать какой-нибудь Time New Roman, который по дефолту есть в числе системных, вас все равно потребуется файл с ним, чтобы вложить его в папку fonts, которая находится в папке проекта. Потому, как сам мукер – десктопное приложение, а игра – вэбовское.


Мукер поддерживает шрифты с расширением woff(по умолчанию) и ttf.

Допустим, мне лень заморачиваться и я хочу себе Comic Sans MS, вот такой я говноед. Для этого я забивают в гугле «Comic Sans MS.ttf» и перехожу по первой же ссылке: allshrift.ru/font/comic-sans-ms/


Скачиваю, распаковываю архив и закидываю шрифт в папку Папка проекта ->font

Заодно, жму ПКМ по файлу со шрифтом и устанавливаю его в систему (Комик там есть, но вдруг у вас другой? Лучше перебздеть, чем недобздеть).

Далее нам нужна База Данных, где мы будем колдовать с вкладкой Система 2. Тут много разных настроек, но нас интересуют три строки в правой части окна:


Название файла основного шрифта – первая строка отвечает за шрифт в игре


Название файла основного шрифта – второй пункт с таким же названием (оно тупо не влезает из-за перевода) отвечает за шрифт цифр в игре


Резервные шрифты – указывает шрифты, установленные в системе, которые используются для

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


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

В общем, кликаем на первую строку «Название файла…», удаляем то, что там есть и вставляем имя файла нашего нового шрифта вместе с расширением. Со второй строкой делаем то же самое, а вот в третью вбиваем уже название шрифта, а не файла.


Отыскать название можно в винде, вбив в поиске «шрифты» и открыв «Параметры шрифта» и там уже в поиске начать вбивать предполагаемое название.

Название – Comic Sans MS


Как мы видим, в строке «Резервные шрифты», кроме названия есть еще что-то после запятой. Это указано семейство шрифтов. Раньше стояло sens-serif, т.е. семейство без засечек. Теперь у нас будет семейство cursive, так как именно к нему относится наш шрифт.


Основные семейства(мало ли пригодится):

Serif – с засечками (засечки, это такие хреньки на концах букв, как у рыболовного крючка), типа Garamond, Georgia, New York, Times, Times New Roman

Sens-serif – без засечек, типа Arial, Geneva, Helvetica, Lucida Sans, Trebuchet, Verdana

Monospace – машинный шрифт, как у пишущей машинки, короче. Например – Courier, Courier New, Lucida Console, Monaco

Fantasy – художественные шрифты, типа Copperplate, Desdemona, Impact, Kino

Cursive – рукописные, типа Comic Sans MS, Lucida Handwriting, Zapf Chancery

Ну, давайте смотреть на результат!

Предпросмотр плюс-минус совпадает с полосой ограничения в редакторе и полностью совпадает с тем, что в игре! Мы победили проблему стандартных мукерских шрифтов, которые, если честно, всё равно говно и их по-хорошему менять стоило)


В RPG Maker MV и более ранних, данная проблема отсутствует, так как шрифт используется один для всего, а заменяется простой заменой файла в папке.


Уф. Казалось бы, такая ерунда, а не так-то просто делается! Ну, благо, достаточно эту процедуру провести один раз в начале разработки и потом забыть. Продолжаем изучать окно сообщения!


Слева от кнопки предпросмотра есть два переключателя режимов:


Положение окна отвечает за то, в какое место на экране игры будет выведено данное сообщение. Можно это сделать внизу, посередине и вверху.

Меню «Фон» нам предлагает три варианта отображения текста:


Обычный - в диалоговом окне, которое мы уже видели


Уменьшенная Освещенность, это когда текст выводится на слегка затемненном прозрачном поле


Прозрачный - т.е. просто поверх того, что происходит на экране.

Предпросмотр при этом не показывает то, как будет выглядеть и располагаться сообщение, а работает лишь с текстом.


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

Наконец, у нас остается галочка в левом нижнем углу, под названием «Массовый ввод». Галочка нужна в тех случаях, когда текст реплики персонажа слишком длинный и не влезает в 4 строки стандартного диалогового окна. В этом случае все лишнее переносится вниз и выводится в игре нажатием кнопки.

Заметьте, что в содержимом ивента, массовый ввод превращается в три отдельных команды по выводу сообщения, с которыми в последствии мы можем работать, как с отдельными командами.

Предпросмотр, при массовом вводе показывает содержимое последней команды.

Окно ввода текста диалога умеет в различные плюшки, в частности, наведя на него курсор мыши и немного подождав, мы получаем объемную подсказку, по спец.тегам:


\V[n] – где n номер переменной, выводит значение переменной в тексте диалога

\N[n] – где n IDшник персонажа в базе данных, выводит имя персонажа

\P[n] – где n IDшник персонажа в партии (от 1 до 4), выводит имя персонажа.

\G – выводит название игровой валюты

\C[n] – выбор цвета текста, где n – номер цвета из базы. Номер можно узнать, нажав ПМК по полю ввода, выбрав «вставить индекс цвета» и кликнув по понравившемуся цвету:

Помните, что поставленная команда выбора цвета окрашивает весь последующий текст в этом сообщении. Если хотите вернуться к первоначальному – его нужно снова выбрать, проставкой спец.команды \C[n].


\I[n] – показать в диалоге иконку из набора иконок, в базе данных. Номер иконки добывается так же по ПКМ->вставить индекс иконки

\{ –шрифт на единицу больше

\} - шрифт на единицу меньше

\FS[n] – увеличение шрифта на заданное количество единиц

\PX[x] – устанавливает точку начала текста, идущего после команды, в окне по оси х(координаты в пикселях), относительно края окна, а не фейса!

\PY[y]- устанавливает точку начала текста, идущего после команды, в окне по оси y(координаты в пикселях), относительно края окна, а не фейса!

Х=20 Y=40 в данном случае


\\ - просто выводит символ обратного слеша, так как одиночный воспринимается, как команда и съедается движком.

\$ - открывает окно с деньгами (скин не влез, ищите в комментах)

\. – пауза в выводе текста 0.25 сек.

\| - пауза в выводе текста 1 сек

\! – ждать нажатия кнопки, прежде чем выводить следующий текст

\> - мгновенно вывести весь следующий текст

\< - удалить текст после выведения

\^ - вывод следующего сообщения без кнопки


Последняя группа команд может быть использована для придания диалогам эмоциональности, но…

Совет: не злоупотребляйте фиксированными паузами – игроков это бесит.

Еще совет: переносите слова всегда целиком. Не надо использовать черточку-перенос, вы не в школе и не книгу пишете. И старайтесь одну фразу упихать в одно окно, не надо долгих прокручивающихся опусов. Персонажи должны говорить емко и понятно.


Хотел еще рассказать о том, как менять вид самого диалогового окна, его подложки и рамки, но, увы – простыня слишком большая и картинок много. Потом разберемся, когда базу ковырять будем.


Увидимся на следующем уроке!

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества