Создание таймера DeluxeMenus

Руководство Создание таймера DeluxeMenus

Поддерживаемые версии
  1. 1.8
  2. 1.9
  3. 1.10
  4. 1.11
  5. 1.12
  6. 1.13
  7. 1.14
  8. 1.15
  9. 1.16
  10. 1.17
  11. 1.18
  12. 1.19

Немнога букафф, лирическое отступление​


Сидел я значится и думал, как сделать нормальный таймер на задержку при нажатии в меню по предметам, наткнулся на пару моментов, а конкретно таких и таких, ну и вот такой видос. Казалось бы, ничего сложного, приписать команду для выдачи временного разрешения, и если он есть, заменять предмет и запрещать использование, но не тут то было, ведь кое где документация написана авторами пяткой левой ноги...


Немного описания, чО кАво и как​


В мыслях была идея сделать меню где выдаются эффекты от имени консоли игроку, ну тут ежу понятно, что наложить кулдаун невозможно, если только что-то запихать в промежуток между гуём и передачей команды консоли... Пошарившись по вике лакпермса было найден вот этот плейсхолдер %luckperms_has_permission% простыми словами - возвращает ответ от игрока, есть ли у него это разрешение или нет. По сему, было принято решение выдавать игроку разрешение командой lp user %player_name% permission settemp timer.dm true 1m на 1 минуту разрешение timer.dm если оно есть, то предыдущий плейсхолдер это замечает, и отправляет положительный сигнал, предмет заменяется, команда по нажатию более не доступна, пока не пройдёт минута.



Конфигурация меню​


Вышло у меня вот так это дело:
Код:
menu_title: '&ltest'
open_command: test
size: 45

items:
  '1':
    material: LIME_DYE
    slot: 11
    priority: 1
    update: true
    display_name: '&b&lЕсли у вас лаймовый краситель, права нет'
    lore:
      - '&b&lПрава на запрет у вас нет'
    view_requirement:
      requirements:
        requirement:
          type: string equals
          input: '%luckperms_has_permission_timer.dm%'
          output: 'no'
    left_click_commands:
      - '[console] minecraft:effect give %player_name% minecraft:jump_boost 15 2'
      - '[console] lp user %player_name% permission settemp timer.dm true 1m'
      - '[player] test'

  '2':
    material: barrier
    slot: 11
    priority: 2
    update: true
    display_name: '&c&lЕсли у вас барьер, вы не можете юзать эффект'
    lore:
      - '&b&lПраво у вас есть на запрет'
    view_requirement:
      requirements:
        requirement:
          type: string equals
          input: '%luckperms_has_permission_timer.dm%'
          output: 'yes'
    left_click_commands:
      - '[message] &c&lИзвините, но вам нужно подождать до окончания кулдауна!'

В доках лакпермса походу написано для сверх людей, и я не сразу понял, куда пихать своё кастомное правило. Потом через время дошло, нужно юзать через нижний прочерк а после вписывать своё право:
%luckperms_has_permission_<здесь_ваше_право>% в документации увы об этом кривовато сказано, и не сразу можно догадаться...
Из минусов такого костыля, нужно меню постоянно обновлять для пользователя, открывая снова или закрывая, иначе он продолжит дальше тыкать на кнопку, как я понял это не исправить, и это прикол самого плагина... Но ничего не мешает открыть меню снова введя команду открытия ещё раз, или просто выбросить игрока на предыдущее меню. Но как показала практика лучше окно закрывать или перемещать игрока на предыдущее окно, иначе если у юзера "самый быстрый палец на диком западе" нажать можно раза 3-4 ещё раз на тот же предмет, когда по логике можно только один раз, как по мне это уже не совсем хорошо
  • Мне нравится (+1)
Реакции: yraliya и Destroy
Автор
Furry__wolf
Просмотры
1,791
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Furry__wolf

Поделиться ресурсом

Назад
Сверху Снизу