Команди 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, рос. Кнопка ... нажата) — перевіряє, чи кнопку натиснуто (у RPG Maker MZ також може перевіряти, чи було кнопку натиснуто вперше або повторно)
- OK (анг. OK, рос. ОК) — кнопка підтвердження (Enter, Z),
- Скасування (анг. Cancel, рос. Отмена) — кнопка скасування (Escape, X, Insert),
- Shift (анг. Shift, рос. Сдвиг) — клавіша Shift,
- Вниз (анг. Down),
- Вліво (анг. Left, рос. Влево),
- Вправо (анг. Right),
- Вверх (анг. Up),
- PageUp (анг. Pageup, рос. На стр. вверх) — клавіша PageUp або Q,
- PageDown (анг. Pagedown, рос. На стр. вниз) — клавіша PageDown або W;
- тільки у RPG Maker MZ: натиснуто (анг. is being pressed, рос. — нажато) — кнопка у натиснутому стані на момент виконання події,
- тільки у RPG Maker MZ: тільки що натиснуто (анг. is being triggered, рос. — вызвано) — кнопку натиснуто вперше на момент виконання події,
- тільки у RPG Maker MZ: повторно натиснуто (анг. is being repeated, рос. — повторяется) — кнопку натиснуто повторно на момент виконання події (0 або 24 + 6 * n кадрів тому),
- Скрипт (анг. 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)
|
Кнопку ... тільки що натиснуто | Input.isTriggered('ok') , де ok — назва кнопки (ok — підтвердження, escape — скасування, shift — Shift, down — вниз, left — вліво, right — вправо, up — вверх, pageup — PageUp або Q, pagedown — PageDown або W)
|
Кнопку ... повторно натиснуто | Input.isRepeated('ok') , де ok — назва кнопки (ok — підтвердження, escape — скасування, shift — Shift, down — вниз, left — вліво, right — вправо, up — вверх, pageup — PageUp або Q, pagedown — PageDown або W)
|