Вопрос DeluxeMenus | Не работает параметр View Requirement

Фионит

Пользователь
Сообщения
160
Решения
1
Плагин
DeluxeMenus
Ядро сервера
  1. Spigot
  2. Paper
Версия сервера
  1. 1.17+
Память сервера ОЗУ
8Gb
Я хотел чтобы после того как у игрока заберутся предметы из инвентаря, то ему выдавалось право, благодаря которому ему было доступно еще 1 слот. Сделал проверку на право в 1 слоте и другом. В одном должно проверятся его отсутствие, а в другом наличие. Когда решил проверить меню, то слот без барьера был с барьером, хотя права не было. Плагин на права PermissionEx Что делать, может где ошибка? Заранее спасибо!

YAML:
  '11':
    material: redstone
    slot: 11
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    lore:
    - '&c● &7Стоимость:'
    - '&ex100 &fБулыжник'
    - '&ex100 &fСтекло'
    - '&ex100 &fДревесина'
    - ''
    - '&c● &7Улучшение:'
    - '&fКаждые 30 минут монетный двор будет'
    - '&fПеречислять &a0.1 монету &fмэру города'
    view_requirement:
      requirements:
        anythinghere:
          type: "!has permission"
          permission: quest.complete.1
      deny_commands:
        - "[message] &cYou don't have the permission."
    left_click_requirement:
      requirements:
        cobblestone_amount:
          type: javascript
          expression: '%checkitem_amount_mat:cobblestone% >= 100'
          deny_commands:
           - "[message] &cНедостаточно булыжника. Нужно ещё %math_100-{checkitem_amount_mat:cobblestone}[precision:0]%"
           - "[close]"
        glass_amount:
          type: javascript
          expression: '%checkitem_amount_mat:glass% >= 100'
          deny_commands:
           - "[message] &cНедостаточно стекла. Нужно ещё %math_100-{checkitem_amount_mat:glass}[precision:0]%"
           - "[close]"
        oak_log_amount:
          type: javascript
          expression: '%checkitem_amount_mat:oak_log% >= 100'
          deny_commands:
           - "[message] &cНедостаточно дубового бревна. Нужно ещё %math_100-{checkitem_amount_mat:oak_log}[precision:0]%"
           - "[close]"
    left_click_commands:
    - '[console] clear %player_name% snow_block 768'
    - '[console] pex user %player_name% add quest.complete.1'
    - '[close]'
    - '[message]'
    - '[message] &aЗадание выполнено! :D'
    - '[message]'
  '12':
    material: barrier
    slot: 11
    priority: 1
    enchantments:
    - 'SILK_TOUCH;1'
    hide_enchantments: true
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    view_requirement:
      requirements:
        anythinghere:
          type: has permission
          permission: quest.complete.1
    left_click_commands:
    - '[sound] ENTITY_VILLAGER_NO'
 
Решение
Ну так а зачем нужна проверка, если нету права у игрока?
Можно поменять приоритеты местами и убрать проверку в предмете под названием "11".

Попробуйте так:
YAML:
'11':
    material: redstone
    slot: 11
    priority: 2
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    lore:
    - '&c● &7Стоимость:'
    - '&ex100 &fБулыжник'
    - '&ex100 &fСтекло'
    - '&ex100 &fДревесина'
    - ''
    - '&c● &7Улучшение:'
    - '&fКаждые 30 минут монетный двор будет'
    - '&fПеречислять &a0.1 монету &fмэру города'
    left_click_requirement:
      requirements:
        cobblestone_amount:
          type: javascript
          expression: '%checkitem_amount_mat:cobblestone% >= 100'
          deny_commands:
           - "[message] &cНедостаточно...
странно как может быть deny_commands в правах на просмотр предмета

а по поводу проверки права - у меня были проблемы с типом has permission, поэтому я использовал проверку прав через плейсхолдер %luckperms_inherits_permission%
 
Будьте осторожны с рекомендациями этого пользователя.
Вы не указали приоритет в предмете под названием "11", из-за этого он не отображается.

Попробуйте вот-так:
YAML:
 '11':
    material: redstone
    slot: 11
    priority: 1
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    lore:
    - '&c● &7Стоимость:'
    - '&ex100 &fБулыжник'
    - '&ex100 &fСтекло'
    - '&ex100 &fДревесина'
    - ''
    - '&c● &7Улучшение:'
    - '&fКаждые 30 минут монетный двор будет'
    - '&fПеречислять &a0.1 монету &fмэру города'
    view_requirement:
      requirements:
        anythinghere:
          type: "!has permission"
          permission: quest.complete.1
      deny_commands:
        - "[message] &cYou don't have the permission."
    left_click_requirement:
      requirements:
        cobblestone_amount:
          type: javascript
          expression: '%checkitem_amount_mat:cobblestone% >= 100'
          deny_commands:
           - "[message] &cНедостаточно булыжника. Нужно ещё %math_100-{checkitem_amount_mat:cobblestone}[precision:0]%"
           - "[close]"
        glass_amount:
          type: javascript
          expression: '%checkitem_amount_mat:glass% >= 100'
          deny_commands:
           - "[message] &cНедостаточно стекла. Нужно ещё %math_100-{checkitem_amount_mat:glass}[precision:0]%"
           - "[close]"
        oak_log_amount:
          type: javascript
          expression: '%checkitem_amount_mat:oak_log% >= 100'
          deny_commands:
           - "[message] &cНедостаточно дубового бревна. Нужно ещё %math_100-{checkitem_amount_mat:oak_log}[precision:0]%"
           - "[close]"
    left_click_commands:
    - '[console] clear %player_name% snow_block 768'
    - '[console] pex user %player_name% add quest.complete.1'
    - '[close]'
    - '[message]'
    - '[message] &aЗадание выполнено! :D'
    - '[message]'
  '12':
    material: barrier
    slot: 11
    priority: 2
    enchantments:
    - 'SILK_TOUCH;1'
    hide_enchantments: true
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    view_requirement:
      requirements:
        anythinghere:
          type: has permission
          permission: quest.complete.1
    left_click_commands:
    - '[sound] ENTITY_VILLAGER_NO'
 
странно как может быть deny_commands в правах на просмотр предмета

а по поводу проверки права - у меня были проблемы с типом has permission, поэтому я использовал проверку прав через плейсхолдер %luckperms_inherits_permission%
про это я знаю у меня через lp работало, но щас нет возможности на него перейти
Авто объединение сообщений:

Вы не указали приоритет в предмете под названием "11", из-за этого он не отображается.

Попробуйте вот-так:
YAML:
 '11':
    material: redstone
    slot: 11
    priority: 1
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    lore:
    - '&c● &7Стоимость:'
    - '&ex100 &fБулыжник'
    - '&ex100 &fСтекло'
    - '&ex100 &fДревесина'
    - ''
    - '&c● &7Улучшение:'
    - '&fКаждые 30 минут монетный двор будет'
    - '&fПеречислять &a0.1 монету &fмэру города'
    view_requirement:
      requirements:
        anythinghere:
          type: "!has permission"
          permission: quest.complete.1
      deny_commands:
        - "[message] &cYou don't have the permission."
    left_click_requirement:
      requirements:
        cobblestone_amount:
          type: javascript
          expression: '%checkitem_amount_mat:cobblestone% >= 100'
          deny_commands:
           - "[message] &cНедостаточно булыжника. Нужно ещё %math_100-{checkitem_amount_mat:cobblestone}[precision:0]%"
           - "[close]"
        glass_amount:
          type: javascript
          expression: '%checkitem_amount_mat:glass% >= 100'
          deny_commands:
           - "[message] &cНедостаточно стекла. Нужно ещё %math_100-{checkitem_amount_mat:glass}[precision:0]%"
           - "[close]"
        oak_log_amount:
          type: javascript
          expression: '%checkitem_amount_mat:oak_log% >= 100'
          deny_commands:
           - "[message] &cНедостаточно дубового бревна. Нужно ещё %math_100-{checkitem_amount_mat:oak_log}[precision:0]%"
           - "[close]"
    left_click_commands:
    - '[console] clear %player_name% snow_block 768'
    - '[console] pex user %player_name% add quest.complete.1'
    - '[close]'
    - '[message]'
    - '[message] &aЗадание выполнено! :D'
    - '[message]'
  '12':
    material: barrier
    slot: 11
    priority: 2
    enchantments:
    - 'SILK_TOUCH;1'
    hide_enchantments: true
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    view_requirement:
      requirements:
        anythinghere:
          type: has permission
          permission: quest.complete.1
    left_click_commands:
    - '[sound] ENTITY_VILLAGER_NO'
не получилось
 
Последнее редактирование:
Ну так а зачем нужна проверка, если нету права у игрока?
Можно поменять приоритеты местами и убрать проверку в предмете под названием "11".

Попробуйте так:
YAML:
'11':
    material: redstone
    slot: 11
    priority: 2
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    lore:
    - '&c● &7Стоимость:'
    - '&ex100 &fБулыжник'
    - '&ex100 &fСтекло'
    - '&ex100 &fДревесина'
    - ''
    - '&c● &7Улучшение:'
    - '&fКаждые 30 минут монетный двор будет'
    - '&fПеречислять &a0.1 монету &fмэру города'
    left_click_requirement:
      requirements:
        cobblestone_amount:
          type: javascript
          expression: '%checkitem_amount_mat:cobblestone% >= 100'
          deny_commands:
           - "[message] &cНедостаточно булыжника. Нужно ещё %math_100-{checkitem_amount_mat:cobblestone}[precision:0]%"
           - "[close]"
        glass_amount:
          type: javascript
          expression: '%checkitem_amount_mat:glass% >= 100'
          deny_commands:
           - "[message] &cНедостаточно стекла. Нужно ещё %math_100-{checkitem_amount_mat:glass}[precision:0]%"
           - "[close]"
        oak_log_amount:
          type: javascript
          expression: '%checkitem_amount_mat:oak_log% >= 100'
          deny_commands:
           - "[message] &cНедостаточно дубового бревна. Нужно ещё %math_100-{checkitem_amount_mat:oak_log}[precision:0]%"
           - "[close]"
    left_click_commands:
    - '[console] clear %player_name% snow_block 768'
    - '[console] pex user %player_name% add quest.complete.1'
    - '[close]'
    - '[message]'
    - '[message] &aЗадание выполнено! :D'
    - '[message]'
  '12':
    material: barrier
    slot: 11
    priority: 1
    enchantments:
    - 'SILK_TOUCH;1'
    hide_enchantments: true
    display_name: '&e&lМОНЕТНЫЙ ДВОР | 1 УРОВЕНЬ'
    view_requirement:
      requirements:
        anythinghere:
          type: has permission
          permission: quest.complete.1
    left_click_commands:
    - '[sound] ENTITY_VILLAGER_NO'

А также, если вы тестируете это дело на аккаунте с опкой или со звёздочкой, тогда оно может не работать потому-что у вас как-бы все права.
Я лично фиксил это выдавав дефолтной группе или же всем группам право со значением false, в вашем случае quest.complete.1 false, чтобы изначально у всех игроков не было этого права.
 
Последнее редактирование:
Назад
Сверху Снизу