Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: Вариативность квестов (новичок просит помощи :)

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122846

  • Eloth001
  • Eloth001 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 34
Доброго времени суток! Сразу оговорюсь, что только начал знакомство с редактором, поскольку понял, насколько это мощный инструмент, и вдохновился. Посмотрел несколько обучающих видео, часть полученной информации применил на практике. Получилось. Вроде бы. Вопрос в том, что, когда уже начинаешь искать информацию под конкретные задачи, приходится перерывать горы материала, и все равно не факт, что найдешь. Поэтому я хотел бы описать здесь на форуме, в чем конкретно у меня возникли сложности, буду благодарен если ветераны смогут помочь советом :) Сложности возникли при попытке придать квесту вид нелинейности. Выглядит все как-то так:

1. Игрок находит в пустоши некое тело. Тело оказывается не до конца мертвым и неожиданно хватает игрока.
2. Его можно с перепугу сразу добить. В этом случае игрок не получает ничего.
3. Можно не добивать. Тогда тело сунет игроку пару квестовых предметов (записку и ключ), назовет нужное имя и само отойдет в мир иной. В этом случае у игрока будут эти предметы, нужные для квеста.
4. Даже если в предыдущем действии мы добили тело, его затем можно обыскать, тем самым получив с него все нужные предметы. Тут первая сложность: как настроить, чтобы при обыске квестовые предметы не выдавались повторно, если они у нас уже есть? Тут же и вторая сложность: как реализовать, чтобы обыскивать тело можно было только один раз, и при повторном обыске не добавлялись расходники (голда и т.п.)? Мне пока приходит мысль с переключателем и отдельной страницей ивента, но может как-то еще можно.
5. Далее. Тело можно похоронить. Даже если мы до этого ничего от него не получали и не обыскивали. Таким образом, все квестовые предметы остаются на теле в могиле, недоступной к взаимодействию.
6. Еще далее. Невдалеке от места действия стоит шатер, в котором сидит закованная пленница тела. Если у нас есть ключ - то все в порядке, освобождаем. Но ключ может быть в могиле :laugh: В этом случае нужно, чтобы после разговора с пленницей активировалась возможность эксгумации :laugh:
7. Ничто не мешает игроку пойти сначала не к телу, а в шатер. При этом диалог будет кардинально различаться в зависимости от того, контактировал игрок уже с телом или нет, вне зависимости, есть у него при себе ключевые предметы или нет.

Хотелось бы для себя понять, за счет каких параметров выставлять условия в ивентах вышеописанного нехитрого сценария. Спасибо всем, кто осилил данную простыню. Буду благодарен за подсказки.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Zeacton

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122848

  • Alx_Yago
  • Alx_Yago аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1137
  • Спасибо получено: 2156
  • 3 место в Обучающем конкурсе3 местоПроект месяца 1 местоПроект года 3 местоРазработчик1 место в Обучающем конкурсеОраторПаладинУчительПроект года 1 место
В самом общем виде всё это делается при помощи переменных, переключателей, или локальных переключателей.
Переключатели удобны, когда надо просто обозначить, что событие произошло. Переменные - для цепочки событий (произошло первое, потом второе, потом третье). Локальные триггеры - для событий и проверок внутри конкретного ивента (ты обыскал сундук, и в ивенте сундука включается локальный триггер).
При том, или ином действии любой из этих параметров меняется, а когда нужно, проводится проверка (умеешь ведь делать ветвление условий?). Также можно делать проверку наличия предмета.
Если не получится самому разобраться, пиши, сделаю и заскриню конкретные примеры.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Sleeping Visitor, Eloth001

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122873

  • Eloth001
  • Eloth001 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 34
Доброго здравия! Благодаря функции ветвления условий удалось решить 99% поставленных задач. Я еще не совсем понял, как работать с переменными, поэтому пока что "заякориваю" определенные события на скрытые предметы, которые по необходимости добавляю/убираю из инвентаря. Я еще не понял, насколько это оптимально, но пока что выглядит удобно.

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

NamelessGrave_test.png
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122874

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1599
  • Спасибо получено: 1520
  • 3 место Готв1 место в ГотвУчитель3 местоРазработчикВетеранТестерПисатель 2 место
Лучше бы разобраться с переменными и переключателями, потому что с ними проще работать и создавать их. Очень рекомендую изучить в справке(доступна у меня в подписи на русском) почитать о них. Там всё довольно легко.

На скрине четвёртая страница, которая активируется локальным переключателем, точно ли она запускается?
Хотя скорее всего причина в том, что приоритет стоит "под персонажем" в таком случае, чтобы активировать ивент, на нём надо стоять.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, Alx_Yago, Eloth001

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122881

  • Eloth001
  • Eloth001 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 34
Н-да, ненадолго я покинул этот топик :silly:
Затык образовался с вещью вроде бы простой, но поиск по ресурсам, и не только в рунете, мне почему-то не дал результатов.
В общем, надо сделать так, чтобы при первой встрече НПЦ приветствовало героя одной конкретной фразой. Но только один раз.
При повторном запуске НПЦ должно говорить другую, тоже конкретную, фразу.
Единственный рабочий вариант, который у меня пока есть, это создание для каждого отдельного приветствия своей страницы ивента. И он мне не нравится, потому что очень глаза мозолит все это пустое место.
Пробовал решать это дело с помощью переменной, изменив ее значение после стартовой фразы, но у меня оно почему-то так не сработало.

Greetings_test.png
Последнее редактирование: 2 года 10 мес. назад от Eloth001.
Администратор запретил публиковать записи гостям.

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122882

  • Snake Fightin
  • Snake Fightin аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 701
  • Спасибо получено: 856
  • РазработчикПроект месяца 3 местоОраторПроект месяца 2 местоПроект месяца 1 местоОрганизатор конкурсов
Красную строчку переместить в ветку "Эй, Батч"
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eloth001

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122883

  • Eloth001
  • Eloth001 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 34
Спасибо, так я тоже уже пробовал. По-разному пробовал, все равно не работает :(
Администратор запретил публиковать записи гостям.

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122884

  • Snake Fightin
  • Snake Fightin аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 701
  • Спасибо получено: 856
  • РазработчикПроект месяца 3 местоОраторПроект месяца 2 местоПроект месяца 1 местоОрганизатор конкурсов
А что конкретно означает "не сработало" ?
Кстати, хочу напомнить, что без обнуления переменной при тестировании переменная будет иметь значение отличное от нуля и первого варианта не увидишь.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eloth001

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122885

  • Eloth001
  • Eloth001 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 34
Snake Fightin пишет:
А что конкретно означает "не сработало" ?

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

Оу) Для меня, как для человека, третий день знакомящегося с Мейкером это не напоминание, а новая информация)))
Для чистоты эксперимента изменил нуль на целое число. Вот так теперь это выглядит (но эффект по-прежнему нулевой):

Greetings_test2.png
Администратор запретил публиковать записи гостям.

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122886

  • Демий
  • Демий аватар
  • Вне сайта
  • Модератор
  • Здесь могла быть ваша реклама
  • Сообщений: 1599
  • Спасибо получено: 1520
  • 3 место Готв1 место в ГотвУчитель3 местоРазработчикВетеранТестерПисатель 2 место
Лучше всего в данном случае воспользоваться локальным переключателем и страницей эвента. Как-то так:
страница 1 [ Нажмите, чтобы развернуть ]

страница 2 [ Нажмите, чтобы развернуть ]


Точно так же, вместо локального, можно использовать глобальный, но тогда надо следить, чтобы он не активировался раньше времени:
страница 1 [ Нажмите, чтобы развернуть ]

страница 2 [ Нажмите, чтобы развернуть ]


Но вообще, странный момент, потому что судя по тому, что я вижу, всё должно работать. Может есть ещё какие-то страницы у ивента, например?
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Eloth001

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122887

  • Eloth001
  • Eloth001 аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 25
  • Спасибо получено: 34
Демий пишет:
Лучше всего в данном случае воспользоваться локальным переключателем и страницей эвента.

Да, этот способ на данный момент остается самым очевидным и рабочим для меня. Просто он меня иррационально бесит из-за некомпактности, что ли... но, если нет других вариантов, придется воспользоваться им. Благодарю за наглядность!
Демий пишет:
Но вообще, странный момент, потому что судя по тому, что я вижу, всё должно работать. Может есть ещё какие-то страницы у ивента, например?

Тестировал с единственной страницей. Вот как бы да, странно. Должно работать, а не работает. Даже вставил вот этот отдельный фрагмент в новый ивент и протестил отдельно. Первая фраза проигрывается, вторая нет. У меня смутное чувство,
что я что-то не то выставляю в переменной. Но никак не соображу, что именно.
Администратор запретил публиковать записи гостям.

Вариативность квестов (новичок просит помощи :) 2 года 10 мес. назад #122888

  • Братец Лис
  • Братец Лис аватар
  • Вне сайта
  • Мастер
  • Злая неадекватная скотина
  • Сообщений: 156
  • Спасибо получено: 166
Eloth001 пишет:

Greetings_test2.png

Оно и не будет работать.

Ибо при каждом старте диалога ты приравниваешь переменную к единице. После строки диалога, её значение, как и нужно, меняется на 2, но запуская диалог вновь, переменная опять становится равна 1, и стало быть, верным остается первое условие в ветвлении.
Удали первую строку (Переменная: #0001 Приветствие = 1), замени во второй 1 на 0, и все будет ОК. Snake Fightin всё верно тебе выше писал.



Примерно вот так:

159533152967805741.png


Но вариант с локальным переключателем лучше (У Демия первый вариант)
Последнее редактирование: 2 года 10 мес. назад от Братец Лис.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Демий, Alx_Yago, Eloth001
Время создания страницы: 0.253 секунд