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

Плагин [CHAT] MessageFilter - фильтруем базар, рынок и вокзал! [BukkitDev]

Тема в разделе "Неподтвержденные плагины", создана пользователем fromgate, 29 июн 2014.

  1. Timings

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

    Баллы:
    88
    Имя в Minecraft:
    NextGeneric
    Шедеврально, серьезно, аналогов Нигде не встречал.
     
  2. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Я понял. По идее название окон инвентарей тоже получится. Так что будет чем заняться на досуге :)
    Переношу сообщение из темы о разработке плагинов за плату, дабы не раздувать там флуд:

    Ну собственно MessageFilter может быть в какой-то мере для этого использоваться.
    Единственное, тут сейчас отправка сообщений распространяется на всех, но в в следующей версии я добавлю поддержку пермишенов — тогда управляя группами можно выбирать для игрока что ему видеть, а что нет.
     
  3. SHALK97

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

    Баллы:
    103
    Имя в Minecraft:
    SHALK97
    Я помню когда-то давно просил сделать такой плагин...
     
  4. Ablovka

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

    Баллы:
    68
    Имя в Minecraft:
    Ablovka
    Буквально пару дней искал похожий плагин и случайно нашел сейчас. Днем обязательно проверю :)

    Нельзя ли еще добавить функцию замены команды? К примеру, все, что начинается на "/" будет игнорироваться сервером и нечего не отвечать.

    Конечно можно сделать черз ReActions, но не хотелось бы нагружать сервер :confused:
     
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Ablovka
    Перехват команд - это не из области MessageFilter. Тут несколько иное назначение. Тут перехват пакетов с сообщениями.

    Ничего сложного в отмене события нет. Это можно сделать при помощи ReActions, MonsterFix и наверняка можно найти ещё кучу плагинов. В конце-концов, можно просто взять и настроить пермишены )
     
  6. Ablovka

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

    Баллы:
    68
    Имя в Minecraft:
    Ablovka
    Спасибо за совет, попробую MonsterFix.
    А пермишены все настроены, команды выполняются через GUI меню (консолью), вот поэтому и хочу убрать команды в чате.
     
  7. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Как всегда замечательно! А что насчёт $1,2,n?
    Если не понятно о чём я:
    ^([^/])&
    $1
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @makssof
    Если Вы имеете в виду регулярные приложения - то они поддерживаются.
     
  9. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    А, посетил это место, и понял: то, о чём я пытался написать - есть.
    Я о %wordN% но только в регулярных выражениях.

    P.S. Я уверен - я опять непонятно объяснил. :)
     
  10. agentik007

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

    Баллы:
    153
    Имя в Minecraft:
    agentik007
    Имеется строка ' customnpcs-customnpc получил X урон(а) от вас.'
    Сделал так:
    Код:
    npc1:
      type: REGEX
      message-mask: 'customnpcs-customnpc получил \d+ урон(а) от вас.'
      replace-to: 'NPC получил %word3% урон(а) от вас.'
      cooldown-time: ''
    Все равно ничего не работает
     
  11. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @agentik007
    Есть сразу вопрос по кодировкам ;)
    Какая кодировка для файлов?
    В какой кодировке конфиг плагина?
    Ну и попробуйте, что-то вроде: message-mask: 'customnpcs.*' — просто для проверки
    @makssof
    Я так понимаю, имеется в виду замена на подстроки попадающей под регулярное выражение?
     
  12. agentik007

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

    Баллы:
    153
    Имя в Minecraft:
    agentik007
    Кодировки в utf-8.

    Код:
    npc1:
      type: REGEX
      message-mask: 'customnpcs.*'
      replace-to: 'NPC получил %world3% урон(а) от вас.'
      cooldown-time: ''
    Вывод:
    NPC получил %world3% урон(а) от вас.
     
  13. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @agentik007

    Ну раз с этой маской отрабатывает - то плагин работает как надо. Тогда смотрите текст маски для определения искомого сообщения - т.е. "customnpcs-customnpc получил \d+ урон(а) от вас."
    Может где-то буква вместо русской - английская. Может точки на конце нет (там кстати Вы не на точку ссылаетесь, а на любой символ.
     
  14. agentik007

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

    Баллы:
    153
    Имя в Minecraft:
    agentik007
    Все перепроверил, даже просто брал и копировал строку из одного места в другое, толку нуль
    Вот так работает
    message-mask: 'customnpcs-customnpc получил \d+.*'
    Но выводит : 'NPC получил %world3% урон(а) от вас.'
    Стоит добавить "урон(а)" сообщения сбрасываются на деофлтные
     
  15. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    В точку!
    Попробуй экранируй\(\)
     
  16. agentik007

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

    Баллы:
    153
    Имя в Minecraft:
    agentik007
    не помогает
     
  17. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Попробуй в маске: "customnpcs-customnpc получил ([0-9]+)\."
    а в реплейсе: "NPC получил %word3% урон(а) от вас."
     
  18. agentik007

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

    Баллы:
    153
    Имя в Minecraft:
    agentik007
    Все работает
     
  19. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Он и не будет работать. world и word - разные слова
     
  20. agentik007

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

    Баллы:
    153
    Имя в Minecraft:
    agentik007
    Да да, все разобрался. Спасибо
     

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