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

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

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

  1. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, он имеет в виду узнать количество. То есть, использовать плейсхолдер, содержащий число игроков в регионе.
    А как насчёт активатора респавна? К нему тоже нужно добавить "возрождение после иной смерти"
    @fromgate, проверю ночью подверсию 16 :)
    @fromgate, есть активаторы, которые переключают состояние таймера, который запускает EXEC для меня. Переключение работает отлично, однако, после перезагрузки через /ra reload, таймер перестаёт работать. Приходится перезапускать таймер вручную: введя команду триггера дважды (если переменная на момент перезагрузки равнялась 1). Как прикажите лечить?

    Если запустить таймер навечно, а переключатель таймера заменить на проверку личной переменной у меня, которая будет свидетельствовать о том, запускать ли EXEC для меня или нет, то после перезагрузки таймер как работал, так и работает.
    Код:
    COMMAND:
      Fun-Command:
        override: true
        regex: false
        command: cmd:fun
        flags:
        - var_player_compare=id:Lyosha12-Own value:1
        actions:
        - execute=activator:Exec-Fun-Command-Trig
        - action_delayed=time:100ms action:{message %varp:Lyosha12-Fun% | 0 - Off | 1 - ON}
        reactions: []
    EXEC:
      Exec-Fun-Command-Trig:
        flags:
        - var_player_compare=id:Lyosha12-Fun value:0
        actions:
        - timer_stop=timer:Timer-Fun-Command
        - var_player_set=id:Lyosha12-Fun value:1
        reactions:
        - timer_resume=timer:Timer-Fun-Command
        - var_player_set=id:Lyosha12-Fun value:0
      Exec-Fun-Command:
        flags:
        - var_player_compare=id:Lyosha12-Own value:1
        actions:
        - SOUND=type:AMBIENCE_CAVE volume:3 pitch:1 loc:%PLAYER_LOC%
        - action_delayed=time:50ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:100ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:150ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:200ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:250ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:300ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:350ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:400ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:450ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:500ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:550ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:600ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:650ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:700ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:750ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:800ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:850ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:900ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:950ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:1000ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:0 loc:%PLAYER_LOC%}
        reactions: []
    
    Код:
      Timer-Fun-Command:
        time: 0/1 * * * * ?
        player: Lyosha12
        paused: 'true'
        activator: Exec-Fun-Command
    А вот с такими активаторами
    Код:
      Fun-Command:
        override: true
        regex: false
        command: cmd:fun
        flags:
        - var_player_compare=id:Lyosha12-Own value:1
        actions:
        - execute=activator:Exec-Fun-Command-Trig
        - action_delayed=time:1000ms action:{message %varp:lyosha12-fun% | 0 - Off | 1 - ON}
        reactions: []
    EXEC:
      Exec-Fun-Command-Trig:
        flags:
        - var_player_compare=id:Lyosha12-Fun value:0
        actions:
        - var_player_set=id:Lyosha12-Fun value:1
        reactions:
        - var_player_set=id:Lyosha12-Fun value:0
      Exec-Fun-Command:
        flags:
        - var_player_compare=id:Lyosha12-Fun value:1
        actions:
        - SOUND=type:AMBIENCE_CAVE volume:3 pitch:1 loc:%PLAYER_LOC%
        - action_delayed=time:50ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:100ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:150ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:200ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:250ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:300ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:350ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:400ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:450ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:500ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:550ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:600ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:650ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:700ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:750ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:800ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:850ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:900ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:950ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:3 loc:%PLAYER_LOC%}
        - action_delayed=time:1000ms action:{SOUND type:AMBIENCE_CAVE volume:3 pitch:0 loc:%PLAYER_LOC%}
        reactions: []
    
    И тем же таймером при перезагрузке воспроизведение звуков не прекращается.

    И ещё странная хрень: когда Exec-Fun-Command выполняется, в это время должно произойти действие action_delayed, что выведет состояние переменной. Однако, действие выводит совершенно противоположный результат.

    Могу с уверенностью сказать, что сначала действие обрабатывается, а его результат уже выводится через указанный интервал времени. Следовательно, вывести значение переменной таким способом, как я хочу, получится только через EXEC с задержкой вызова\action_delated.
     
    Последнее редактирование: 8 июл 2015
  2. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Удивительно, но моя проблема опять решилась установкой ReActions 0.9.3...
    Видимо эта версия не хочет отпускать меня.Хотя меня в принципе то в ней абсолютно все устраивает, за исключением отсутствия %CALC% разумеется.
     
  3. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Установка личной переменной из глобальной не работает:
    Код:
        - var_set=id:Admin-Mute value:1 player:%word2%
    С var_player_set всё отлично.
     
  4. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    По поводу таймеров, вроде исправил. В следующем апдейте должны будут работать как надо.

    Тут ты абсолютно прав. "вычисление" переменных и плейхолдеров происходит перед выполнением действия. Которым в этом случае является "ACTION_DELAYED".

    VAR_SET проверю.
     
  5. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, как при поиске команды с помощью регулярки игнорировать тип буквы, чтобы и прописные, и заглавные были равноправны?
     
  6. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    В начале регулярного выражения ставим "(?i)", а дальше - всё остальное как обычно
     
  7. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    И всё то, что на сайте https://regex101.com/ после "/..." в ReActions - "(?...)"?
    Вот так? Ничего из пробелов не забыл? :D
    command: (?i) (TP|TP2P|TELEPORT|TPO) \w+
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Да, вроде похоже.

    Я так понимаю, у Вас ряд переменных был создан в 0.9.3, а ряд в 0.9.4. В 0.9.4 - они приводились к нижнему регистру. В текущих версиях регистр в названии переменных уже абсолютно безразличен.

    0.9.5/17
    • Исправление инициализации таймеров после /react reload
    • Исправление VAR_SET (не работала с игроками)
    http://adf.ly/1K0nlW
     
  9. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    http://reactions.fromgate.ru/message-action.htm
    MESSAGE world:World.Neather Это сообщение увидят все в мире Neather
    Код:
      Parkour-AntiTP-Command-TP|TP2P|TELEPORT|TPO-PLAYER:
        override: false
        regex: true
        command: (?i) (TP|TP2P|TELEPORT|TPO) \w+
        flags:
        - FLAG_SET=PERM:essentials.tp PERM:essentials.tpo
        actions:
        - var_set=id:Parkour-TP-Donater value:%player%
        - execute=activator:Exec-Parkour-AntiTP-Test-To_TP_Player player:%arg2%
        - message=+
        reactions:
        - message=-
    
    Вообще не работает. Убираю "(?i)" и пишу с заглавной буквы - работает. Может сделать отдельный параметр для флагов в регулярках?
     
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    У меня вообще команды с заглавной буквы не работают. Причем любые, не только "потроганные" ReActions

    А пока вот такие изменения:
    0.9.5/18
    - Активатор PVP_RESPAWN переименован в PLAYER_RESPAWN
    Параметр - тип смерти (такой же как в PLAYER_DEATH)
    В файле активаторов это: cause: <PVP|PVE|OTHER|ANY>
    Плейсхолдеры:
    %cause%, %killer-type%, %killer-name%
    - Плейсхолдер %cause% добавлен в PLAYER_DEATH

    http://adf.ly/1K0nlW
     
  11. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Отлично, спасибо!
    Почему тогда у меня это вызывает проблему? :confused:
     
  12. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Черт ёго знает. Я сегодня утром переделал несколько своих команд, поставили им префикс (?i) - все работали.
    Но при этом, если пишу команду большими буквами - отлуп. Причем именно от баккита (или от кого-то ещё), но не от ReActions.
     
  13. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Но ведь в конструкции cmd:* arg1:* регистр не учитывается... Нельзя ли это сделать по-умолчанию и для регулярок?
     
  14. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Товарищи, наверняка где-то было, но в треде не нашел - где взять правильные ID ITEM'ов? хочется уже начать оперировать ими, а не номерами, ибо номера, похоже уходят на свалку истории. И еще вопрос: в конфиге сервера при переходе на последнюю версию 0.9.4 - можно просто поменять все, что связано с ITEMами, или TP и LOC теперь тоже работают по-иному?
     
  15. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    %PLAYER_ITEM_HAND%
    В конфиге больших изменений нет. Можешь удалить старый и перенастроить новый. Это минуты две.
    @fromgate, поставил подверсию 17. Флаг (?i) не работает. С ним команда вообще не работает в любом регистре.
    Не работает, что работало на таймере:
    Код:
    PLAYER_RESPAWN:
      Dropper-Respawn:
        cause: OTHER
        flags:
        - '!var_player_compare=id:Dropper-LVL value:-1'
        - var_player_compare=id:Dropper-Game_Type value:LIMITED
        - '!REGION=world_the_end.dropper'
        - var_player_EXIST=id:Dropper-LVL
        actions:
        - Message=&6[&3Dropper&6] &7Вы прошли &e%CALC:%varp:Dropper-LVL%+1-1% &7из &c50 &7уровней.
        - Message=&6[&3Dropper&6] &7Приз выдаётся после прохождения всех уровней.
        - var_set=id:Dropper-Top-LIMITED-RIVAL-Name value:%player%
        - var_set=id:Dropper-Top-LIMITED-RIVAL-Score value:%CALC:%varp:Dropper-LVL%+1-1%
        - execute=activator:Dropper-Check-Achiv-LIMITED player:%player%
        - var_player_set=id:Dropper-LVL value:-1
        - var_player_set=id:Dropper-Game_Type value:0
        - action_delayed=time:500ms action:{TP loc:world_the_end,1077.554,249.0,1009.498,-270.718,2.249}
       reactions: []
    

    Ссылка на 17 версию.
    Не помешал бы флаг проверки наличия у игрока эффекта.
     
  16. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Для последнего спигота - смотреть тут: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
    Если версия более старая, то там может быть что-то чего нет.
    Ну или как посоветовал @Lyosha12 - сделай простенький активатор на вывод плейсхолдера %PLAYER_ITEM_HAND%

    TP и LOC остались прежними. С предметами - их надо переписать. На мой взгляд новый формат более логичный и более понятный.

    @Lyosha12 версию обновил. Ссылка та же.
    Про "(?i)" ещё раз перепроверю. Но это ж.. регулярка, её не я придумал ;)
    Можешь написать маску в активаторе и как набираешь саму команду? Буду пробовать.

    - '!REGION=world_the_end.dropper' -- это где? Где возрождается или где умирает?
     
  17. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Место смерти. Если игрок не находится на ивенте, но у него есть очки, значения которых существуют только на ивенте, то выполнять действия.
    command: (?i) (TP|TP2P|TELEPORT|TPO) \w+
    /TP Lyosha12
     
  18. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Большое спасибо :) Как раз решил обновиться до spigot 1.8.7
     
  19. Daniel576

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

    Баллы:
    88
    @fromgate ReActoins можно использовать в связке с CustomNPC? Хотелось бы.
     
  20. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, v/18 - Ноль реакции.
    Код:
    PLAYER_RESPAWN:
      Dropper-Death-LIMITED:
        cause: OTHER
        flags: []
        actions: 
        - message=+
        reactions: []
    

    Конкретнее?
     

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