Войти на сайт

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

ТЕМА: Условие при разных значениях переменной

Условие при разных значениях переменной 5 года 3 мес. назад #107734

  • Ridden
  • Ridden аватар
  • Вне сайта
  • Путник
  • Сообщений: 3
  • Спасибо получено: 3
Всех приветствую, только начал изучать RPG Maker MV и интересует такой вопрос:
Можно ли сделать выполнение условия при разных значениях переменной?
К примеру:
"Если а=5 или а=7 или а=10 (и т.д.)
Тогда б=1"
Я конечно пробовал делать несколько веток условий типа:
"Если а=5 тогда б=1
Если а=7 тогда б=1
Если а=10 тогда б=1 и т.д."
и это работает, но получается очень громоздко и затратно по времени.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Условие при разных значениях переменной 5 года 3 мес. назад #107735

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • Даритель СтимкеяПаладинВетеранПрограммист RubyПроект месяца 3 местоПоддержка ФондаРазработчикУчитель2 место За 2 место на конкурсе маппинга
Я в таких случаях использую переключатель (или локальный переключатель). Например, так:

Переключатель : #0007 Значение a допустимо = ВЫКЛ
Если : a = 5
   ◆ Переключатель : #0007 Значение a допустимо = ВКЛ
   ◆
 : Конец
Если : a = 7
   ◆ Переключатель : #0007 Значение a допустимо = ВКЛ
   ◆
 : Конец
Если : a = 10
   ◆ Переключатель : #0007 Значение a допустимо = ВКЛ
   ◆
 : Конец
Если : Значение a допустимо теперь ВКЛ
   ◆ Переменная : #0002 b = 1
   ◆
 : Конец

Как вариант, можно объединить все условия в скрипте. Для MV проверка делается так (для VX Ace скрипт будет другой, см. спойлер в конце ответа):

scr-setup.png


То есть в команде «Ветвление условий» выберите страницу 4, пункт «Скрипт» (последний), и введите такой скрипт:

[5,7,10].indexOf($gameVariables.value(1)) != -1
(Вместо подчёркнутой единицы 1 поставьте номер своей переменной, которая проверяется. Вместо подчёркнутых 5,7,10 поставьте свои допустимые числа через запятую. -1 оставьте, там и должна быть -1.)

Результат будет таким:
Если : Скрипт : [5,7,10].indexOf($gameVariables.value(1)) != -1
   ◆ Переменная : #0002 b = 1
   ◆
 : Конец


Ответ для VX Ace (я сначала не заметил указание версии мейкера) [ Нажмите, чтобы развернуть ]
Последнее редактирование: 5 года 3 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Ridden

Условие при разных значениях переменной 5 года 3 мес. назад #107736

  • Ridden
  • Ridden аватар
  • Вне сайта
  • Путник
  • Сообщений: 3
  • Спасибо получено: 3
Спасибо. Жаль в скриптах я не силён, написал пока громоздким способом.
Просто делал календарь для пошаговой игры и хочу что бы в месяце было по 30 и 31 дню в зависимости от месяца. А то в готовых скриптах это почему то не делают, а я умею только через условия...
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy

Условие при разных значениях переменной 5 года 3 мес. назад #107737

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2477
  • Даритель СтимкеяПаладинВетеранПрограммист RubyПроект месяца 3 местоПоддержка ФондаРазработчикУчитель2 место За 2 место на конкурсе маппинга
Ridden пишет:
Спасибо. Жаль в скриптах я не силён, написал пока громоздким способом.
Просто делал календарь для пошаговой игры и хочу что бы в месяце было по 30 и 31 дню в зависимости от месяца. А то в готовых скриптах это почему то не делают, а я умею только через условия...
Вы можете просто скопировать мой скрипт условия, если что:

[5,7,10].indexOf($gameVariables.value(1)) != -1


Вместо подчёркнутой единицы нужно поставить номер переменной, которая проверяется. Вместо 5,7,10 — свои числа через запятую.

Это скрипт для MV. Я сначала невнимательно прочитал вопрос и написал ответ для VX Ace (сейчас я переписал для MV).
Последнее редактирование: 5 года 3 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Ridden

Условие при разных значениях переменной 5 года 3 мес. назад #107738

  • Ridden
  • Ridden аватар
  • Вне сайта
  • Путник
  • Сообщений: 3
  • Спасибо получено: 3
Ещё раз спасибо огромнейшее :)
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy
Время создания страницы: 0.191 секунд