Вопрос Нужна помощь с доработкой DonateCase (проверка приоритета привилегий)

Ядро
Purpur

Nagivka

Пользователь
Сообщения
11
Плагин
DonateCase
Ядро сервера
  1. Purpur
Версия сервера
  1. 1.20
Память сервера ОЗУ
4Gb
Ссылка
https://www.spigotmc.org/resources/donatecase.106701/
Задача:
Если у игрока есть привилегия, и из кейса выпадает более низкий уровень — не выдавать.
Если выпадает более высокий уровень — заменить текущую на новую.
Важно:
Привилегии персонала не должны влиять на проверку.
Донат-привилегии (приоритет):
orygenesec (100), rycar (200), namestnik (300), korol (400), vlastelin (500)

Персонал (игнорируются при сравнении):
media (600), helper (700), moder (800), admin (900), gladmin (950), texadmin (1000), curator (1100), owner (1500)
 
Решение
Просто смотри, Я открываю кейс и мне к примеру выпадает "Наместник" а до этого у меня был "оруженосец" и он не удалился, а если он не удалился то и игроки значит смогут иметь доступ к китам "Оруженосца", а если я открою кейс ещё раз и мне выпадет "Рыцарь" то он конечно уже не выдастся, Я пытался типо добавить комманды для снятия каждой привы т.е. если выпадет Рыцарь то там есть команда lp user ... parent remove orygenesec, если наместник то lp user ... parent remove orygenesec и lp user ... parent remove rycar и так далее для каждой привы это конечно помогло но после перезагрузки сервера что то пошло не так и привы начали выдаваться если они ниже по приоритету
А, так если тебе нужно запретить группам доступ к другим китам просто...
Просто при выдаче привилегии вместо /lp user ... parent set нужно писать /lp user ... parent add(temp) (что в кфг кейса и так сделано)
Если у привилегии более низкий приоритет лакпермс не заменит текущую, если она с более высоким приоритетом
И никакие проверки в принципе не нужны. А привилегии персонала вообще из кейса выпадать не должны, это ведь персонал.
 
Просто при выдаче привилегии вместо /lp user ... parent set нужно писать /lp user ... parent add(temp) (что в кфг кейса и так сделано)
Если у привилегии более низкий приоритет лакпермс не заменит текущую, если она с более высоким приоритетом
И никакие проверки в принципе не нужны. А привилегии персонала вообще из кейса выпадать не должны, это ведь персонал.
а есть какая то команда которая очищает все привилегии ниже указанного приоритета?
 
я не разбираюсь в документациях о плагинах
offtop Просто нужно учить английский
(с) Step Brother

/lp user ... parent clear очищает все группы игрока. При выдаче награды можно писать эту команду, а потом /lp user ... parent add
Но именно группы по приоритету как убирать я не нашёл (и вообще это какие-то костыли, зачем так делать)
Объединено

Кстати, я полазил по документации и узнал про такую штуку как track
Вроде как это даже то, что нужно. Один парень с ютуба рассказывал про эту фичу в , можешь глянуть
 
Последнее редактирование:
offtop Просто нужно учить английский
(с) Step Brother

/lp user ... parent clear очищает все группы игрока. При выдаче награды можно писать эту команду, а потом /lp user ... parent add
Но именно группы по приоритету как убирать я не нашёл (и вообще это какие-то костыли, зачем так делать)
Просто смотри, Я открываю кейс и мне к примеру выпадает "Наместник" а до этого у меня был "оруженосец" и он не удалился, а если он не удалился то и игроки значит смогут иметь доступ к китам "Оруженосца", а если я открою кейс ещё раз и мне выпадет "Рыцарь" то он конечно уже не выдастся, Я пытался типо добавить комманды для снятия каждой привы т.е. если выпадет Рыцарь то там есть команда lp user ... parent remove orygenesec, если наместник то lp user ... parent remove orygenesec и lp user ... parent remove rycar и так далее для каждой привы это конечно помогло но после перезагрузки сервера что то пошло не так и привы начали выдаваться если они ниже по приоритету
 
Просто смотри, Я открываю кейс и мне к примеру выпадает "Наместник" а до этого у меня был "оруженосец" и он не удалился, а если он не удалился то и игроки значит смогут иметь доступ к китам "Оруженосца", а если я открою кейс ещё раз и мне выпадет "Рыцарь" то он конечно уже не выдастся, Я пытался типо добавить комманды для снятия каждой привы т.е. если выпадет Рыцарь то там есть команда lp user ... parent remove orygenesec, если наместник то lp user ... parent remove orygenesec и lp user ... parent remove rycar и так далее для каждой привы это конечно помогло но после перезагрузки сервера что то пошло не так и привы начали выдаваться если они ниже по приоритету
А, так если тебе нужно запретить группам доступ к другим китам просто выдай повыдавай им отрицательные права.
Попытаюсь объяснить по простому:
Припустим, у группы default есть право essentials.kit.player
Есть группа vip, которая наследует группу default (group.default в lp editor'e)
Ты можешь выдать ей тот же пермишен (essentials.kit.player) и, открыв /lp editor (скрин ниже)
Вам необходимо зарегистрироваться для просмотра изображений-вложений

Заменить true на false (просто кликнув по надписи) и сохранить. Готово - у випа отбирается право на взятие кита игрока, а остальные наследуемые пермишены остаются.
 
А, так если тебе нужно запретить группам доступ к другим китам просто выдай повыдавай им отрицательные права.
Попытаюсь объяснить по простому:
Припустим, у группы default есть право essentials.kit.player
Есть группа vip, которая наследует группу default (group.default в lp editor'e)
Ты можешь выдать ей тот же пермишен (essentials.kit.player) и, открыв /lp editor (скрин ниже)
Вам необходимо зарегистрироваться для просмотра изображений-вложений

Заменить true на false (просто кликнув по надписи) и сохранить. Готово - у випа отбирается право на взятие кита игрока, а остальные наследуемые пермишены остаются.
Понял спасибо, завтра попробую
 
Назад
Сверху Снизу