- Сообщений: 10
- Спасибо получено: 21
[VX Ace] Строим дом из блоков
2. Непосредственное строительство из блоков. Его-то мы сегодня и разберем, ибо в демо-проекте был использован именно он.
Дом снаружи
На снимке мы видим собственно наш будущий дом и рядом туалет.
Ниже слева телепорт в магазинчик и справа телепорт в лес.
Далее идет наша строительная табличка, окруженная событиями, которые определяют с какой стороны от таблички мы находимся.
Правее ближе к лесу колода с топором.
Ниже свернутая палатка.
Далее костер.
Слева-внизу 2 события: стартовое и вспомогательное.
С самого края справа мы видим трубу, ниже дверь в туалет и дверь в дом.
Дом внутри
Левая верхняя комната - это кухня.
Правее спальня.
И внизу гостиная.
Как вы видите, вся мебель в этих комнатах состоит из событий.
В левом нижнем углу у нас событие для разжигания камина. В нужный момент оно помещается внутрь камина.
Справа-внизу у нас вспомогательное событие.
И в самом низу собственно телепорт на карту с домом.
Теперь давайте рассмотрим все подробнее. Начнем по порядку срабатывания событий.
1. Стартовое событие. Приоритет = Любой, Триггер = Автоматически (или параллельно).
Это событие показывает несколько диалогов при условии, что их еще не показывали. Если не добавить это условие, то диалоги будут показаны при любом входе на карту или загрузке игры. Я сделал переключатель "Начальный диалог" и после показа соответствующих диалогов просто включаю его. При этом диалоги и включение должны находиться внутри условия "Начальный диалог == ВЫКЛ".
2. Вспомогательное событие. Приоритет = Любой, Триггер = Параллельно.
Это событие проверяет построен ли дом. Если дом построен, оно ставит на свои места дверь дома и печную трубу. Кроме того, оно проверяет построен ли туалет. Если построен, оно ставит на свое место его дверь. Еще оно проверяет разведен ли костер. Если разведен, то оно включает фоновый звук пламени. И еще одно важное действие присвоение переменной "Древесина" значения "Древесина (в инвентаре)". То есть, мы можем не присваивать ей значений, при заготовке в лесу, оно просто станет равно количеству древесины в инвентаре при входе на карту с домом.
3. Костер. 2 страницы. Приоритет = На одном уровне, Триггер = От кнопки действия.
На первой мы проверяем выключен ли переключатель "Костер разведен". Если выключен, то включаем его. Так же мы проверяем, сказал ли уже герой, что теперь можно пойти в лес. Если не сказал, то показываем соответствующий диалог. Я сделал для этого отдельный переключатель "Диалог костра". Это нужно для того, чтобы он не говорил эту фразу каждый раз, когда мы разводим костер. На второй странице мы проверяем включен ли переключатель "Костер разведен" (также и в условии запуска страницы). Если включен, то выключаем его. И заглушаем фоновый звук пламени. То есть, нажимаем один раз - костер загорается, нажимаем второй - гастнет.
4. Палатка. 3 нижних части = 2 страницы. Приоритет = На одном уровне, Триггер = От кнопки действия.
При нажатии на любую из 3 нижних частей на первой странице, проверяется условие (переключатель) "Палатка поставлена" = ВЫКЛ. Если условие выполнено, то затеняем экран, включаем перключатель, ставим ожидание 60 кадров и показываем экран. При этом палатка будет уже поставлена. На второй странице все аналогично первой, только проверяется условие "Палатка поставлена" = ВКЛ и соответственно переключатель мы выключаем. В итоге мы можем сколько угодно раз ставить и убирать платку.
5. Колода. 2 страницы. Приоритет = На одном уровне, Триггер = От кнопки действия.
На первой странице мы проверяем есть ли у нас в инвентаре топор. Если его там нет, то проверяем сазал ли уже персонаж фразу о топоре. Если не сказал, то показываем соответствующий диалог и включаем переключатель "Диалог топора". Мы ведь не хотим, чтобы он постоянно повторял эту фразу. После условия диалога добавляем 2 действия: добавить в инвентарь топор и проиграть звук. У меня это звук "Sword 4". На второй странице у нас условие запуска "Предмет: Топор есть". И соответственно если он есть, то мы его отнимаем и проигрываем звук, который был на странице 1.
6. Дом. Приоритет = Любой, Триггер = Любой.
Добавляем события по количеству блоков будущего дома. На скриншоте мы видим, что они расположены сразу в нужном месте. Я назвал каждое событие в соответствии с рядом и местом. Ряд первый - А1-А7. Ряд второй - Б1-Б7. И так далее. Назначаем условие запуска для каждого из событий на соответствующий переключатель. То есть, чтобы у нас был виден блок А1, нужно чтобы был включен переключатель А1. А2 - переключатель А2. И так далее.
7. Туалет. Приоритет = Любой, Триггер = Любой.
Здесь все аналогично дому. Только блоки я назвал иначе. Т1-Т15.
8. Вокруг таблички. Приоритет = Под персонажем, Триггер = Касание персонажа.
Добавляем 4 события вокруг таблички. Для того, которое ниже назначаем включение переключателя "Снизу от таблички" и отключение переключателей "Слева от таблички", "Сверху от таблички" и "Справа от таблички". Для других проделываем аналогичные действия, с той лишь разницей, что включаем в них переключатели соответствующие сторонам таблички.
9. Табличка. 2 страницы. Приоритет = На одном уровне, Триггер = От кнопки действия.
Вот и самая важная часть. Отсюда начинается строительство нашего дома. На первой странице мы проверяем, достаточно ли у нас древесины. Если ее достаточно, то показываем сообщение, что можно приступать к строительству. Далее определяем, какой из переключателей активен "Снизу", "Слева", "Сверху" или "Справа" от таблички. В зависимости от переключателя задаем путь перемещения игрока к начальной точке строительства, которая у нас находится на 1 клетку ниже левого-нижнего угла дома.
а) Воспроизводим звук "Knock" с ожиданием 30 кадров после каждого.
б) Отображаем блок, включив соответствующий переключатель (А1, А2 и т.д.).
в) Перемещаем игрока на шаг вправо, поворачиваем лицом вверх.
Далее повторяем действия а-в, пока не достигнем правого края.
г) Включаем проходимость, чтобы игрок мог ходить по стенам.
д) Воспроизводим звук "Knock" с ожиданием 30 кадров после каждого.
е) Отображаем блок, включив соответствующий переключатель (Б7, Б6 и т.д.)
ж) Перемещаем игрока на шаг влево, поворачиваем лицом вверх.
Далее повторяем действия д-ж, пока не достигнем левого края.
По достижении правого или левого края дома назначаем игроку перемещение с прыжком по оси Y на -1.
И далее повторяем а-в, д-ж, включая соответствующие блокам переключатели до момента, когда ширина (количество блоков) уменьшится.
Когда ширина уменьшится, изменяем прыжок таким образом, чтобы игрок прыгнул вверх-влево или вверх-вправо в соответствии с тем, с какой стороны дома он находится.
И самое главное, не забывайте отнимать из инвентаря 1 древесины, после каждого включенного блока.
После того, как будет включен последний блок, дом у нас практически готов. Осталось лишь поставить дверь. Чем мы и займемся дальше.
Назначаем игроку перемещение в 3 прыжка +1 по осям X и Y. Далее направляем его на клетку перед дверным проемом, поворачиваем лицом вверх. Воспроизводим 3 раза звук "Knock" с ожиданием 30 кадров после каждого. И перемещаем событие "Дверь дома" на ее исконное место (в дверной проем дома).
Присваиваем переменной "Древесина" количество древесины в инвентаре. И включаем переключатель "Дом построен".
Вот и готов наш дом. Теперь сколько бы вы ни перемещались на карту с ним, он никуда не денется. И прочие события будут отображаться такими, какие были при покидании карты.
На второй странице у нас собственно постройка туалета. Думаю вы сами разберетесь, что там к чему. Условие запуска страницы у нас висит на переключателе "Дом построен".
10. Древесина. Приоритет = На одном уровне, Триггер = От кнопки действия.
Как вы помните, для постройки дома нам необходима древесина. Нарубить ее мы можем в лесу. Для этого я добавил 8 идентичных событий, которые удаляются после воспроизведения звука "Тук-тук-тук" и добавления в инвентарь 10 единиц древисины.
11. Обустройство дома.
Я добавил торговца в отдельной локации. После постройки дома он может помочь нам обставить дом. То есть, при активации нам предлагается выбор, что обставить. В моей демке вы можете выбрать только что-то одно, ибо денег на все я не дал. А где же эти самые деньги? После постройки дома, в лесу появится сундучок с 1000 монет. Как раз на одно из улучшений.
А теперь подробнее о самом процессе улучшения. В доме у меня добавлена мебель в виде событий. Условия запуска у них привязаны к переключателям типа "Плита установлена", "Пианино куплено" и т.п. При выборе обустройства какой-то комнаты, переключатели включаются и ее мебель становится видимой. Конечно при условии, что у вас хватает денег.
На этом, кажется все. Говорите, если что-то упустил.
И собственно демка...
yadi.sk/d/bCXXlMRUkt8MC
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
При попытки войти в дом
Канал: www.youtube.com/channel/UC_dv6JJsCYtMvAkjjQwbUhw
Зловещая тень: rpg-maker.info/forum/proekty/59684-mortu...pes-zloveshchaya-ten
Phantasy Star III rpg-maker.info/forum/igry-i-roliki/60085...tory-of-orakio#79128
Phantasy star Наследие rpg-maker.info/forum/projects/60615-phantasy-star-nasledie
Доблесть воина rpg-maker.info/forum/projects/50869-dobl...na-trpg?limitstart=0
Персона rpgmaker.ru/forum/projects/61435-persona...-storona-dushi#94488
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Статья хорошая, стоит того, я думаю) Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Я пытался добиться реализма в строительстве. А уж как дальше делать, личное дело каждого.I_LORD пишет: Очень долго строит...можно обрезать процесс..показать только начало ..потом затемнение и все.
При попытки войти в дом
Добавил тайлсет.
Хорошо, сейчас сделаю. Вопрос лишь, какие именно моменты добавить?DeadElf79 пишет: Автор, будь добр, разбавь иллюстрациями
Статья хорошая, стоит того, я думаю)
--исправил дабл-пост --эльф
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Далее во временном лагере определяем несколько событий и условий:
В лесу раскладываем 8 одинаковых событий, которые при активации будут добавлять в инвентарь (и переменную) по 10 единиц древисины
Итак, мы на самой важной (сложной) карте. Здесь у нас больше всего событий
Далее вне видимой области помещаем наш дом, состоящий из событий.
Далее размещаем событие-табличку. Хотя, желательно бы верстак, но чего нет, того нет
Далее переносим событие А1 на нужную клетку.
По окончании строительства, задаем персонажу 3 прыжка в направлении клетки не занятой домом
Внутри дома у нас только одно событие-телепорт
Вот в этих местах было бы неплохо. Будет на что ориентироваться хотя бы
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Сообщений: 504
- Спасибо получено: 369
Хотя все равно миленько)Жаль, ввиду того, что у меня демка запускаться не хочет, не смогу оценить как оно выглядит на деле.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Чтобы действительно построить дом, надо очень постаратьсяzmeelov66 пишет: Кхм, ожидал возможности строить дом, получил видимость возможности строить дом))
Хотя все равно миленько)Жаль, ввиду того, что у меня демка запускаться не хочет, не смогу оценить как оно выглядит на деле.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Всего хорошего, и спасибо за рыбу
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
yadi.sk/d/bCXXlMRUkt8MC
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
