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

Помогите Проблема с кодом / Как узнать длину аргумента

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

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

    fswr33 Новичок Пользователь

    Баллы:
    21
    Код:
        public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
            Player player = (Player) sender;
            if (alias.equalsIgnoreCase("ag")) {
                if (!player.hasPermission("ag.use")) {
                    sender.sendMessage(prefix + "Нет прав");
                    return true;
                }
                if (args.length == 0) {
                    sender.sendMessage(prefix + "Пиши /ag <ник>");
                    return true;
                }
                if (args.length() > 16) {
                    sender.sendMessage(prefix + "Максимальный размер ника - 16 символов");
                    return true;
                }...
    О проблеме:
    При таком коде если написать команду /ag без аргументов, то будет писать ошибку "An internal error occurred while attempting to perform this command", но если убрать проверку (args.length() > 16), то все работает нормально. Что делать?
     
  2. Хостинг MineCraft
    <
  3. LomNar

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

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    else return false;
     
  4. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Баллы:
    21
    Код:
                else {
                    Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), "nick " + sender.getName() + " " + args[0]);
                    sender.sendMessage(prefix + "Теперь ваш ник " +args[0]);
                }
     
  5. mifort

    mifort Новичок Пользователь

    Баллы:
    16
    Попробуй написать
    Код:
    else if (args.length() > 16)
    И еще можешь посмотреть лог в консоли, он может помочь
     
  6. ensirius

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

    Баллы:
    123
    Что за говно я сейчас прочитал?
     
  7. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Баллы:
    21
    Спасибо, помогло
     
  8. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    А как вы у массива вообще вызвали length()?
     
  9. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Баллы:
    21
    args[0].lenght()
     
  10. LomNar

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

    Баллы:
    78
    Skype:
    radius981
    Имя в Minecraft:
    LomNar
    Это не длина массива а строки[DOUBLEPOST=1448530249,1448530208][/DOUBLEPOST]И я сразу не заметил что у тебя нету else if
     
  11. Agravaine

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

    Баллы:
    88
    Имя в Minecraft:
    Agravaine25
    Ну так емое, у массива это переменная, а не метод. Скобки круглые не нужны.
     
  12. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Что за говно я сейчас прочитал? [x2]
    Код:
        public boolean onCommand(CommandSender sender, Command command, String alias, String[] args) {
            Player player = (Player) sender;
            if (args.length == 0) {
                return false;
            }
            String str = args[0];
            if (str.length() > 16) {
                sender.sendMessage(prefix + "Максимальный размер ника - 16 символов");
                return true;
            }
            //...
     
  13. Автор темы
    fswr33

    fswr33 Новичок Пользователь

    Баллы:
    21
    Не знаю как ты, а я прочитал набивание постов
     
  14. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Мне своих 6к постов хватает. Один лишний погоды мне не сделает. А вот тебе, наверное, поможет.
     
Статус темы:
Закрыта.

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