Миничат

DaN 52 мин. Я ослеп
Marganec 1 ч. блин это круто, надеюсь вместе с дизайном поменяются и правила и ещё может что-нибудь
Marganec 1 ч. 0_0 охренеть
Marganec 1 ч. Вы что сделали с сайтом
Kerotan 1 ч. роса эксплуатирует миничат и в хвост и в гриву (ง ื▿ ื)ว
Адский дровосек 3 ч. ааааа что здесь происходит?
poca 9 ч. не кикает больше часа. зер гут
poca 11 ч. было-бы неплохо, да
poca 11 ч. авто-бан за 10 повторений
poca 11 ч. придётся
poca 11 ч. банить
poca 11 ч. фсаперов
poca 11 ч. вручную
poca 11 ч. то
poca 11 ч. а
poca 11 ч. надо
poca 11 ч. прикрутить
poca 11 ч. фильтр
poca 11 ч. -
poca 11 ч. -
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

[VX Ace] Появление события по условию

Больше
7 года 6 мес. назад #106977 от ShinkoriVera
Снова нужна помощь. Можно ли в мейкере сделать так, чтобы некое событие появилось после того, как были посещены несколько других? Да, можно создавать ветки мапов, но можно ли по условию? Просто те события передвигаются, и после выходит не очень, когда перемещаешься на изначальную точку события, когда оно переместилось в другое место
Надеюсь, меня поймут...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
7 года 6 мес. назад - 7 года 6 мес. назад #106978 от Dmy
Можно создать параллельное событие на карте и добавить проверку туда.

В параллельном событии сделать что-то типа:
ЕСЛИ условие 1 ТО
  ЕСЛИ условие 2 ТО
    ЕСЛИ условие 3 ТО
      Переключатель: установить «событие появилось» в ВКЛ
    КОНЕЦ ЕСЛИ
  КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
Ждать 1 кадр

Проверка «если» делается командой «Ветвление условий».

А то появляющееся событие сделать зависимым от переключателя «событие появилось».

Если непонятно, спрашивайте, могу описать подробнее.
Последнее редактирование: 7 года 6 мес. назад пользователем Dmy.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
7 года 6 мес. назад #106979 от ShinkoriVera
Да, поясните, пожалуйста. У меня просто ещё версия на английском, а я вообще немецкий изучал. Заранее спасибо

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
7 года 6 мес. назад - 7 года 6 мес. назад #106980 от Dmy
Вот пример: TestSwitchConditions.zip (1.3M). Ниже подробнее описано, что происходит.

_____

Для начала создаём пару других событий, которые нужно посетить первыми. Они будут после своего посещения включать переключатели (switches) с помощью команды Переключатели (Control Switches). Переключатели — это такие невидимые штуки, которые могут быть включены и выключены. Их удобно использовать, чтобы записывать продвижение по сюжету.

Нужно использовать именно глобальные переключатели (switches), а не локальные (self-switches), потому что локальные переключатели не видны другим событиям.

Команда «Переключатели» выбирается вот тут:


Настраивается она вот так:


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


В результате каждое событие при посещении будет устанавливать свой переключатель «Событие N посещено», вот так:


Таких событий можно наделать, сколько угодно. В принципе, можно сразу же в них добавить проверку «Все события посещены?», и если все, то ВКЛючать переключатель «Все события посещены». Но это неудобно: придётся копировать проверку во все события (а потом, если надо будет добавить новое событие, редактировать его в трёх местах). Лучше сделать параллельное событие.

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

Выберите пункт «Запуск события»: «Параллельно» (Trigger: Parallel, если не ошибаюсь). Большинство событий выполняются по очереди: в один момент может выполняться только одно, и все остальные блокируются. Но параллельные выполняются «в фоновом режиме» и не блокируют выполнение других событий. Для технического события «параллельное» выполнение — самое то.



Справа надо вставить код, который будет постоянно выполняться в фоновом режиме. Код будет проверять, что все переключатели включены. Для этого можно использовать команду «Условие» (Conditional Branch, в других переводах Ветвление условий):



При выборе этой команды откроется настройка условия. Выберите первое условие на первой странице (проверку переключателя) и выберите проверку, что переключатель ВКЛючён (ON). Выберите свой первый переключатель, а снизу уберите галочку «Добавить ветку «Иначе» (Add ELSE branch) — оно нам не нужно:



В результате создастся вот такая структура (в других переводах вместо «УСЛОВИЕ» может быть «ЕСЛИ»):

@> УСЛОВИЕ: Переключатель [0001:Событие 1 посещено] == ВКЛ
  @>
: КОНЕЦ
@>

Между «УСЛОВИЕ» и «КОНЕЦ» можно размещать команды, которые выполняться, только если условие выполняется. Щёлкните по внутренней строке «@>», чтобы добавить команду, и добавьте туда ещё одну проверку условий, на этот раз проверяя второй переключатель:


@> УСЛОВИЕ: Переключатель [0001:Событие 1 посещено] == ВКЛ
  @> УСЛОВИЕ: Переключатель [0002:Событие 2 посещено] == ВКЛ
    @>
  : КОНЕЦ
  @>
: КОНЕЦ
@>


И-и-и-и ещё раз! Добавьте внутрь ещё одно условие:

@> УСЛОВИЕ: Переключатель [0001:Событие 1 посещено] == ВКЛ
  @> УСЛОВИЕ: Переключатель [0002:Событие 2 посещено] == ВКЛ
    @> УСЛОВИЕ: Переключатель [0003:Событие 3 посещено] == ВКЛ
      @>
    : КОНЕЦ
    @>
  : КОНЕЦ
  @>
: КОНЕЦ
@>

И уже внутри, когда все три условия выполняются, включайте переключатель «Все события посещены» командой «Переключатель» (Control Switches):


@> УСЛОВИЕ: Переключатель [0001:Событие 1 посещено] == ВКЛ
  @> УСЛОВИЕ: Переключатель [0002:Событие 2 посещено] == ВКЛ
    @> УСЛОВИЕ: Переключатель [0003:Событие 3 посещено] == ВКЛ
      @> Переключатель: [0004:Все события посещены] = ВКЛ
      @>
    : КОНЕЦ
    @>
  : КОНЕЦ
  @>
: КОНЕЦ
@>

В результате это событие в фоновом режиме проверяет, посещены ли все события. Если посещены — включает переключатель «Все события посещены». Но! Много параллельных событий могут нагружать компьютер. Поэтому лучше добавлять команду «Ждать», чтобы выполнение следующей проверки произошло не сразу тут же, а через какое-то время:



Ожидание задаётся в кадрах. Кадр — 1/60 секунды (по умолчанию игры на мейкере идут со скоростю 60 кадров в секунду; это можно поменять). Почти всегда безопасно ждать 1 кадр, но обычно можно ставить числа побольше. Игроки вряд ли заметят задежку в 1/6 секунды.

Итак, событие получается таким:



Ну и после этого нужно добавить само событие, которое реагирует на первые. Для этого добавим в него проверку переключателя «Все события посещены». Это можно сделать либо с помощью той же команды «Условие» (Conditional Branch), либо создав у события две страниц — первую без условий, вторую с условием «переключатель Все события посещены включён».

Вот пример всего того, что написано выше: TestSwitchConditions.zip (1.3M).

Альтернативный вариант: как вариант, вместо трёх переключателей можно использовать переменную (variable): завести переменную «Число посещённых событий» и увеличивать её значение на 1. А потом сравнивать значение переменной, если оно равно 3 — то что-то делать. Ну, надеюсь, принцип понятен.
Последнее редактирование: 7 года 6 мес. назад пользователем Dmy.
Спасибо сказали: idavollr, Cabbit, Mur, Snake Fightin, ShinkoriVera

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
7 года 5 мес. назад #107027 от ShinkoriVera
Спасибо большое, всё сделал, всё работает, как и хотел) Ещё раз спасибо~
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.092 секунд
Работает на Kunena форум