Сборки серверов

СливПлатные

Сейчас онлайн

  • BOT_yet
  • Flexxx12
  • Tola2004
  • lllllll
  • TheFriken
  • zhyplex media
  • fergon228
  • sdadasdadada
  • Ivan_09
  • BegArt
  • sosadjua
  • MineClaw
  • undefined322
  • fallendeco
  • ZloyBoy
  • Felleus Development
  • alexsis
  • fedorov
  • DARK_NAIST
  • DieInCalamity
  • ggdfdgfdgf
  • sergachoco1
  • Magus333
  • jasndijasniyoxicnmijn
  • dfgfghfgrh
  • IchihanaYue
  • itsDesterYT
  • SinT
  • highravel
  • NNime
  • simper
  • Hydr4
  • turbulencja
  • prorotyz3d
  • bobobo
  • nemmem
  • zaldo
  • Kypid0n4ik
  • Sculmix
  • MrMikhaili
  • bishepp
  • VinichkaYT01
  • ghfghgfgfhgfhgjhgjhjhg
  • Tesla195
  • koiffi
  • Shynert
  • sw3ens
  • KonyTT
  • CC_jun
  • chicodosteclado
  • gayp0p
  • abosmra_0
  • Qweens
  • OderPrince
  • SergeyLord
  • riori
  • ANDEREEEEEEEEEEEEEY
  • Mihalych4
  • OriMine CEMb
  • kirieshkaa
  • hlgmc
  • kimiki49
  • 60iq_hahaha
  • Kittincat
  • Dejvidos
  • Konsheng
  • Mona Lisa
  • Darklol36
  • AhmetKaya
  • I_CommandBlock
  • escal
  • 3mk
  • Shon_Delford
  • azharifarid

Инструкция Как сделать систему доступа в DeluxeMenu? "Хочу что бы там было заблокировано! Или разблокировано!"

Привет! Если вы задались таким вопросом, как сделать проверку на доступность - это тема для вас!
В данной теме, я хочу вам рассказать как можно сделать такое меню:

1. Требования - Эти плагины обязательно к установке, иначе вы не сможете сделать задуманного.
  • PlaceholderAPI - Самый нужный плагин, на всех серверах! С помощью него проверяются и выводятся все значения.
  • DeluxeMenu - Плагин с помощью которого мы и будем создавать меню!
  • LuckPerms - На момент написания руководства, самый удобный менеджер прав!

Почему именно эти плагины?
  • Поскольку именно с помощью них было написано меню,
  • Конечно вы можете использовать другие но, придётся переделывать код меню.

2. Подготовка - Действия после установки плагинов.
  • Перезапуск сервера - Необходимо перезапустить сервер после установки плагинов на сервер. (Если он был включён)
  • Подготовка библиотек - Т.К раннее мы установили PlaceholderAPI, для его использования нужно установить библиотеки.
    Для этого, нужно написать команду /papi ecloud download LuckPerms - После этого установится библиотека менеджера прав.
    И нужно будет перезагрузить плагин через команду /papi reload
  • Подготовить меню - Для данного пункта нужно будет зайти в папку сервера и пройти по такому пути: ВашСервер\plugins\DeluxeMenus\
    После чего вам нужно будет открыть файл config.yml (Не беспокойтесь насчёт расширения, откроется спокойно через блокнот)
    И добавить новую строку:
    config:
    gui_menus:
      test:
        file: test.yml
    После нужно будет зайти в папку gui_menus в этом же плагине.
    И добавить новый текстовой документ test.txt Потом переименовать его в test.yml

3. Создание - Получаем наше меню!
  • Создание меню - Теперь нам нужно создать наше интерактивное меню. Для этого я специально подготовил файл, в котором всё есть.
    Для его установки, открываем раннее созданный нами test.yml, и вставляем следующий код:
    test.yml:
    # ---------------------------------------------------------------------- #
    # Для функционированния данного меню, закиньте его в папку с плагином.   #
    # После чего добавьте его в config.yml плагина DeluxeMenus               #
    #                                                                        #
    # gui_menus:                                                             #
    #   test:                                                                #
    #     file: test.yml                                                     #
    #                                                                        #
    # И потом перезагрузите плагин (/dm reload)                              #
    # ---------------------------------------------------------------------- #
    menu_title: '&ctest for perm' # Название меню
    open_command: test # Команда для открытия
    size: 9
    items:
      vip:
        material: black_glazed_terracotta # Отображаемый блок
        slot: 3 # Слот в котором будет предмет (ОБЯЗАТЕЛЬНО ТАКОЙ ЖЕ КАК В ГРУППЕ has_vip)
        priority: 1 # Приоритет показа блока (ОБЯЗАТЕЛЬНО ДОЛЖЕН БЫТЬ МЕНЬШЕ ЧЕМ has_vip)
        display_name: '&cЗаблокировано!' # Название которое видит игрок
        left_click_requirement:
          requirements:
            no_rank: # Данная строка проверяет, есть ли право у игрока с названием "title1". Если оно есть, воспроизводятся эти действия:
              type: string equals ignorecase
              input: '%luckperms_check_permission_title1%'
              output: 'no'
              deny_commands:
              - '[message]&aУ вас есть право на использование х1!'
              - '[close]'
            no_rank2: # Данная строка проверяет, есть ли право у игрока с названием "title2". Если оно есть, воспроизводятся эти действия:
              input: '%luckperms_check_permission_title2%'
              output: 'no'
              deny_commands:
              - '[message]&aУ вас есть право на использование х2!'
              - '[close]'
        view_requirement:
          requirements:
            no_rank: # Данная строка проверяет, есть ли право у игрока с названием "title1". Если оно есть, оно покажет предмет hav_vip
              input: '%luckperms_check_permission_title1%'
              output: 'no'
            no_rank2: # Данная строка проверяет, есть ли право у игрока с названием "title2". Если оно есть, оно покажет предмет hav_vip
              input: '%luckperms_check_permission_title2%'
              output: 'no'
    
      has_vip: # Предмет отображаемый при имении title1 / title2
        material: blue_glazed_terracotta # Отображаемый блок
        slot: 3 # Слот в котором будет предмет (ОБЯЗАТЕЛЬНО ТАКОЙ ЖЕ КАК В ГРУППЕ vip)
        priority: 2 # Приоритет показа блока (ОБЯЗАТЕЛЬНО ДОЛЖЕН БЫТЬ МЕНЬШЕ ЧЕМ has_vip)
        display_name: '&aРазблокировано!' # Название которое видит игрок
    Теперь, сохраняем изменения, и перезагружаем плагин. (/dm reload)
  • Настройка прав - Т.К Раннее мы установили LuckPerms для менеджера прав, нужно подстроить его под наше меню.
    По моему мнению будет удобнее выдавать группу у которой есть права. Поэтому рассмотрим этот способ!
    Для начала создадим группу, это будет легко сделать через команду: "/lp creategroup test"
    test - Это наше название группы, которое мы будем использовать далее.
    Теперь надо выдать право, в моём примере для работы меню было использовано право title1
    Поэтому, выдадим это право группе для проверки: "/lp group test permission set title1"

4. ᴇxᴘᴇʀɪᴍᴇɴᴛs - Завершающий этап, тестирование работы!
  • Выдача группы - Т.К Раннее мы выдали права для группы, теперь надо выдать саму группу игроку.
    Для этого можно использовать команду: "/lp user ник parent add test".
  • Проверка меню - Теперь можем проверить, изменился ли текст. Раз уж мы сразу выдали право, у нас должно написать Разблокировано! (Что бы открыть меню /test)
    Если у вас на данный момент не работает меню, или написано Заблокировано!, будьте любезны удостовериться что вы следовали согласно гайду.
    Если у вас написано разблокировано, значит всё работает!
  • Удаление группы - Когда вы проверили на разблокированный текст, надо ещё проверить на заблокированный.
    Для этого нам нужно убрать группу с себя, делается это с помощью команды: "/lp user ник parent remove test"
    После откройте меню ещё раз через команду /test,и увидьте что данный предмет Заблокирован!

Вывод:
Если меню полностью работоспособное, то я рад за вас!
В дальнейшей настройке меню вам поможет документация плагина.
Которая к случаю, удобно расположилась тут гиперссылкой! DeluxeMenu
Если же в итоге, ваше меню не заработало. Проверьте выполнение всех пунктов выше, если же всё равно не работает...
Будьте добры сообщить мне в данной инструкции, я попытаюсь вам помочь / исправить свою ошибку!

В остальном, если вам была полезна данная инструкция/гайд, можете оставить мне поощрение в виде Лайка
И написать свой отзыв / пожелание по данному гайду.
На этом всё, всем удачного дня!

 
Последнее редактирование:
Dancebunny98
  • Dancebunny98
  • 🔥 𝒬𝓊𝒾𝒸𝓀𝐹𝒾𝓇𝑒 𝒞𝑜𝓇𝓅.
  • 55
@Felleus, Банально, если у человека не пройден квест, или что-то разрабатывается и вот-вот будет открыто для глаз игроков, можно сделать подобную "заглушку" Но автор чутка усложнил
 
Fazich
не работает скопировал весь конфиг сделал всё в точь в точь как написано 0 нечего во всех случаях пишет заблокировано
 
Радмир
@Fazich, под оператором в этот момент? Если да - то работать как надо не будет, там все на правах основано.
 
Радмир
@Fazich, тогда не знаю.. У меня в моих ресурсах есть еще более усложненные примеры на DM, связанные с доступностью.
 
Радмир
@Fazich, нет, я разбирался самостоятельно, потом придумывал систему квестов, основанную на подобных механизмах только DM
 
Fazich
@Радмир, у тебя есть получается система где надо иметь право чтобы он был действие было разблакировано?
 
Радмир
@Fazich, да, условие такое есть. Одно право, несколько прав сразу, хотя бы несколько из всех прав..
как минимум, есть 2 способа по условиям
 
Радмир
ну или используя прямую проверку в DM методом
type: has permission

permission: TEXT

или используя плейсхолдер

type: string equals
input: '%luckperms_check_permission_drobilka_power_stone%'
output: 'Да'
 
Радмир
@Fazich, эммм.. .я так глянул мельком его код..

для
has_vip: #
priority: нужно было < 1 поставить.
Проверка ведь как идет - начиная с наименьшего.
а у него 2 стоит.
 
Fazich
@Радмир, я до этого попробовал этот вариант, но нечего там наоборот пишет что разблакировано всегда, так что у него везде походу ошибки где-то
 
Радмир
@Fazich, я пришлю кусок кода с проверкой подобного типа, который писал для себя.. разберешься я думаю, чтобы по аналогии сделать себе

код:
  Поселянин_да:
    amount: 1
    material: 'iron_helmet'
    display_name: '&a&l"Поселянин"'
    priority: 1
    lore:
    - '&6╔════════════════════════════'
    - '&6║ &fДанный ранг для игроков, выполнившие '
    - '&6║ &fтребования по времени игры на сервере, развитию '
    - '&6║ &fи выполняющие правила сервера.'
    - '&6╠════════════════════════════'
    - '&6║ &#20B2AAЭй, &#7B68EE%player_name%&#20B2AA, да ты уже Поселянин!'
    - '&6║ &#20B2AAСоблюдай правила сервера, чтобы оставаться им,'
    - '&6║ &#20B2AAи пусть Велес благоволит тебе!'
    - '&6╠════════════════════════════'
    - '&6║ &fРепутационный ранг с дополнительными возможностями.'
    - '&6╚════════════════════════════'
    slot: 10
    view_requirement:
      requirements:
        Требование:
          type: string equals
          input: '%luckperms_in_group_player1%'
          output: 'Да'
  Поселянин[I]может[/I]получить:
    amount: 1
    material: 'iron_helmet'
    display_name: '&a&l"Поселянин"'
    priority: 2
    lore:
    - '&6╔════════════════════════════'
    - '&6║ &fДанный ранг для игроков, выполнившие '
    - '&6║ &fтребования по времени игры на сервере, развитию '
    - '&6║ &fи выполняющие правила сервера.'
    - '&6╠════════════════════════════'
    - '&6║ &fПодробности перехода в этот ранг '
    - '&6║ &fна сайте &9&nserver-veles.ru'
    - '&6╠════════════════════════════'
    - '&6║ &#98FB98Ты можешь перейти в этот ранг самостоятельно,'
    - '&6║ &#98FB98но тебе нужно выполнить 2 условия:'
    - '&6║ '
    - '&6║ &#006400✔ &#808000 наиграть на сервере не менее 72 часов'
    - '&6║ &#808000 Сейчас твоё время составляет - &#006400%statistic_hours_played% &#808000 час.'
    - '&6║ &#006400✔ &#808000 Суммарный уровень навыков развития '
    - '&6║ &#808000 должен быть не менее 50 уровней.'
    - '&6║ &#808000 твоя текущая сумма уровней составляет - &#006400%aureliumskills_power%&#808000.'
    - '&6╠════════════════════════════'
    - '&6║ &fРепутационный ранг с дополнительными возможностями.'
    - '&6╚════════════════════════════'
    slot: 10
    view_requirement:
      requirements:
        Требование_1:
          type: javascript
          expression: '%statistic_hours_played% < 72'
  Поселянин[I]может[/I]получить_2:
    amount: 1
    material: 'iron_helmet'
    display_name: '&a&l"Поселянин"'
    priority: 3
    lore:
    - '&6╔════════════════════════════'
    - '&6║ &fДанный ранг для игроков, выполнившие '
    - '&6║ &fтребования по времени игры на сервере, развитию '
    - '&6║ &fи выполняющие правила сервера.'
    - '&6╠════════════════════════════'
    - '&6║ &fПодробности перехода в этот ранг '
    - '&6║ &fна сайте &9&nserver-veles.ru'
    - '&6╠════════════════════════════'
    - '&6║ &#98FB98Ты можешь перейти в этот ранг самостоятельно,'
    - '&6║ &#98FB98но тебе нужно выполнить 2 условия:'
    - '&6║ '
    - '&6║ &#006400✔ &#808000 наиграть на сервере не менее 72 часов'
    - '&6║ &#808000 Сейчас твоё время составляет - &#006400%statistic_hours_played% &#808000 час.'
    - '&6║ &#006400✔ &#808000 Суммарный уровень навыков развития '
    - '&6║ &#808000 должен быть не менее 50 уровней.'
    - '&6║ &#808000 твоя текущая сумма уровней составляет - &#006400%aureliumskills_power%&#808000.'
    - '&6╠════════════════════════════'
    - '&6║ &fРепутационный ранг с дополнительными возможностями.'
    - '&6╚════════════════════════════'
    slot: 10
    view_requirement:
      requirements:
        Требование_2:
          type: javascript
          expression: '%aureliumskills_power% < 50'
  Поселянин[I]может[/I]стать:
    amount: 1
    material: 'iron_helmet'
    display_name: '&a&l"Поселянин"'
    priority: 4
    lore:
    - '&6╔════════════════════════════'
    - '&6║ &fДанный ранг для игроков, выполнившие '
    - '&6║ &fтребования по времени игры на сервере, развитию '
    - '&6║ &fи выполняющие правила сервера.'
    - '&6╠════════════════════════════'
    - '&6║ &#FF0000Поздравляю! &#00FA9AТы выполнил все требования на ранг'
    - '&6║ &#00FA9Aи можешь повысить его до &a"Поселянин".'
    - '&6║ &#00FA9A Нажми на это меню для получения.'
    - '&6║ &#FA8072Запомни только одно, %player_name%, этот ранг может'
    - '&6║ &#FA8072быть снят Стражами за нарушение правил сервера.'
    - '&6╠════════════════════════════'
    - '&6║ &fРепутационный ранг с дополнительными возможностями.'
    - '&6╚════════════════════════════'
    slot: 10
    left_click_commands:
    - '[console] lp user %player_name% parent add player1'
    - '[refresh]'
    - '[broadcastsound] entity.firework_rocket.launch 1 1'
    - '[sound] entity.firework_rocket.launch 1 1'
    - '[broadcast] '
    - '[broadcast] &f[&9&lСервер &c&lВелес&f]&#DC143CПоздравляем &a%player_name% &#DC143Cc получением ранга &aПоселянин!'
    - '[broadcast] '
    right_click_commands:
    - '[console] lp user %player_name% parent add player1'
    - '[refresh]'
    - '[broadcastsound] entity.firework_rocket.launch 1 1'
    - '[broadcast] '
    - '[broadcast] &f[&9&lСервер &c&lВелес&f]&#DC143CПоздравляем &a%player_name% &#DC143Cc получением ранга &aПоселянин!'
    - '[broadcast] '
 
ВерхНиз