Вопрос DeluxeMenus проверка нескольких условий

BADyaga13

Пользователь
Сообщения
7
Плагин
DeluxeMenus
Ядро сервера
  1. Paper
Версия сервера
  1. 1.18+
Память сервера ОЗУ
4Gb
Ссылка
https://wiki.helpch.at/clips-plugins/deluxemenus
Добрый день. Нужна помощь касательно плейсхолдера checkitem. Нужна проверка нескольких предметов в руке игрока, чтобы условие выполнялось при наличии любого из перечисленных предметов в руке. Не могу найти как сделать логическое ИЛИ. Вот пример
item_check_inhand:
type: string equals
input: "%checkitem_mat:IRON_SWORD,inhand:main%"
output: "yes"
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
Нужно перечислить все мечи
 
Добрый день. Нужна помощь касательно плейсхолдера checkitem. Нужна проверка нескольких предметов в руке игрока, чтобы условие выполнялось при наличии любого из перечисленных предметов в руке. Не могу найти как сделать логическое ИЛИ. Вот пример
item_check_inhand:
type: string equals
input: "%checkitem_mat:IRON_SWORD,inhand:main%"
output: "yes"
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
Нужно перечислить все мечи
Ты точно читал документацию? Используй minimum_requirements: 1 и stop_at_success: true
 
Ты точно читал документацию? Используй minimum_requirements: 1 и stop_at_success: true
Сделал вот так, но возникает проблема. Исходя из этого примера, когда я беру деревянный меч, то он отклоняет. Хотя, как я понял должно отработать 3 запроса. Железного меча в руке нет, значит он должен перескочить на следующий блок с деревянным.
left_click_requirement:
minimum_requirements: 3
stop_at_success: true
requirements:
balance_check:
type: has money
amount: 10000
deny_commands:
- "[message] &8[&MENU&8] &cНедостаточно средств!"
exp_check:
type: has exp
amount: 10
level: true
deny_commands:
- "[message] &8[&MENU&8] &cНедостаточно опыта!"
item_check_inhand:
type: string equals
input: '%checkitem_mat:IRON_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&MENU&8] &cНет меча в руке!"
item_check_inhand2:
type: string equals
input: '%checkitem_mat:WOODEN_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&MENU&8] &cНет меча в руке!"
 
Сделал вот так, но возникает проблема. Исходя из этого примера, когда я беру деревянный меч, то он отклоняет. Хотя, как я понял должно отработать 3 запроса. Железного меча в руке нет, значит он должен перескочить на следующий блок с деревянным.
left_click_requirement:
minimum_requirements: 3
stop_at_success: true
requirements:
balance_check:
type: has money
amount: 10000
deny_commands:
- "[message] &8[&MENU&8] &cНедостаточно средств!"
exp_check:
type: has exp
amount: 10
level: true
deny_commands:
- "[message] &8[&MENU&8] &cНедостаточно опыта!"
item_check_inhand:
type: string equals
input: '%checkitem_mat:IRON_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&MENU&8] &cНет меча в руке!"
item_check_inhand2:
type: string equals
input: '%checkitem_mat:WOODEN_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&MENU&8] &cНет меча в руке!"
Добавь ещё у проверкам опыта и баланса параметр optional: true . И попробуй заменить деревянный меч на другой или сменить порядок их. Так как на первый взгляд всё ок.
 
Добавь ещё у проверкам опыта и баланса параметр optional: true . И попробуй заменить деревянный меч на другой или сменить порядок их. Так как на первый взгляд всё ок.
right_click_requirement:
minimum_requirements: 3
stop_at_success: true
requirements:
balance_check:
type: has money
amount: 10000
optional: true
deny_commands:
- "[message] &8[&bMENU&8] &cНедостаточно средств!"
exp_check:
type: has exp
amount: 10
level: true
optional: true
deny_commands:
- "[message] &8[&bMENU&8] &cНедостаточно опыта!"
item_check_inhand:
type: string equals
input: '%checkitem_mat:WOODEN_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
item_check_inhand2:
type: string equals
input: '%checkitem_mat:STONE_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
item_check_inhand3:
type: string equals
input: '%checkitem_mat:IRON_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
item_check_inhand4:
type: string equals
input: '%checkitem_mat:GOLD_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
item_check_inhand5:
type: string equals
input: '%checkitem_mat:DIAMOND_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!"
item_check_inhand6:
type: string equals
input: '%checkitem_mat:NETHERITE_SWORD,inhand:main%'
output: 'yes'
deny_commands:
- "[message] &8[&bMENU&8] &cНет меча в руке!" Выполняется только с деревянным мечом соответственно. Может есть другой плейсхолдер на чек предметов, чтобы можно было перечислить в нем несколько позиций? Сам блок minimum_requirements в некоторых случаях будет неактуален. Если нужно будет сделать проверку по слотам на наличие 10 каких-нибудь позиций, то получается если ставить значение 3(на деньги опыт и предмет) то он пройдется по параметрам и если не хватит денег или опыта, а в инвентаре будет 3+ проверяемых предмета, то проверка пройдет игнорируя сумму и опыт как я понял.
Авто объединение сообщений:

Добавь ещё у проверкам опыта и баланса параметр optional: true . И попробуй заменить деревянный меч на другой или сменить порядок их. Так как на первый взгляд всё ок.
В кст описаны данные атрибуты, но нет примера их реализации. Так бы можно было реализовать через Has Item
Авто объединение сообщений:

Проблема решена заменой атрибута плейсхолдера.
Код:
        item_check_inhand:
          type: string equals
          input: '%checkitem_matcontains:SWORD,inhand:main%'
          output: 'yes'
          deny_commands:
          - "[message] &8[&bMENU&8] &cНет меча в руке!"
 

Вложения

  • Снимок.JPG
    Снимок.JPG
    89.8 KB · Просмотры: 28
Последнее редактирование:
Назад
Сверху Снизу