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

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

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

  1. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    точно.
     
  2. HardKrab

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

    Баллы:
    88
    Из-за чего действие происходит несколько раз? Причем иногда всё нормально, работает как надо, а иногда начинает по 2-4 раза выполняться. Под спойлером кусок активаторов, в которых встречается проблема - действие message выполняется по несколько раз в секунду (region-recheck-delay: 1).
    Код:
    REGION:
      region1:
        region: testrg
        flags:
        - group=Red
        actions:
        - execute=activator:region1redState2
    EXEC:
      region1redState2:
        flags:
        - var_compare=id:rg1state value:2
        actions:
        - message=Добро пожаловать в регион 1.
    
     
  3. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Я в активаторах REGION всегда добавляю DELAY (флаг и действие) - тогда все отщелкивает нормально. правда таймеры у меня 3, 15 и 60. 1 - не пробовал, не знаю, есть ли принципиальная разница
     
  4. GoldDragon17

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

    Баллы:
    66
    Ребята, на кнопку поставил команды отключения флая и гуда, как сделать так чтобы эти смс в чате не показывало?
     
  5. Soul_KRT

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

    Баллы:
    76
    Только добавив плагин Fromgate - MessageFilter
    Оно делает перехват сообщения, обрабатывает (по вашим указаниям) и выводит измененным (или вообще не выводит).
    Помогите кое что сделать....
    Как выразить такую фичу: Если в регионе есть игроки с такой группой/такими правами....
    Ну к примеру при входе в регион - запускается активатор, проверяющий - есть ли 5 человек с группой Pro. Если таковых нет, то в реактионс запускается ехес - проверяющий, есть ли 5 человек с группой Mvp и т.д.
    Вот уже 2 месяца голову ломаю: КАК ВЫРАЗИТЬ ЭТУ ФИЧУ!
     
  6. GoldDragon17

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

    Баллы:
    66
    Поподробнее можно? И мне нужно чтобы он не полностью оповещение /god и /fly убрал, а только когда нажимаю на кнопки.
     
    Последнее редактирование: 7 июн 2016
  7. HardKrab

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

    Баллы:
    88
    Действие cancel_event используй.
    Хм, не уверен, что можно сделать проверку по количеству игроков одной группы в регионе с помощью одного активатора.
    Первая мысль, пришедшая в голову, - создать переменную, которая будет считать количество игроков определенной группы в регионе.
    Надеюсь сможешь разобраться хД
    Код:
    #Игрок зашёл, запустили проверку группы с последующим инкрементом переменной
    REGION_ENTER:
      groupProEnter:
        region: testregion
        flags:
        #Проверяем игрока на группу Про
        - group=Pro
        actions:
        #Если Про, то увеличиваем переменную на 1
        - var_inc=id:groupPro value:1
        #Запускаем проверку переменной
        - execute=activator:groupPro
        reactions:
        #Если не Про, то проверка на следующую группу - Мвп
        - execute=activator:groupMvpEnter
    #Игрок вышел, запустили проверку группы с последующим дикрементом переменной
    REGION_LEAVE:
      groupProLeave:
        region: testregion
        #Проверяем игрока на группу Про
        flags:
        - group=Pro
        #Если Про, то уменьшаем переменную на 1
        actions:
        - var_dec=id:groupPro value:1
        #Если не Про, то проверка на следующую группу - Мвп
        reactions:
        - execute=activator:groupMvpLeave
    EXEC:
    #Активатор, проверяющий, набралось ли достаточное количество игроков одной группы
      groupPro:
        flags:
        #Если больше 4 игроков, то запускаем действие
        - var_greater=id:groupPro value:4
        actions:
        - Необходимое действие
    #Проверка игрока на группу Мвп
      groupMvpEnter:
        flags:
        - group=Mvp
        actions:
        - var_inc=id:groupMvp value:1
        - execute=activator:groupMvp
        reactions:
        - Тут можно запустить проверку на следующую группу, если требуется
      groupMvp:
        flags:
    #Если больше 4 игроков, то запускаем действие
        - var_greater=id:groupMvp value:4
        actions:
        - Необходимое действие
    #Тут мы снова уменьшаем переменную, если игрок из Мвп покинул регион
      groupMvpLeave:
        flags:
        - group=Mvp
        actions:
        - var_dec=id:groupMvp value:1
        reactions:
        - Тут можно запустить проверку на следующую группу, если требуется
     
  8. GoldDragon17

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

    Баллы:
    66
    Я вообще нубик, можно пример?
     
  9. HardKrab

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

    Баллы:
    88
    А вообще я тебе неправильно подсказал. Не cancel_event, а активатор MESSAGE. Пример активатора, который убирает сообщение, начинающиеся со слов "Ваш режим игры":
    Код:
    MESSAGE:
      gm:
        mask: 'Ваш режим игры'
        type: START
        source: ALL
        actions:
        - cancel_event=true
    
    Так же можно использовать и другие значения параметров type и source.
     
  10. Soul_KRT

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

    Баллы:
    76
    Спасибо, как-то и не подумал сделать не 1 "систему", а 2!
    1 считает, другая сравнивает и когда нужно запускает, после выхода из региона уменьшает переменную.
    Очень помог ! :)
     
  11. GoldDragon17

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

    Баллы:
    66
    Нифига не получось... Ввожу команду /react add message <ИмяАктиватора> source:<ТипИсточника> type:<СпособСравнения> mask:<ШаблонСообщения> вставляя свои переменные и пишет что такой команды нет! Я скачал MessageFilter и MessageCommander
     
  12. trezz

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

    Баллы:
    61
    Подскажите пожалуйста, нужно выполнить команду от игрока, но без / перед командой. Или написать в чат от имени игрока. sudo не подходит.
     
  13. HardKrab

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

    Баллы:
    88
    Для выполнения команды без / можно использовать активатор MESSAGE. Пример активатора, меняющий режим игрока на креатив, если он написал слово creative в чат:
    Код:
    MESSAGE:
      gm:
        mask: creative
        type: EQUAL
        source: CHAT_INPUT
        actions:
        - CMD_CONSOLE=gamemode %player% 1
    
    Насчет написания от имени игрока, есть СhatAvatar.
     
  14. trezz

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

    Баллы:
    61
    можно по подробнее про ChatAvatar? если можно ссылочку) Спасибо большое!
     
  15. HardKrab

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

    Баллы:
    88
    Плагин местного парня
     
  16. Soul_KRT

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

    Баллы:
    76
    Ребят, в действие ITEM_DROP есть такая строчка:

    [Приземлять]
    land:<true | false>
    Должны ли предметы появляться на поверхности земли?

    объект будет именно ПРИЗЕМЛЯТЬ (делать так, чтобы лежало на земле) или прислонять к блоку (например чтобы лежало на камне)
     
  17. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Имеется в виду, чтобы лежало на чём-то. Т.е. если у тебя блок висит в воздухе, то может случайно выложить и на это блок.
     
  18. Korvinius

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

    Баллы:
    88
    Заметил одну ошибку или особенность, хз, то есть Активаторы MOB_DAMAGE и MOB_CLICK, если указать type: player, то при срабатывании на игроке в плейсхолдеры %mobname% и %mobtype% отдают одно и то же, а именно PLAYER, то есть ник игрока получить к сожалению никак не удается :(
     
  19. snr93

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

    Баллы:
    88
    Эх, хотелось бы увидеть под версию 1.10 + PlaceholderAPI(
    Уважаемые знатоки, а ReActions не умеет работать с мирами? В хэлпе не нашел.
    Хотел сделать некоторые вещи, если игрок заходит в определенный мир, но не нашел как)
     
  20. Korvinius

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

    Баллы:
    88
    Можно использовать Активатор REGION_ENTER, там же указывается название мира...
     

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