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

Помогите Проблема с getPlayer()

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    Chest
    Проблема заключается в том, что getPlayer() находит игроков, которых нет
    Пример: На сервере только 1 игрок GayLord, мне нужно проверить, онлайн ли игрок Gay
    Код:
    Player p = getServer().getPlayer("Gay");
     if (p == null){ //если его нет
      return;
     }
    Но getPlayer вместо получения игрока Gay ищет игрока подходящего по буквам, то есть p.getName() = GayLord

    Короче как сделать проверку на игрока, онлайн ли он

    P.S. Пример if p == null нашел на форумах, знаю, что это говно не работает
     
  2. leonmark061

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

    Баллы:
    76
    Код:
            Player player = null;
            String prefix = "Gay";
      
            for(Player pl : Bukkit.getOnlinePlayers())
            {
                if(pl.getName().toLowerCase().startsWith(prefix.toLowerCase()))
                {
                    player = pl;
                    break;
                }
            }
         
            if(player == null)
                log("Игрок не найден");
            else
                log("Гомосек обноружен");

    Этот код не будет работать правильно в некоторых случаях. Например, когда таких игроков больше одного(GayLord, GayLordic, etc) Над решением этой проблемы думайте сами.
     
  3. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    getPlayerExact()
     
  4. leonmark061

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

    Баллы:
    76
    С этим может возникнуть еще больше проблем.
     
  5. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    getPlayer(String) Тоже Deprecated и что? Автору надо искать по имени, так что только этот метод и подойдёт.
     
  6. leonmark061

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

    Баллы:
    76
    Но разве этот метод подходит ТС? Насколько я понял, ему надо не по точному имени искать, а по первым буквам.
     
  7. Автор темы
    TheChest

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

    Баллы:
    66
    Имя в Minecraft:
    Chest
    Решение было так близко...
    Наоборот, у меня ищет по первым буквам, а надо по точному имени
     

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