Команди RPG Maker MV та MZ/Умовне розгалуження

Матеріал з РПГ.укр
Перейти до: навігація, пошук
Вікно налаштування команди (показана перша сторінка умов).

Умовне розгалуження(анг. Conditional Branch, ​рос. Ветвление условий)команда подій в RPG Maker MV, яка дозволяє виконати різний код в залежності від умови.

Ця команда знаходиться на першій сторінці зліва. Це перша команда в категорії «Керування процесом» (остання категорія в лівому стовпчику).

Показати команду на скриншоті

Перша сторінка команд подій в RPG Maker MV.png

Налаштування[ ]

У команди такі налаштування:

  • Умова — вказує, яку умову перевіряє команда. Всі умови розбиті на чотири сторінки (описані нижче).
  • Створити гілку «Інакше»(анг. Create Else Branch, ​рос. Создать ветвь «Иначе») — чи потрібно вказувати команди, якщо умова не виконується.

Перша сторінка умов[ ]

На першій сторінці є наступні умови:

  • Перемикач(анг. Switch, ​рос. Перек-ель) — перевіряє стан перемикача:
    • УВімкнено(анг. is ON, ​рос. ВКЛ)
    • ВИМкнено(анг. is OFF, ​рос. ВЫКЛ),
  • Змінна(анг. Variable, ​рос. Переменная) — порівнює значення змінної, використовуючи одну з 6 операцій (= дорівнює, ≥ більше або дорівнює, ≤ менше або дорівнює, > більше, < менше, ≠ не дорівнює):
    • Константа(анг. Constant, ​рос. Постоянная) — порівняння іде зі значенням, вказаним в налаштуваннях команди,
    • Змінна(анг. Variable, ​рос. Переменная) — порівняння іде зі значенням з іншої змінної,
  • Локальний перемикач(анг. Self Switch, ​рос. Локальный переключатель) — перевіряє стан локального перемикача:
    • УВімкнено(анг. is ON, ​рос. ВКЛ)
    • ВИМкнено(анг. is OFF, ​рос. ВЫКЛ),
  • Таймер(анг. Timer) — перевіряє, скільки залишилося час на таймері

Друга сторінка умов[ ]

Друга сторінка умов.

На другій сторінці умов є такі перевірки:

  • Герой/героїня(анг. Actor, ​рос. Персонаж) — перевірки, пов'язані з певним героєм або героїнею:
    • В партії(анг. In the party, ​рос. В партии) — умова виконується, коли героїня або герой в партії,
    • Має ім'я(анг. Name, ​рос. Имя) — перевіряє, чи має герой чи героїня певне ім'я,
    • Має клас(анг. Class, ​рос. Класс)
    • Знає навичку(анг. Skill, ​рос. Навык)
    • Має зброю(анг. Weapon, ​рос. Оружие) — перевіряє, чи героїня або герой має зброю в спорядженні,
    • Має броню(анг. Armor, ​рос. Броня) — перевіряє, чи героїня або герой має броню в спорядженні,
    • Стан(анг. State, ​рос. Состояние) — перевіряє, чи героїня або герой має певний стан.

Третя сторінка умов[ ]

Третя сторінка умов.
  • Противник/противниця(анг. Enemy, ​рос. Противник) — перевірки, пов'язані з певним/певною противником/противницею:
    • З'явився/з'явилася(анг. Appeared, ​рос. Появился в битве) — перевіряє, чи противник/противниця вже з'явився/з'явилася в битві (більшість противників з'являються спочатку), але ще притомний/притомна,
    • Має стан(анг. State, ​рос. Состояние) — перевіряє, чи противник/противниця має певний стан.
  • Об'єкт на карті ... дивиться(анг. Character ... is facing, ​рос. Персонаж ... смотрит) — перевіряє, чи об'єкт на карті дивиться в певному напрямку.
  • Гравець/гравчиня в транспорті(анг. Vehicle ... is driven, ​рос. Транспорт ... управляется игроком) — перевіряє, чи гравець/гравчиня знаходиться в певному транспортному засобі.

Четверта сторінка умов[ ]

Четверта сторінка умов.
  • Золото(анг. Gold) — перевіряє кількість золота,
  • Річ(анг. Item, ​рос. Предмет) — перевіряє, чи є певний предмет в інвентарі,
  • Зброя(анг. Weapon, ​рос. Оружие) — перевіряє, чи є певна зброя в інвентарі,
    • Включаючи спорядження(анг. Include Equipment, ​рос. Включая экипировку) — якщо ця опція вибрана, умова також буде вважається виконаною, якщо зброя є в спорядженні,
  • Броня(анг. Armor) — перевіряє, чи є певна броня в інвентарі,
    • Включаючи спорядження(анг. Include Equipment, ​рос. Включая экипировку) — якщо ця опція вибрана, умова також буде вважається виконаною, якщо броня є в спорядженні,
  • Кнопку ... натиснуто(анг. Button ... is pressed down, ​рос. Кнопка ... нажата) — перевіряє, чи кнопку натиснуто,
    • OK(анг. OK, ​рос. ОК) — кнопка підтвердження (Enter, Z),
    • Скасування(анг. Cancel, ​рос. Отмена) — кнопка скасування (Escape, X, Insert),
    • Shift(анг. Shift, ​рос. Сдвиг) — клавіша Shift,
    • Вниз(анг. Down),
    • Вліво(анг. Left, ​рос. Влево),
    • Вправо(анг. Right),
    • Вверх(анг. Up),
    • PageUp(анг. Pageup, ​рос. На стр. вверх) — клавіша PageUp або Q,
    • PageDown(анг. Pagedown, ​рос. На стр. вниз) — клавіша PageDown або W;
  • Скрипт(анг. Script) — вказаний код на JavaScript виконується, і результат виконання вважається умовою.

Вказання команд[ ]

Команда додає зразу декілька рядків, приблизно так:

Якщо:кнопку [Pagedown] натиснуто
  ◆
Інакше
  ◆
Кінець

Після рядку Якщо: ...(анг. If: ..., ​рос. Если: ...) йдуть рядки команд, які будуть виконані тільки тоді, коли виконується умова. Список цих команд закінчується пустим рядком, на якому є лише знак ◆.

Якщо увімкнена гілка «Інакше», далі йде рядок Інакше(анг. Else, ​рос. Иначе), а після неї — команди, які будуть виконані тільки тоді, коли умова не виконується.

В кінці команди буде стояти рядок Кінець(анг. End, ​рос. Конец). Далі умова не діє: команди після нього будуть виконуватися незалежно від умови.

Використання в JavaScript[ ]

Щоб перевірити умову, використовується такий код:

if ($gameSwitches.value(1) === true){ //умова
  // команди, які будуть виконані тільки тоді, коли виконується умова.
} else {
  // команди, які будуть виконані тільки тоді, коли НЕ виконується умова.
};

Якщо гілка "Інакше" не потрібна, використовується такий код:

if ($gameSwitches.value(1) === true){ //умова
  // команди, які будуть виконані тільки тоді, коли виконується умова.
};

У прикладі використовується умова, чи увімкнений перемикач 1.

Перша сторінка стандартних умов у JavaScript[ ]

Умова Аналог в JavaScript
Перемикач​ $gameSwitches.value(1) === true, де 1 — номер перемикача, true (false) — значення
Змінна​ $gameVariables.value(1) === 2, де 1 — номер змінної, 2 — значення, === — оператор порівняння (=== — дорівнює, !== — не дорівнює, >= — більше чи дорівнює, <= — менше чи дорівнює, > — більше, < — менше)
Локальний перемикач​ $gameSelfSwitches.value([this._mapId, this._eventId, "A"]) === true, де this._mapId — номер мапи (тут — ця мапа), this._eventId — номер події (тут — ця подія), A — назва локального перемикача, true (false) — значення
Таймер​ $gameTimer.seconds() >= 1, де 1 — значення, >= — оператор порівняння (=== — дорівнює, !== — не дорівнює, >= — більше чи дорівнює, <= — менше чи дорівнює, > — більше, < — менше)

Друга сторінка стандартних умов у JavaScript[ ]

Умова (герой/героїня) Аналог в JavaScript
Має ім'я $gameActors.actor(1).name() === "Оксана", де 1 — герой/героїня в базі даних, Оксана — ім'я
Має клас $gameActors.actor(1).isClass($dataClasses[2]), де 1 — герой/героїня в базі даних, 2 — клас у базі даних
Знає навичку $gameActors.actor(1).hasSkill(3), де 1 — герой/героїня в базі даних, 3 — навичка у базі даних
Має зброю $gameActors.actor(1).hasWeapon($dataWeapons[2]), де 1 — герой/героїня в базі даних, 2 — зброя у базі даних
Має броню $gameActors.actor(1).hasArmor($dataArmors[2]), де 1 — герой/героїня в базі даних, 2 — броня у базі даних
Стан $gameActors.actor(1).isStateAffected(2), де 1 — герой/героїня в базі даних, 2 — стан у базі даних

Третя сторінка стандартних умов у JavaScript[ ]

Умова Аналог в JavaScript
Противник/противнивця з’явився/з’явилася та живий/жива $gameTroop.members()[0].isAlive(), де 0 — номер противника/противниці в загоні
Противник/противнивця має стан $gameTroop.members()[0].isStateAffected(2), де 0 — номер противника/противниці в загоні, 2 — стан у базі даних
Об'єкт на карті … дивиться $gameMap._interpreter.character(-1).direction() === 2, де -1 — номер події (-1 — гравець/гравчиня, 0 — ця подія, 1 чи більше — подія на мапі), 2 — напрям (2 — вниз, 4 — вліво, 6 — вправо, 8 — вверх)
Гравець/гравчиня в транспорті $gamePlayer.vehicle() === $gameMap.vehicle('boat'), де 'boat' — назва чи номер транспорту (0 чи 'boat' — човен, 1 чи 'ship' — корабель, 2 чи 'airship' — повітряне судно)

Четверта сторінка стандартних умов у JavaScript[ ]

Умова Аналог в JavaScript
Золото $gameParty.gold() >= 1, де 1 — значення, >= — оператор порівняння (=== — дорівнює, !== — не дорівнює, >= — більше чи дорівнює, <= — менше чи дорівнює, > — більше, < — менше)
Річ $gameParty.hasItem($dataItems[1]), де 1 — річ у базі даних
Зброя $gameParty.hasItem($dataWeapons[1], true), де 1 — зброя у базі даних, true (false) — чи включати спорядження
Броня $gameParty.hasItem($dataArmors[1], true), де 1 — броня у базі даних, true (false) — чи включати спорядження
Кнопку ... натиснуто​ Input.isPressed('ok'), де ok — назва кнопки (ok — підтвердження, escape — скасування, shift — Shift, down — вниз, left — вліво, right — вправо, up — вверх, pageup — PageUp або Q, pagedown — PageDown або W)