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

Помогите Отправить сообщение всем игрокам

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

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

    QwertyMo Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    QwertyMo
    Как отправить сообщение всем игрокам?
     
  2. Хостинг MineCraft
    <
  3. Mr_RoboMan

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

    Баллы:
    123
    Легко.
    Google.
     
  4. Автор темы
    QwertyMo

    QwertyMo Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    QwertyMo
    Если тебе не трудно, то можешь за меня это сделать, раз это легко?
     
  5. 0x1EE7C0DE

    0x1EE7C0DE Участник Пользователь

    Баллы:
    36
    Код:
    Bukkit.broadcastMessage("Hello");
     
  6. Автор темы
    QwertyMo

    QwertyMo Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    QwertyMo
    Спасибо
     
  7. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Это отправляет сообщение не всем игрокам, а всему серверу, никогда не использую данный метод. Чтобы отправить сообщение игрокам, получаем массив игроков (Bukkit.getOnlinePlayers()) и отправляем им сообщение:
    Код:
    for(Player player : Bukkit.getOnlinePlayers()) {
    player.sendMessage(сообщение);
    }
    [DOUBLEPOST=1478623762,1478623723][/DOUBLEPOST]ТС, закрой тему
     
  8. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Само собой так, а то еще консоль засорять ;D
     
  9. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Особенно тогда, когда шлют сразу листами, потом в консоли и не найдешь нужные сведения
     
  10. SimMiMo

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

    Баллы:
    76
    В одном из первых моих плагинов до сих пор стоит Bukkit.broadcastMessage.
    Иногда на сервере два раза отправляется сообщение, может связано с его коротким подвисанием в момент отправки. Таки да, лучше через перебор игроков.
     
  11. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Оно может отправляться более одного раза только из-за зацикливаня, ищи ошибки в коде
     
  12. SimMiMo

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

    Баллы:
    76
    Мне в том плагине рыться почти нет желания :cry: )
     
  13. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Код:
    @Override
    public int broadcastMessage(String message) {
        return broadcast(message, BROADCAST_CHANNEL_USERS);
    }
    
    @Override
    public int broadcast(String message, String permission) {
        int count = 0;
        Set<Permissible> permissibles = getPluginManager().getPermissionSubscriptions(permission);
    
        for (Permissible permissible : permissibles) {
            if (permissible instanceof CommandSender && permissible.hasPermission(permission)) {
                CommandSender user = (CommandSender) permissible;
                user.sendMessage(message);
                count++;
            }
        }
    
        return count;
    }
    
    Отсюда я смело могу заявить, что Вы, сударь, не шарите.
     
  14. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Я не декомпилировал этот класс, но консоли он точно уж отправляет
     
  15. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Он отправляет CommandSender'ам, если не видно. А консоль - CommandSender тоже.
    И я ничего не декомпилировал.
     
  16. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Ничего не понимаю, причем здесь вообще CommandSender? Он просто хочет отправить сообщение всем игрокам
     
  17. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    ... про то что ConsoleCommandSender наследует CommandSender, и при Bukkit.broadcastMessage консоли тоже отправится сообщение.
     
  18. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ты код читать умеешь вообще? Этот метод отправляет не всему серверу, а всем CommandSender.
    И откуда ты взял это?
     
  19. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Была схожая проблема
     

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