Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Брать событие чата, отменять его и отправлять свое.как вивести в ник игрока префиксы
не в чате а в нике который над игрокомБрать событие чата, отменять его и отправлять свое.
Система scoreboardне в чате а в нике который над игроком
Система scoreboard
public static void createscoreboard(Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard scoreboard = manager.getNewScoreboard();
Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dumme", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER);
objectiveside.setDisplaySlot(DisplaySlot.SIDEBAR);
Team team = scoreboard.registerNewTeam("team");
team.setPrefix("huy ");
team.setSuffix(" nya");
team.setAllowFriendlyFire(false);
team.setCanSeeFriendlyInvisibles(true);
team.addPlayer(p);
p.setScoreboard(scoreboard);
updatescoreboard(p);
}
public static void updatescoreboard(Player p) {
updatesidebar(p);
p.getScoreboard().getTeam("team").addPlayer(p);
}
DisplaySlot.SIDEBAR не смущает? Ставь DisplaySlot.BELOW_NAME или что то подобноеКод:public static void createscoreboard(Player p) { ScoreboardManager manager = Bukkit.getScoreboardManager(); Scoreboard scoreboard = manager.getNewScoreboard(); Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dumme", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER); objectiveside.setDisplaySlot(DisplaySlot.SIDEBAR); Team team = scoreboard.registerNewTeam("team"); team.setPrefix("huy "); team.setSuffix(" nya"); team.setAllowFriendlyFire(false); team.setCanSeeFriendlyInvisibles(true); team.addPlayer(p); p.setScoreboard(scoreboard); updatescoreboard(p); } public static void updatescoreboard(Player p) { updatesidebar(p); p.getScoreboard().getTeam("team").addPlayer(p); }
ники не меняются
так это обжекстив равне это связанно с командой?DisplaySlot.SIDEBAR не смущает? Ставь DisplaySlot.BELOW_NAME или что то подобное
for (Player all : Bukkit.getOnlinePlayers()) {
for(Player all2 : Bukkit.getOnlinePlayers()) {
all.getScoreboard().getTeam("team").addPlayer(all2);
}
}
Это под ником строкаСтавь DisplaySlot.BELOW_NAME или что то подобное
Ну так исправь и дай всем разные команды.так это обжекстив равне это связанно с командой?
и к тому же если я пытаюсь дать всем эту команду
то всё работает проблема только в том что у всех одинаковый префиксы так как команда у всех 1Код:for (Player all : Bukkit.getOnlinePlayers()) { for(Player all2 : Bukkit.getOnlinePlayers()) { all.getScoreboard().getTeam("team").addPlayer(all2); } }
я это делаю когда при входе игрока создаю скорбордНу так исправь и дай всем разные команды.
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard scoreboard = manager.getNewScoreboard();
Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dumme", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER);
objectiveside.setDisplaySlot(DisplaySlot.SIDEBAR);
Team team = scoreboard.registerNewTeam("team");
team.setPrefix("huy " + main.kills.get(p));
team.setSuffix(" nya");
team.setAllowFriendlyFire(false);
team.setCanSeeFriendlyInvisibles(true);
team.addPlayer(p);
public static void createscoreboard(Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard scoreboard = manager.getNewScoreboard();
Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dumme", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER);
objectiveside.setDisplaySlot(DisplaySlot.SIDEBAR);
Team team = scoreboard.registerNewTeam("team");
team.setPrefix("huy " + main.kills.get(p));
team.setSuffix(" nya");
team.setAllowFriendlyFire(false);
team.setCanSeeFriendlyInvisibles(true);
team.addPlayer(p);
p.setScoreboard(scoreboard);
updatescoreboard(p);
}
public static void updatescoreboard(Player p) {
updatesidebar(p);
updateteam(p);
}
public static void updatesidebar(Player p) {
if(p.getScoreboard() == null) return;
if(p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR) == null) return;
for(String entr : p.getScoreboard().getEntries()) {
p.getScoreboard().resetScores(entr);
}
//setScore();
p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR).getScore(ChatColor.RED + "" + ChatColor.BOLD + "kills " + main.kills.get(p)).setScore(10);
p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR).getScore(ChatColor.GREEN + "" + ChatColor.BOLD + "alive " + main.getPlayers().size()).setScore(9);
}
public static void updateteam(Player p) {
//p.getScoreboard().getTeam("team").addPlayer(p);
for (Player all : Bukkit.getOnlinePlayers()) {
for(Player all2 : Bukkit.getOnlinePlayers()) {
all.getScoreboard().getTeam("team").addPlayer(all2);
}
}
}
Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dumme", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER);
Вместо "dumme" ты скорее всего хотел написать "dummy"Код:Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dumme", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER);
Создавай один скорборд при включении сервера, и ставь его игроку когда он заходит. И вместе с этим добавляй его в команду, чтобы у него появлялся префикс. Если каждому игроку нужна отдельная команда, создавай новую команду при первом заходе игрока, т.е. например scoreboard.registerNewTeam("(НИК ИГРОКА)"); . Создавать команду с именем, как у игрока, чтобы можно было легко проверить, существует ли такая команда.
И лучше напиши ещё раз по пунктам, что тебе нужно и что не получается.
Я не думаю, что есть смысл использовать больше одного скорборда. Есть смысл изменять скорборд у игрока когда он делает убийство.вариант с 1 скорбордом я уже пробовал он мне не подходит
так как мне нужно что бы у каждого игрока в скорборде отображалось его количество килов
так вот мне просто нужно поставить игроку свой префикс в нике над моделькой и всё
как если скорборд 1 я буду изменять скоры в скорборде игроков? я не смогу выводить каждому игроку ЕГО количество киловЯ не думаю, что есть смысл использовать больше одного скорборда. Есть смысл изменять скорборд у игрока когда он делает убийство.
мне просто нужно каждому игроку давать свою команду и этой команде поставить префиксЯ не думаю, что есть смысл использовать больше одного скорборда. Есть смысл изменять скорборд у игрока когда он делает убийство.
Эм, делаешь какой-нибудь допустим $kills$, а потом для каждого игрока заменяешь эту строку... Все можно сделать с одним scoreboardмне просто нужно каждому игроку давать свою команду и этой команде поставить префикс
как?ведь если скорборд будет 1 и мы изменить скор офлайн игрокаЭм, делаешь какой-нибудь допустим $kills$, а потом для каждого игрока заменяешь эту строку... Все можно сделать с одним scoreboard
p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR).getScore(ChatColor.RED + "" + ChatColor.BOLD + "kills " + main.kills.get(p)).setScore(10);
Ты забыл игроку поставить этот скорборд.я это делаю когда при входе игрока создаю скорборд
Ты забыл игроку поставить этот скорборд.
public class scoreboard {
public static void createscoreboard(Player p) {
ScoreboardManager manager = Bukkit.getScoreboardManager();
Scoreboard scoreboard = manager.getNewScoreboard();
Objective objectiveside = scoreboard.registerNewObjective("sidebar", "dummy", ChatColor.RED + "" + ChatColor.BOLD + "arena ", RenderType.INTEGER);
objectiveside.setDisplaySlot(DisplaySlot.SIDEBAR);
Team team = scoreboard.registerNewTeam("team");
team.setPrefix("huy " + main.kills.get(p) + " ");
team.setSuffix(" nya");
team.setAllowFriendlyFire(true);
team.setCanSeeFriendlyInvisibles(true);
team.addPlayer(p);
p.setScoreboard(scoreboard);
updatescoreboard(p);
}
public static void updatescoreboard(Player p) {
updatesidebar(p);
updateteam(p);
}
public static void updatesidebar(Player p) {
if(p.getScoreboard() == null) return;
if(p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR) == null) return;
for(String entr : p.getScoreboard().getEntries()) {
p.getScoreboard().resetScores(entr);
}
//setScore();
p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR).getScore(ChatColor.RED + "" + ChatColor.BOLD + "kills " + main.kills.get(p)).setScore(10);
p.getScoreboard() .getObjective(DisplaySlot.SIDEBAR).getScore(ChatColor.GREEN + "" + ChatColor.BOLD + "alive " + main.getPlayers().size()).setScore(9);
}
public static void updateteam(Player p) {
p.getScoreboard().getTeam("team").addPlayer(p);
/*for (Player all : Bukkit.getOnlinePlayers()) {
for(Player all2 : Bukkit.getOnlinePlayers()) {
all.getScoreboard().getTeam("team").addPlayer(all2);
}
}*/
}
}