Войти или зарегистрироваться

Помогите Разделение игроков на 2 команды.

  • Автор темы Автор темы BeLkA
  • Дата начала Дата начала

BeLkA

Старожил
Пользователь
Баллы
153
Здравствуйте. Разрабатывая scoreboard, наткнулся на проблему. Нужно разделить всех игроков, которые на сервере на 2 команды, например, красную и синюю. Как сделать?
 
Спасибо за прикреплённое видео, но так как я на даче, было бы удобнее видеть текстовый материал, нет такого?

-_- Посмотрел видео... Тут тема разработки плагинов, а не реализации редстоуна. Вы ничем не помогли, извините.
 
BeLkA, вам нужен отдельный плагин для разделения игроков на команды?
Или просто отображение этого в ScoreBoard?
 
Код:
private Team team;
private Scoreboard score;

public void onEnable()
    {        Bukkit.getPluginManager().registerEvents(this, this);
      
        score = Bukkit.getScoreboardManager().getNewScoreboard();
        team = score.registerNewTeam("green");
        team.setPrefix("Green__");
    }

public void onJoin(PlayerJoinEvent e)
    {
        e.getPlayer().setScoreboard(score);
        team.addPlayer(e.getPlayer());
      
    }
не покатит?=) Аналогично бахнешь и синюю тиму=) Удачи тебе=)
 
@GodlikE , тут какое дело, спасибо за код, но так они рандомно распределяться должны, тут какой-нибудь Math.random() использовать может надо
 
@GodlikE , тут какое дело, спасибо за код, но так они рандомно распределяться должны, тут какой-нибудь Math.random() использовать может надо
Попробуй по очереди распределять. Синий-красный-синий-красный.....
Код:
byte l;
@Override
public void onEnable() {
l = 0;
}

@EventHandler
public void onJoin(PlayerJoinEvent event) {
    if(l == 0) {
        //фигачим в красную
        l = 1;
    }
    else {
        //фигачим в синюю
        l=0;
    }
}

Это просто пример, можешь сделать по-своему.
 
Может быть=) Я еще не работал с рандомами=)
Все равно спасибо! Очень помог!
Попробуй по очереди распределять. Синий-красный-синий-красный.....
Код:
byte l;
@Override
public void onEnable() {
l = 0;
}
 
@EventHandler
public void onJoin(PlayerJoinEvent event) {
    if(l == 0) {
        //фигачим в красную
        l = 1;
    }
    else {
        //фигачим в синюю
        l=0;
    }
}

Это просто пример, можешь сделать по-своему.
Тебе большое спасибо, теперь у меня на форуме есть друзья, и ты один из них. Почти во всех моих последних темах появляешься =)
 
У меня вообще так было:
Код:
    if (red.size() > blue.size()){
            // Add to blue team
        } else if (blue.size() > red.size()){
            // Add to red team
        } else {
            if (new Random().nextBoolean()){
                // Add to red team
            } else {
                // Add to blue team
            }
        }
 
У меня вообще так было:
Код:
    if (red.size() > blue.size()){
            // Add to blue team
        } else if (blue.size() > red.size()){
            // Add to red team
        } else {
            if (new Random().nextBoolean()){
                // Add to red team
            } else {
                // Add to blue team
            }
        }
Ура! Спасибо! Ты мне тоже теперь ах*энн друг
 
У меня вообще так было:
Код:
    if (red.size() > blue.size()){
            // Add to blue team
        } else if (blue.size() > red.size()){
            // Add to red team
        } else {
            if (new Random().nextBoolean()){
                // Add to red team
            } else {
                // Add to blue team
            }
        }
Зачем каждый раз "new Random()"? new - довольно тяжёлый оператор.
 
Назад
Верх