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

Помогите Некорректный вывод причины.

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

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

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

    Баллы:
    61
    Имя в Minecraft:
    SeemsGood
    Доброго времени, в процессе написания плагина столкнулся с проблемой. Когда человек пытается заглушить игрока на время и с причиной, вместо первого слова причины выводятся 2, дальше все в порядке. Код и скрины ниже.
    Код:
    if(cmd.getName().equalsIgnoreCase("mute")){
                //Игрок
                if(sender instanceof Player){
                    if(PermissionsEx.getUser(sender.getName()).has("sw.mute")){
                        //Админ
                        if(PermissionsEx.getUser(sender.getName()).has("sw.admin")){
                            if(args.length == 0){
                                sender.sendMessage(pr + "Укажите ник игрока!");
                                return true;
                            }
                            if(args.length == 1){
                                mute(args[0], "Вы были замучены навсегда!", (Player) sender);
                                Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда");
                                return true;
                            }
                            if(args.length == 2){
                                StringBuilder s1 = new StringBuilder();
                                if (args.length >= 2) {
                                    s1.append(args[1]);
                                    for (int i = 2; i < args.length; i++) {
                                        s1.append(" ");
                                        s1.append(args[i]);
                                    }
                                }
                                String res = s1.toString();
                                mute(args[0], res, (Player) sender);
                                Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда." + " Причина: '" + res + "'");
                                return true;
                            }
    
                            if(args.length >= 3){
                                StringBuilder s1 = new StringBuilder();
                                if (args.length >= 3) {
                                    s1.append(args[2]);
                                    for (int i = 2; i < args.length; i++) {
                                        s1.append(" ");
                                        s1.append(args[i]);
                                    }
                                }
                                java.util.Timer timer2 = new java.util.Timer();
                                TimerTask task = new TimerTask() {
                                    public void run()
                                    {
                                        unmute(args[0].toLowerCase(), (Player) sender);
                                    }
                                };
                                try { 
                                    int es = new Integer(args[1]);
                                    timer2.schedule(task, es*60000);
                                    String res = s1.toString();
                                    mute(args[0], res, (Player) sender);
                                    Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". На " + args[1] + " минут." + " Причина: '" + res + "'");
                                }catch (NumberFormatException e) {  
                                    sender.sendMessage(priority.pre() + "Указано не (целое) число!");
                                    return false;
                                }  
    
                            }
    
    
                        }
                        //Обычный
                        else{
    
                            if(args.length == 0){
                                sender.sendMessage(pr + "Укажите ник игрока!");
                                return true;
                            }
                            if(args.length == 1){
                                if(PermissionsEx.getUser(sender.getName()).has("mute.ever")){
                                    if(priority.p(sender.getName())>priority.p(args[0])){
                                        mute(args[0], "Вы были замучены навсегда!", (Player) sender);
                                        Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда");
                                        return true;
                                    }
                                    else{
    
                                        sender.sendMessage(priority.pre() + "Недостаточно приоритета, чтобы заткнуть этого пользователя");
                                        sender.sendMessage(priority.pre() + "Логическая запись: §a" + priority.p(args[0]) + " §7>= §c" + priority.p(sender.getName()));
                                        return true;
                                    }
                                }
                                else{
    
                                    sender.sendMessage(pr + "У Вас нет прав, чтобы мутить навсегда!");
                                    return true;
                                }
                            }
                            if(args.length == 2){
                                if(priority.p(sender.getName())>priority.p(args[0])){
                                    StringBuilder s1 = new StringBuilder();
                                    if (args.length >= 2) {
                                        s1.append(args[1]);
                                        for (int i = 2; i < args.length; i++) {
                                            s1.append(" ");
                                            s1.append(args[i]);
                                        }
                                    }
                                    String res = s1.toString();
                                    mute(args[0], res, (Player) sender);
                                    Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут администратором " + sender.getName() + ". Навсегда." + " Причина: '" + res + "'");
                                    return true;
                                }
                                else{
                                    sender.sendMessage(priority.pre() + "Недостаточно приоритета, чтобы заткнуть этого пользователя");
                                    sender.sendMessage(priority.pre() + "Логическая запись: §a" + priority.p(args[0]) + " §7>= §c" + priority.p(sender.getName()));
                                    return true;
                                }
                            }
    
                            if(args.length >= 3){
                                if(priority.p(sender.getName())>priority.p(args[0])){
    
                                    java.util.Timer timer2 = new java.util.Timer();
                                    TimerTask task = new TimerTask() {
                                        public void run()
                                        {
                                            unmute(args[0].toLowerCase(), (Player) sender);
                                        }
                                    };
                                    try { 
                                        StringBuilder s1 = new StringBuilder();
                                        if (args.length >= 3) {
                                            s1.append(args[2]);
                                            for (int i = 2; i < args.length; i++) {
                                                s1.append(" ");
                                                s1.append(args[i]);
                                            }
                                        }
                                        int es = new Integer(args[1]);
                                        timer2.schedule(task, es*60000);
                                        String res = s1.toString();
                                        mute(args[0], res, (Player) sender);
                                        Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут игроком " + sender.getName() + ". На " + args[1] + " минут." + " Причина: '" + res + "'");
                                    }catch (NumberFormatException e) {  
                                        sender.sendMessage(priority.pre() + "Указано не (целое) число!");
                                        return false;
                                    }  
    
                                }
                                else{
    
                                    sender.sendMessage(priority.pre() + "Недостаточно приоритета, чтобы заткнуть этого пользователя");
                                    sender.sendMessage(priority.pre() + "Логическая запись: §a" + priority.p(args[0]) + " §7>= §c" + priority.p(sender.getName()));
                                    return true;
                                }
    
                            }
    
    
                        }
                    }
                    else{
    
                        sender.sendMessage(cperm("mute"));
                    }
                }
                //Консоль
                else{
                    if(args.length == 0){
                        sender.sendMessage(pr + "Укажите ник игрока!");
                        return true;
                    }
                    if(args.length == 1){
                        mute(args[0], "Вы были замучены навсегда!", (Player) getServer().getConsoleSender());
                        Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут Консолью" + ". Навсегда");
                        return true;
                    }
                    if(args.length == 2){
                        StringBuilder s1 = new StringBuilder();
                        if (args.length >= 2) {
                            s1.append(args[1]);
                            for (int i = 2; i < args.length; i++) {
                                s1.append(" ");
                                s1.append(args[i]);
                            }
                        }
                        String res = s1.toString();
                        mute(args[0], res, (Player) getServer().getConsoleSender());
                        Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут Консолью" + ". Навсегда." + " Причина: '" + res + "'");
                        return true;
                    }
    
                    if(args.length == 3){
                        StringBuilder s1 = new StringBuilder();
                        if (args.length >= 3) {
                            s1.append(args[1]);
                            for (int i = 2; i < args.length; i++) {
                                s1.append(" ");
                                s1.append(args[i]);
                            }
                        }
                        java.util.Timer timer2 = new java.util.Timer();
                        TimerTask task = new TimerTask() {
                            public void run()
                            {
                                unmute(args[0].toLowerCase(), (Player) getServer().getConsoleSender());
                            }
                        };
                        try { 
                            int es = new Integer(args[1]);
                            timer2.schedule(task, es*60000);
                            String res = s1.toString();
                            mute(args[0], res, (Player) sender);
                            Bukkit.broadcastMessage(pr + "Игрок " + args[0] + " был заткнут Консолью" +  ". На " + args[1] + " минут." + " Причина: '" + res + "'");
                        }catch (NumberFormatException e) {  
                            sender.sendMessage(priority.pre() + "Указано не (целое) число!");
                            return false;
                        }  
    
                    }
    
    
    
    
    
                }
    
    
    
    
    
    
                return true;
            }
    
    
    Screenshot_8.png
     
  2. Хостинг MineCraft
    <
  3. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    1. }
    2. if(args.length == 2){
    3. StringBuilder s1 = new StringBuilder();
    4. if (args.length >= 2) {
    Найди ошибку[DOUBLEPOST=1471539763,1471539705][/DOUBLEPOST]Исправь:
    1. if (args.length >= 3) {
    2. s1.append(args[2]);
    3. for (int i = 2; i <
    4. int i = 3, а не 2
     
  4. Автор темы
    waterwalker

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

    Баллы:
    61
    Имя в Minecraft:
    SeemsGood
    Понято
     
Статус темы:
Закрыта.

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