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

Помогите Как проверить Permission у оффлайн игрока? И что у меня с командами? :)

Тема в разделе "Разработка плагинов для новичков", создана пользователем Bars, 30 июн 2013.

Статус темы:
Закрыта.
  1. Автор темы
    Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Пробовал даже так:
    [​IMG]
    Это плагин для очистки мира, хочу сделать игнор региона игрока с данным Permission (onlywipe.skip), plname.hasPermission(...) не помогает.

    Также не работают почему-то команды (их две: принудительная чистка регионов и инфо о плагине (/wipe & /onlywipe соответственно)). За кодом в ЛС.
     
  2. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А не поулчится.
    Во время написания автоочитски для AutoSaveWorld столкнулся с тем же.
    Суперпермы не регистрируются для оффлайн игрока.

    Единственный метод напрямую обращаться к плагину пермишенов, и то если игрок со времени последнего запуска сервера не был онлайн, то нормальный ответ вернёт тебе только GroupManager.

    P.S знакомые сырцы )
     
  3. ptnk

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

    Баллы:
    173
    Одолжил у тебя их что ли?
     
  4. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Да
     
  5. Автор темы
    Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Да, подсмотрел пару строчек :)
    Не делал ни разу плагины с интеграцией :(
    В других плагинах же как-то реализовано. Если не получится, буду делать файл со списком игроков с иммунитетом
     
  6. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Файл у меня даже был в какой-то версии, а потом решил что нефиг афкшить да и всё.
    А в других плагинов оно так и реализовано, вот только эфективность данной проверки - 0

    Тут сейчас надо припилить функцию отмены регенерации перекрывающихся регионов, а то некоторые тупые админы территорию для спавна дефайном приватят, а потом посреди спавна кусок регенится
     
  7. Автор темы
    Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    А наши мысли сходятся ;)
    Сам об этом думал, т.к. у меня улицы на сервере пересекаются, а через некоторые даже приваты игроков проходят.

    Вижу только одно решение: файл со списком игроков
    Приехал домой, 5 минут - и плагин испечён :)
    skip.txt

    Команды починил, теперь не актуально.
     
    slavik123123123 нравится это.
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Ты главное не забудь что имена в файле надо перегонять в нижний регистр.
     
  9. Автор темы
    Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Никто не забыт, ничто не забыто :D
    Почти всегда использую .equalsIgnoreCase() и .toLowerCase()
     
    Сникерсни нравится это.
  10. Jampire

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

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    Файлы, что за извращение? Юзайте sqlite - она работает в сотни раз быстрее пересохранения файла.
    А учитывая что в букките уже есть библиотеки для работы с ним - это всё упрощает.

    Выглядит это примерно так:

    Код:
    public static Connection connection = null;
    public static ResultSet resultSet = null;
     
    Class.forName("org.sqlite.JDBC").newInstance();
    connection = DriverManager.getConnection("jdbc:sqlite://" + Main.plugin.getDataFolder().getAbsolutePath() + "/file.db");
     
    connect.createStatement().execute("INSERT INTO ...");
    ResultSet rs = connect.createStatement().executeQuery("SELECT * FROM ...");
     
    fromgate нравится это.
  11. Автор темы
    Bars

    Bars Старожил Девелопер Пользователь

    Баллы:
    173
    Плагин только читает его
    Ладно, всё работает, я рад. Пора закрывать.
    Буду доделывать MachineGuard Reloaded. Если есть пожелания по нему - то в ЛС, одну свою плюшку я добавил.
     
Статус темы:
Закрыта.

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