Найти тему

Игровые события

Оглавление

Сегодня мы подошли к самой обширной теме из цикла — события. Благодаря событиям персонаж взаимодействует с миром, NPC двигаются по карте и мы живем на этой бренной земле…

Небольшие изменения в базе данных

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

В «Действующие субъекты» мы создадим нового персонажа — пёсика. Назовем его «Пёс», загрузим спрайты персонажа и уберем экипировку.

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

Сохраняем настройки и выходим из базы данных.

Шепотку истории для игры

Сюжет игры следующий: Кулер приходит в город за припасами и заходит в ближайший магазин. Там он говорит с продавцом и в ходе беседы собака разбивает бутылку вина. Продавец намекает, что хочет избавиться от пса и даже готов отдать то, что герой заказал у него. Герой соглашается, тем самым получив попутчика и припасы.

Также игрок получит свисток, которым он сможет призывать и отзывать пса. Как именно это сделано мы покажем в следующим посте.

Создание двери

Что же, приступим. Для начала создадим дверь для магазина, чтобы игрок мог попасть в него. Переходим в режим «Событие», выбираем «Быстрое создание события» — «Дверь». В меню выбираем вид двери и место, куда перемещается герой. Сделаем то же для двери в магазине, чтобы игрок выходил из него.

-3

Создание события

Для создания события дважды кликаем по любой клетке. Разберем появившееся окно.

Название и примечание не изменяем из-за отсутствия необходимости. Правее находятся кнопки, отвечающие за страницы событий.

Ниже находится страница события. В разделе «Условия» вы прописываете, при каких обстоятельствах выполняется событие. В «Изображение» вы выбираете картинку, к которой приписываете событие. «Автономное движение» задает поведение NPC с событием, он может как стоять на месте, так и двигаться по карте. Там же задается скорость движения и частота автономного движения. В «Опции» настраивается анимация для ходьбы NPC. «Приоритет» влияет на проходимость персонажа через ячейку события, а «Триггер» на то, при каком взаимодействии событие активируется.

-5

Справа видим «Содержание», в котором прописывается код события. Дважды кликаем по нему и получаем «Команды события».

-6

Из все этого множества мы возьмем только следующие:

I. «Показать текст»

Он нужен для показа диалога. В меню пункта выбирают лицо и вводят текст. Также настаивают фон сообщения и положение окна. Если напротив «Ввода пакета» поставить галочку, то можно ввести большой текст и появится колесо прокрутки. И да, не пересекайте серую линию в поле текст, иначе слова будут выходить за границу экрана.

II. «Показать варианты выбора»

Мы используем эту команду для того, чтобы дать игроку выбор из 3-х видов провианта: сушеное мясо, сушеная рыба и сухари. В окне пункта задаются варианты ответа, вид отображения, вариант по умолчанию и вариант для отмены, который можно запретить. После в пустые строчки выборов вводят новые команды и текста.

III. «Обработка ввода названия»

С этим игрок сможет дать собственную кличку собаке. Меню команды маленькое, в нем только 2 пункта: выбор действующего субъекта и максимальное количество символов.

IV. «Ветвь при условном переходе»

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

V. «Установить маршрут движения»

Через команду мы зададим траекторию движения для НПС. В меню выбирают в каком направлении движется NPC и зацикливается ли движение.

VI. «Изменить участника стороны»

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

Добавляем продавца и собаку в магазин и начинаем работу с событиями.

Для катсцены в магазине понадобилось создать три события, мы назвали их продавец, пёс и вино.

Рассмотрим событие продавец. Триггер выставляем по кнопке действия. В коде видим диалог между главным героем и продавцом, далее выбор варианта ответа, на отмену ставим отмену. В каждом варианте ответа прописываем свой вариант диалога и независимо от выбора включаем управляющий оператор, который отвечает за событие пса; управляющий оператор – это переменная, которая имеет только два состояния – 1 и 0. Также установим управляющий самостоятельный оператор, чтобы данное событие больше не повторялось.

Далее перейдём в событие собаки. Здесь выставляем параллельный тригер, чтобы событие запустилось автоматически при включении необходимого оператора. В окне с кодом мы видим ветвь при условии, в котором выставляем условием включённый оператор, также ставим галочку на чекбоксе «создать другую ветвь». В пункте «если» - устанавливаем маршрут движения события, после показываем анимацию удара и включаем оператор для бутылки вина. В конце ставим самостоятельный оператор, чтобы движение не зациклилось. В ветвь «иначе» мы поставим стояние на месте.

-14

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

-15

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

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

-17

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

-18

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

На выход из города поставим событие, которое позволит завершить игру.

-20

Вот так выглядит наша мини-игра (тайм-код видео — 7:24). В следующем видео мы разберем общие события и как они используются. Подписывайтесь и не пропустите!