1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Ищу плагин Уровень игрока в чате

Тема в разделе "Помощь", создана пользователем oleg57zls, 30 дек 2015.

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

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Доброго времени суток тебе, читающий эту тему o/
    Собственно возникла у меня потребность сделать уровень игрока в чате, перед ником. Сколько искал, ничего толкового не нашел. Знает кто подобный плагин?
     
  2. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Уровень. Откуда. Нам. Брать. Этот. Уровень
    Опыт? Уровень MCMMO? ****а
     
  3. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Уровень. Игрока. Обычный уровень.
     
  4. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Код:
        @EventHandler
        public void onPlayerChat(PlayerChatEvent event){
          event.getMessage().replace("%level", Integer.toString(event.getPlayer().getLevel()));
        }

    P.S Можно вшить в плагин чата (EssentialsChat/ChatManager или другие)
     
  5. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Спасибо.
    Не работает почему-то. Вшил в свой плагин, в Чатменеджере вставляю тег - он перестанет изменять чат, как будто выключен. Если убрать тег из чатменеджера, то он опять работает корректно.
    И еще эклипс показывает предупреждения. Так и должно быть?
    [​IMG]
     
  6. MrTrojan

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

    Баллы:
    98
    Имя в Minecraft:
    BlackTrojan
    Ивент PlayerChatEvent является deprecated, т.е он не будет развиваться (не будут дорабатывать его разработчики).
     
  7. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Однако, почему не работает данный метод? Может его надо как-то под каждый плагин чата адаптировать?
     
  8. deadanykey

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

    Баллы:
    96
    event.setMessage ( тут замена );

    Не?
     
  9. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Я сразу так и подумал, сделал - но заменяет только сообщения в чате. Сам же тег не работает, если в чат менеджере ставить например.
    Код:
        @EventHandler
        public void onPlayerChat(PlayerChatEvent event){
            String message = event.getMessage();
            if (plugin.getConfig().getBoolean("chat.chattag") != false) {
                message = event.getMessage().replace("%level%", Integer.toString(event.getPlayer().getLevel()));
                event.setMessage(message);
            }
        }

    Если вписывать %level% в ЧатМенеджер, то формат чата сразу ломается и показывает как дефолт, как без чатменеджера, хотя он показывается включенным. Если удалит тег из Чатменеджера, то все становится нормальным.
     
  10. deadanykey

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

    Баллы:
    96
    Покажите конфиг Манагера с вписанным тэгом
     
  11. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Ты коряво вписал в него. Я видел там часть с заменой.
     
  12. Starr

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

    Баллы:
    98
    Посмотри исходники любого плагина который хукает чатменеджер и сразу поймешь как это реализовать.
     
  13. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Код:
    enable: true
    message-format: '!clantag![%level%] %prefix%player%suffix&d: &f%message'
    global-message-format: '!clantag![%level%] %prefix%player%suffix&d: &f%message'
    ranged-mode: false
    chat-range: 100.0
     
  14. MrTrojan

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

    Баллы:
    98
    Имя в Minecraft:
    BlackTrojan
    Смотри как в ChatManager'e сделано и сделай также.
     
  15. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Код:
        @EventHandler
        public void onPlayerChat(AsyncPlayerChatEvent event) {
            if (event.isCancelled()) {
                return;
            }
    
            Player player = event.getPlayer();
    
            String worldName = player.getWorld().getName();
    
            PermissionUser user = PermissionsEx.getPermissionManager().getUser(player);
            if (user == null) {
                return;
            }
    
            String message = user.getOption(this.optionMessageFormat, worldName, messageFormat);
            boolean localChat = user.getOptionBoolean(this.optionRangedMode, worldName, rangedMode);
    
            String chatMessage = event.getMessage();
            if (chatMessage.startsWith("!") && user.has("chatmanager.chat.global", worldName)) {
                localChat = false;
                chatMessage = chatMessage.substring(1);
    
                message = user.getOption(this.optionGlobalMessageFormat, worldName, globalMessageFormat);
            }
    
            message = this.translateColorCodes(message);
    
            chatMessage = this.translateColorCodes(chatMessage, user, worldName);
    
            message = message.replace("%message", "%2$s").replace("%displayname", "%1$s");
            message = this.replacePlayerPlaceholders(player, message);
            message = this.replaceTime(message);
            message = message.replace("%level", Integer.toString(event.getPlayer().getLevel()));
    
            event.setFormat(message);
            event.setMessage(chatMessage);
    
            if (localChat) {
                double range = user.getOptionDouble(this.optionChatRange, worldName, chatRange);
    
                event.getRecipients().clear();
                event.getRecipients().addAll(this.getLocalRecipients(player, message, range));
            }
        }

    Хз, должно работать
     
  16. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Тут пекс подключать, много лишнего кода и еще задавать переменные сверху... такое не тру :c
     
  17. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Это часть кода ChatManager'a, я думал тебе в него вшить нужно.
     
  18. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Я хотел отдельным плагином.
     
  19. Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Lol, вшей
     
  20. Автор темы
    oleg57zls

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

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Именно в этом коде много лишнего, я пытался вшить убрав лишнее, но что-то как-то не особо вышло :)
     

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