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

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

Discussion in 'Разработка плагинов для новичков' started by QwertyMo, Nov 8, 2016.

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

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

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

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

    Trophy Points:
    123
    Легко.
    Google.
     
  4. Автор темы
    QwertyMo

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

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

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

    Trophy Points:
    36
    Code:
    Bukkit.broadcastMessage("Hello");
     
  6. Автор темы
    QwertyMo

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

    Trophy Points:
    11
    Имя в Minecraft:
    QwertyMo
    Спасибо
     
  7. DonDays

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

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

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

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

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

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

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

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

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

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

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

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

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Code:
    @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 Активный участник Пользователь

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

    Dereku Старожил

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

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

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

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

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

    Dereku Старожил

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

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

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

Share This Page