Команди RPG Maker MV та MZ/Умовне розгалуження
Умовне розгалуження (анг. Conditional Branch, рос. Ветвление условий) — команда подій в RPG Maker MV, яка дозволяє виконати різний код в залежності від умови.
Ця команда знаходиться на першій сторінці зліва. Це перша команда в категорії «Керування процесом» (остання категорія в лівому стовпчику).
Налаштування[ ]
У команди такі налаштування:
- Умова — вказує, яку умову перевіряє команда. Всі умови розбиті на чотири сторінки (описані нижче).
- Створити гілку «Інакше» (анг. 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)
|