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

Помогите ScoreBoard + Bukkit?

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

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

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

    Баллы:
    48
    Имя в Minecraft:
    _Rufu5_
    Здравствуйте, сегодня хочу спросить как в int переменную записать кол-во очков на ScoreBoard, а потом обратно засунать в скоробордю. Буду рад если поможете кодом. И с наступившем всех!!!
    Вот часть кода моего варианта, но она не работает
    Код:
        @EventHandler
        public void respawnEvent(PlayerRespawnEvent event){
          
    //        event.getPlayer().sendMessage(Bukkit.getScoreboardManager().getNewScoreboard().getObjective("Lives").getScore(event.getPlayer()).getScore() + "");
    //        Objective lives = Bukkit.getScoreboardManager().getNewScoreboard().getObjective("Lives");
    //        int currentScore = lives.getScore(event.getPlayer()).getScore();
    //        currentScore--;
    //        lives.getScore(event.getPlayer()).setScore(currentScore);
            Objective objective = Bukkit.getScoreboardManager().getNewScoreboard().registerNewObjective("Lives", "dummy");
            objective.setDisplaySlot(DisplaySlot.SIDEBAR);
    
            objective.setDisplayName("Lives");
            Score score = objective.getScore(Bukkit.getOfflinePlayer("Kills:"));
            score.setScore(1);
        } 
     
  2. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
    Код:
    @EventHandler
        public void respawnEvent(PlayerRespawnEvent event){
       
    //        event.getPlayer().sendMessage(event.getPlayer().getScoreboard().getObjective("Lives").getScore(event.getPlayer()).getScore() + "");
    //        Objective lives = event.getPlayer().getScoreboard().getObjective("Lives");
    
    //        int currentScore = lives.getScore(event.getPlayer()).getScore();
    //        currentScore--;
    //        lives.getScore(event.getPlayer()).setScore(currentScore);
            Objective objective = event.getPlayer().getScoreboard().getObjective("Lives");
    
            Score score = objective.getScore(Bukkit.getOfflinePlayer("Kills:"));
            score.setScore(1);
        }
    Вроде должно работать
     
    Goldenix нравится это.
  3. Автор темы
    _Rufu5_

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

    Баллы:
    48
    Имя в Minecraft:
    _Rufu5_
    Вот на сервере в скороборде(ScoreBoard) есть objective "Lives", как получить его у игрока и записать кол-во очков в переменную int. Буду рад за помощь.
    Вот так можно:
    Код:
    Objective obj = sb.getObjective("Lives"); 
     

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