Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Как получить право * из PermissionsEx

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

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

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

    Баллы:
    66
    Всем привет.
    Хочу получить право игрока - '*' из файла permissions.yml

    Код:
    public void join(PlayerJoinEvent e){
      Player player = (Player) e.getPlayer();
      World World = player.getWorld();
      PermissionUser user = PermissionsEx.getUser(player);
      if(user.getOption("permissions", World.getName()).equals("*")){
         plugin.Log.info("[Protect] " +player.getName() + "со звездой!!!");
      } else {
         plugin.Log.info("[Protect] " +player.getName() + "без звезды!");
      }
    
    Так тоже пробовал ничего не получилось

    Код:
     Player player = (Player) e.getPlayer();
     if(!player.hasPermission("*") || !player.isOp()) return;
     if(player.hasPermission("*")){
        plugin.Log.info("Бла бла бла бла бла бла");
     } 
     if(player.hasPermission("vzlomka")){
        plugin.Log.info("sssssssssssssssssssssssssssssssss");
     }
     if(!player.hasPermission("vzlomka")){
        plugin.Log.info("dddddddddddddddddddddddddddddddddddddddd");
     }
    
    В консоль просто ничего не выводит, как можно получить '*' игрока хотябы boolean значение false/true ?
     
  2. Хостинг MineCraft
    <
  3. FyuzYT

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

    Баллы:
    66
    Skype:
    salmantonggi
    Имя в Minecraft:
    FyuzYT
    Не?
    Код:
    Player p;
    if (p.isOp()){
       ОПКА
    }else{
      НЕ ОПКА
    }
     
  4. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    оп и "*" совершенно разные вещи.
     
  5. Автор темы
    amw202020

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

    Баллы:
    66
    В том то и дело что при получении OP у меня всё срабатывает а при получении всех прав нет!

    Код:
     if(!player.hasPermission("*") || !player.isOp()) return;
     String isPlayerOp = player.isOp() ? "OP:true" : "OP:false";
     String isPlayerPexStar = player.getPlayer().hasPermission("*") ? "Pex*:true" : "Pex*false";
     plugin.Log.info("[Protect] 'Эвент': {PlayerMoveEvent}, 'isOp': '"+isPlayerOp+"', 'isPex*': '"+isPlayerPexStar+"'");
    
     
  6. FyuzYT

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

    Баллы:
    66
    Skype:
    salmantonggi
    Имя в Minecraft:
    FyuzYT
    Ну ок, тогда Vault.
     
  7. Автор темы
    amw202020

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

    Баллы:
    66
    мне бы пример срочно) сервер другу ломают, а я с pex'om ещё не работал.
    нужен именно код получения '*' у игрока и желательно boolean значение - false / true
    буду очень благодарен.
     
  8. GoodCoder

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

    Баллы:
    76
    Плагины проверяйте все. С bukkit dev перекачайте известные, остальные декомпилируйте и проверяйте.
     
  9. Автор темы
    amw202020

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

    Баллы:
    66
    да всё проверено, у меня 200 онлайн,у друга под 300, банжу всё подрят поменяли, все дыры по туторам фиксанули даже порты 127.0.0.1 проставили, его ломают меня нет.
    плагины все взяты с bukkit/spigotmc, а самописы с проверенных людей с которыми давно работаем, и сейчас в основном речь не о взломе а как получить собственно саму звезду из pex.
     
  10. FyuzYT

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

    Баллы:
    66
    Skype:
    salmantonggi
    Имя в Minecraft:
    FyuzYT
    [DOUBLEPOST=1485600623,1485600591][/DOUBLEPOST]
    Качаешь Vault, импортишь его в библу и вбиваешь етот код:
    Код:
    public Permission perms = null;
    
    public void onEnable(){
            if (!setupPermissions()){
             getLogger().log(Level.SEVERE,"no Vault dependency found!");
             getServer().getPluginManager().disablePlugin(this);
             return;
           }
    }
    
    private boolean setupPermissions(){
           RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
           perms = rsp.getProvider();
           return perms != null;
    }
    
    Ну и проверочка.
    Код:
    public boolean hz(Player p){
        if (perms.has(p, "*")){
           return true;
        }else{
           return false;
        }
    }
    
     
  11. GoodCoder

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

    Баллы:
    76
    Костыли.
    Доверяй, да проверяй (c)
     
  12. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    это к чему вообще?
    каким боком сюда ваулт то причастен. Котел не варит?
    Код:
    @EventHandler
        public void onJoin(PlayerJoinEvent e){
            if (plugin.pex.getPermissionsManager().getUser(e.getPlayer()).has("*")){
                e.getPlayer().sendMessage("true");
            }else e.getPlayer().sendMessage("false");
        }
    
    Работает на ура[DOUBLEPOST=1485600778,1485600737][/DOUBLEPOST]
    ты дурак что ли?

    тут нужен плагин PEX , НАХРЕН ТЫ ЕМУ ВАУЛТ ВТИРАЕШЬ?
     
  13. Dymeth

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

    Баллы:
    76
    Зачем вообще работать с Pex'ом или Vault'ом? Уже давно можно просто простую проверку:
    p.hasPermission("*")
    при событиях входа и перемещения в другие миры
     
  14. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    у человека так почему то не работает
     
  15. Dymeth

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

    Баллы:
    76
    Значит плохо пробовал. Любой не доисторический менеджер прав подключается к ванильной майнкрафтовской системе. Хотя я не исключаю, что его сервер ломают не из-за наличия прав у какого-то игрока
     
  16. Автор темы
    amw202020

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

    Баллы:
    66
    помогло,спасибо)
     
  17. AtomicInteger

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

    Баллы:
    46
    Лол, просто выдрал откуда-то код :D
     
  18. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Костыльная хрень.
    Использовать PexApi - нееее.
    Использовать Vault для работы c PEX -- да, дайте два

    Школота, что поделать
     
  19. Автор темы
    amw202020

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

    Баллы:
    66
    тебе откуда знать сколько мне лет?
    все такие умные и сразу знают все взаимодействия с плагинами и все api? Я тебе родился кодером чтоль?
    Как смог так и пофиксил и не зачем тут строить из себя всезнающего.
     
Статус темы:
Закрыта.

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