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

Плагин [MECH/FUN] ReActions - Что? Тогда? Иначе! [BukkitDev]

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 16 июл 2013.

  1. Dumzdeil

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

    Баллы:
    31
    Аргументы после команды /o в плейсхолдере %args0%, а я говорю про саму команду %arg0% которая сравнивается с "o".
    А насчет пустого сообщения - сравнивайте первый аргумент в том же активаторе с пустотой на НЕсоответствие. Например:
    Код:
    COMPARE = param:%arg0% value1:o
    !COMPARE = param:%arg1% value1:" "
    В вашем случае было так:
    Compare= param:%args% value1:{%arg1%}
    Идет сравнение: например,
    /o все тп раздача
    "все тп раздача" сравнивалось с "все". У вас, получается, команда должна была запрещать сообщения /o длиной больше одного слова. Бред какой то.
     
    Последнее редактирование: 5 мар 2018
  2. SOHIGH

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

    Баллы:
    76
    %vault_prefix%
    (/papi ecloud download vault)
     
  3. _MCMaster_

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

    Баллы:
    76
    Имя в Minecraft:
    DragOn4ik
    Vault у меня есть.
    А это с какой версии работает?
    На 1.5.2 будет работать?
     
  4. _MCMaster_

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

    Баллы:
    76
    Имя в Minecraft:
    DragOn4ik
    Без использования PlaceholdersAPI это возможно?
     
  5. Korvinius

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

    Баллы:
    88
    /papi ecloud download vault - это команда именно PlaceholdersAPI :confused:
     
  6. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Именной такой бред выйдет, если сравнивать аргументы после команды со всеми аргументами - %args%.
    В моём случае сравнивается с первым аргументом, чтобы можно было отправить сообщение с 1 и более раздельными словами.
     
  7. SOHIGH

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

    Баллы:
    76
    Очень вряд ли.
    А, так ты еще и с 1.5.2, тогда однозначно нет. PlaceholdersApi от 1.8
     
  8. DyX

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

    Баллы:
    76
    Имя в Minecraft:
    GoODsPie
    А по поводу 1-го, есть действия actions, а есть reactions (работают и по отдельности, и вместе), там, после проверки, просто разные действия пишешь
     
  9. SOHIGH

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

    Баллы:
    76
    Ребят, прошу ответа:
    Возможно ли с помощью ReActions выполнять команды плагина WorldEdit?
    Те, что с двойным слэшем.
    Пока что вижу единственный способ реализовать это:
    Использовать команду sudo плагина Essentials:
    CMD_CONSOLE=sudo %player% /set 4
    Работает, да, но это же костыль
     
  10. Dumzdeil

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

    Баллы:
    31
    Теперь я понял, что вы хотели сделать. Мой способ тоже рабочий, проверил. Насчет вашего - просто поставьте НЕ перед флагом, и тогда должно заработать. Сам сразу не додумался до этого) А флаг сравнивающий команду должен предотвращать выполнение других:
    Код:
    COMPARE = param:%arg0% value1:o
    !COMPARE = param:%args% value1:%arg1%
    В этом случае будет идти сравнение на Не соответствие всех аргументов - первому. Что могло работать и с вашим флагом, если поменять местами действие и реакцию. Но тогда осталась бы проблема с побочными командами.
     
  11. Dumzdeil

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

    Баллы:
    31
    @fromgate почему всё ещё нет флага GODMODE?
     
  12. SOHIGH

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

    Баллы:
    76
    Код:
    flags:
      - STATE=GOD
     
  13. _MCMaster_

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

    Баллы:
    76
    Имя в Minecraft:
    DragOn4ik
    Это я знаю, мне вот бы узнать, как эту проверку сделать... Хотел REGEX использовать, но не получилось.
     
  14. _MCMaster_

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

    Баллы:
    76
    Имя в Minecraft:
    DragOn4ik
    @fromgate пожалуйста, сделай поддержку плейсхолдера на префикс в 1.5.2. Очень надо. Могу и заплатить.
     
  15. Dumzdeil

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

    Баллы:
    31
    Нашел идеальный и простой способ:
    Код:
    flags :
      - !COMPARE=param:%argscount% value1:0
    Действия будут выполняться если количество аргументов в команде больше 0, реакции если 0
     
  16. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Вот это другое дело, но да, проблема с побочными командами остаётся.

    UPD: Случайно обнаружил, что знак "*" определяет аргументы команды и не даёт побочным командам активировать данную. Таким образом, получилось добиться нужного результата без флагов с помощью двух активаторов:
    Код:
    COMMAND:
      GeneralChat:
        override: false
        regex: true
        command: o .*
        actions:
        - MESSAGE=player:all &7> %vault_rankprefix% %player%:&f %args%
      GeneralChat2:
        override: false
        regex: true
        command: o*
        actions:
        - MESSAGE=&6Общий чат:&f /o (текст)
    
    Принцип работы:
    Команду /o обрабатывает 2 активатора сразу.
    - Первый выдаёт действие, если после /o что-то введено.
    - Второй выдаёт действие, если просто введена команда /o, без аргументов.
    - При вводе других команд с буквой "о" активаторы не срабатывают, всё как надо.
     
    Последнее редактирование: 9 мар 2018
  17. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Второй по идее будет работать и по повторяющимся "o", т.е. "oooooooo" и т.п.
     
  18. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Вроде нормально работает.
    Только вот команды почему-то раз через раз регистрируются. То есть, после перезагрузки сервера прописываю команды созданные в ReActions, они выполняются, но пишет "команда недоступна", то бишь команды нет такой. Но через время команды регистрируются в хаотичном порядке и этот текст перестаёт вылезать.
    Можно как-то регистрировать все команды из ReActions при входе на сервер?
     
  19. _MCMaster_

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

    Баллы:
    76
    Имя в Minecraft:
    DragOn4ik
    @fromgate, можешь написать плагин для моего сервера? Подробности в личку.
     
  20. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Если используется регулярка, то при старте плагин не знает о какой команде идёт речь.
    Как я сказал, команда описанная как o* может быть и командой o и командой oo и т.д.
    В этом случае плагин оперирует на событие.
    Потом (я вот тут уже не помню, но кажется я это хотел реализовать - надо проверить ;)) при выполнении команды он пытается её зарегистрировать. Т.е. написал первый раз o он пожаловался: команда неизвестная и зарегистрировал её. И т.д.

    Чтобы он зарегистрировал её сразу, можно сделать пустой активатор на команду o (без регулярного выражения). Она зарегистрируется при старте. А остальным вариантам уже регистрация не потребуется.
     

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