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

Помогите Глобальная переменная

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

  1. Автор темы
    Darth Udko

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

    Баллы:
    103
    Я вот уже 2 скорборда посмотрел и не могу понять как они берут информацию онлайна сервера или ник игрока если в сурсах не прописано ничего?[DOUBLEPOST=1472318854,1472318783][/DOUBLEPOST]
    Мне надо не просто заменить. Мне нужно сначало как то получить игрока[DOUBLEPOST=1472319149][/DOUBLEPOST]
    Код:
    public void onEnable(Player player)
        {
            getServer().getPluginManager().registerEvents(this, this);
            BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
        
            ScoreboardManager sbManager = Bukkit.getScoreboardManager();
            final Scoreboard sBoard = sbManager.getNewScoreboard();
           
            Objective obj = sBoard.registerNewObjective("MineCraft", "dummy");
            obj.setDisplaySlot(DisplaySlot.SIDEBAR);
            obj.setDisplayName(ChatColor.GRAY + "" + ChatColor.BOLD + "Mine" + ChatColor.GOLD + ChatColor.BOLD + "Craft");
           
            Score score1 = obj.getScore("Твой ник: " + player.getName());
            score1.setScore(1);
        }
    Почему если вот таким методом получать ник игрока, то скорборд перестает показываться?
     
  2. Хостинг MineCraft
    <
  3. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    ну в цикле получай, только наврятли это будет работать.
    for (Player p : Bukkit.getOnlinePlayers() {p.getName()}
     
  4. Автор темы
    Darth Udko

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

    Баллы:
    103
    Зачем тогда писать если не работает :D . Кто еще поможет?[DOUBLEPOST=1472320535,1472320330][/DOUBLEPOST]
    Код:
    public void onEnable(Player player)
        {
            getServer().getPluginManager().registerEvents(this, this);
            BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
       
            ScoreboardManager sbManager = Bukkit.getScoreboardManager();
            final Scoreboard sBoard = sbManager.getNewScoreboard();
          
            Objective obj = sBoard.registerNewObjective("MineCraft", "dummy");
            obj.setDisplaySlot(DisplaySlot.SIDEBAR);
            obj.setDisplayName(ChatColor.GRAY + "" + ChatColor.BOLD + "Mine" + ChatColor.GOLD + ChatColor.BOLD + "Craft");
          
            Score score1 = obj.getScore("Твой ник: " + player.getName());
            score1.setScore(1);
        }
    Почему если вот таким методом получать ник игрока, то скорборд перестает показываться?
     
  5. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    == null
     
  6. Автор темы
    Darth Udko

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

    Баллы:
    103
    Ты про что?
     
  7. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Код:
        @Override
        public void onEnable() {
           
            getServer().getPluginManager().registerEvents(this, this);
            BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
           
            scheduler.scheduleSyncRepeatingTask(this, new BukkitRunnable() {
               
                @Override
                public void run() {
                    while (true) {
                        this.setupScoreBoard();
                    }
                }
    
                private void setupScoreBoard() {
                    for (Player ps : Bukkit.getOnlinePlayers()) {
                       ScoreboardManager sbManager = Bukkit.getScoreboardManager();
                       final Scoreboard sBoard = sbManager.getNewScoreboard();
                     
                       Objective obj = sBoard.registerNewObjective("MineCraft", "dummy");
                       obj.setDisplaySlot(DisplaySlot.SIDEBAR);
                       obj.setDisplayName(ChatColor.GRAY + "" + ChatColor.BOLD + "Mine" + ChatColor.GOLD + ChatColor.BOLD + "Craft");
                     
                       Score score1 = obj.getScore("Твой ник: " + ps.getName());
                       score1.setScore(1);       
                    }               
                }
            }, 0L, 3000);
        }
    
     
  8. Автор темы
    Darth Udko

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

    Баллы:
    103
    Не работает
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Код:
    @EventHandler
    public void onPlayerJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        String name = p.getName();
        this.plugin.addPlayer(name);
    }
    Для этого тебе нужно передать инстант из главного класса в конструктор этому.
    В общем просто сюда глянь https://github.com/alexandrage/Example.
     
    Последнее редактирование: 1 сен 2016
  10. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Я хочу поменять всего лишь одну букву во всём мире, например e на a :)
     
  11. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Example
     

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