1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Права с приоритетами

Тема в разделе "Разработка плагинов для новичков", создана пользователем Blc_Dragon, 29 янв 2017.

  1. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Доброго времени суток, форумчане.

    Возможно ли организовать права а-ля "plugin.permission.1","plugin.permission.2","plugin.permission.3"

    И соответственно если число в праве больше, то игрок может делать что то с тем, у кого число в праве меньше.

    только проблема в том что я не знаю той цифры. она зависит от того как там настроят. могу ли я как то вытащить такое право и эту цифру без подключения сторонних плагинов?

    Заранее спасибо
     
  2. Mabus

    Mabus Активный участник Пользователь

    Баллы:
    76
    Skype:
    chervanenko
    Имя в Minecraft:
    Chervanenko
    Я вопроса не понял. :rolleyes:
    Организовать так права однозначно возможно, по правам цифру через пексапи узнать тоже можно. Про сторонние плагины и незнание цифры - уже мысль теряется и понять не получается. =)))
     
  3. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    С этим вопроса нет.


    Все это сводится к а-ля "как вытащить цифру без пексапи" (и возможно ли это вообще)
     
  4. Mabus

    Mabus Активный участник Пользователь

    Баллы:
    76
    Skype:
    chervanenko
    Имя в Minecraft:
    Chervanenko
    Чем плагином, командой, редактором файлов, пхпмайдамином??? Чем вытащить надо то XD
     
  5. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Как я понял без pexapi это можно форкой вытащить, но это естессно маразм

    ведроапишкой
    т.е. в пексе (или другом плагине) игроку прописали это право, и я его вытаскиваю. средствами ведра онли
     
  6. Mabus

    Mabus Активный участник Пользователь

    Баллы:
    76
    Skype:
    chervanenko
    Имя в Minecraft:
    Chervanenko
    вот это не поможет?

    Код:
    public static int getPlayersLimit(Player player, String permission) {
            String perm;
            for (PermissionAttachmentInfo pio : player.getEffectivePermissions()) {
                perm = pio.getPermission();
                System.out.println(perm);
                if (perm.startsWith(permission)) {
                    String ending = perm.substring(perm.lastIndexOf("."), perm.length());
                    if (isNumeric(ending)) {
                        return Integer.parseInt(ending);
                    }
                }
            }
            return -1;
        }
     
  7. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    тоже об этом думал. 100 игроков по 1000 перомов, меня не вдохновили. (или норм серву будет?)
     
  8. Mabus

    Mabus Активный участник Пользователь

    Баллы:
    76
    Skype:
    chervanenko
    Имя в Minecraft:
    Chervanenko
    Пермы часто меняются разве?
    Это можно делать только при запуске серва или раз в 5 минут. Зависит от твоего намерения и целей. =)))
     
  9. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    а ну да. я по привычке в ивент хотел пихнуть. (минусы опыта, когда на начальных этапах думаешь "ой да *** на эту оптимизацию")

    Спасибо.
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Код:
            for(int i=1; i<10; i++) {
                if(e.getPlayer().hasPermission("perms."+i)) {
                      e.getPlayer().sendMessage("У вас есть права на perms."+i);
                }
            }
     
  11. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    Это чисто поорать код? или на серьезе?
     
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Я тебя запутал да?
    Код:
            for(int i=10; i>0; i--) {
                if(e.getPlayer().hasPermission("perms."+i)) {
                    e.getPlayer().sendMessage("Я могу нагибать всех с правами perms.1-"+(i));
                    return;
                }
            }
     
  13. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    нет, не запутал. я прекрасно понял о чем ты. только вот гонять в форке числа выше 10к для каждого плеера не камильфо. (угадай почему)
     
  14. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Чичировать не научили? Надуваешь мапу при входе игрока, пруфит. Не?
    Или у тебя самих прав на игроке меньше чем номеров? Ну тогда варик повыше.
     
  15. Автор темы
    Blc_Dragon

    Blc_Dragon Активный участник Пользователь

    Баллы:
    76
    именно. его и пользую.
     

Поделиться этой страницей