Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

как убрать игрока из scoreboard?

artem2015

Участник
Баллы
33
Имя в Minecraft
admin
инициализация так:
Код:
    public void init() {
    sb= Bukkit.getScoreboardManager().getNewScoreboard();
    obj=sb.registerNewObjective("SCORE", "admin");
    obj.setDisplaySlot(DisplaySlot.SIDEBAR);
    obj.setDisplayName(ChatColor.YELLOW + "allscores");
    team=sb.registerNewTeam("myteam");
    team.setCanSeeFriendlyInvisibles(true);
    team.setAllowFriendlyFire(false);
    }

для того чтобы скорборд появился у игрока достаточно написать:

Код:
 org.bukkit.scoreboard.Score s = obj.getScore(p);   
    s.setScore(lives);
    p.setScoreboard(sb);

как теперь убрать этого игрока из скорборд?

team.removePlayer(p); не работает

team.addPlayer(p); можно писать, можно не писать, на результат не влияет. игрок как не удалялся так и не удаляется.
 
Уcтанови все Objectives на ничего и поставь игроку. Для индивидуальных данных в скореборде нужно использовать пакеты
 
если написать:
Код:
Score s = obj.getScore(p);
s=null;
p.setScoreboard(sb);
то не помогает

если obj=null - то скорборд вообще перестаёт работать у всех

мне нужно из общего скорборда убрать игрока который вышел
 
если написать:
Код:
Score s = obj.getScore(p);
s=null;
p.setScoreboard(sb);
то не помогает

если obj=null - то скорборд вообще перестаёт работать у всех

мне нужно из общего скорборда убрать игрока который вышел
Создай новый пустой скоребоард для него
 
не работает. игрок как был в общем скорборде так и остался, хотя вообще вышел из игры.

этот код на нём выполнил при его выходе.
Код:
sb_fake= Bukkit.getScoreboardManager().getNewScoreboard();
        obj_fake=sb_fake.registerNewObjective("SCORE5", "admin5");
        p.setScoreboard(sb_fake);

пробовал вообще без obj всё равно не убирает

Код:
sb_fake=Bukkit.getScoreboardManager().getNewScoreboard();
        p.setScoreboard(sb_fake);
 
Попробуй заставить игрока переподключиться, возможно тогда значение обнулиться.
 
Попробуй sb.resetScores((OfflinePlayer)p)
 
Назад
Верх