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

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

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Jeff_Michael по моему я знаю в чём причина. Постараюсь исправить.
     
  2. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    Был бы очень признателен Вам.

    Я бы сделал так:
    Код:
    COMMAND:
      give_perm:
        override: true
        regex: false
        command: give
        flags:
        - PERM=give.delay
        actions:
        - CANCEL_EVENT=true
        - EXECUTE=activator:give_delay
    EXEC:
      give_delay:
        flags:
        - DELAY_PLAYER=id:give_delay
        actions:
        - CMD=give %arg1% %arg2% %arg3% %arg4% %arg5% %arg6% %arg7% %arg8% %arg9% %arg10%
        - DELAY_PLAYER=id:give_delay time:5m
        reactions:
        - CANCEL_EVENT=true
        - 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
    Выдаёте все права для ввода команды /give и пользователь может вводить команду сколько угодно, выдаёшь к этому набору ещё и пермы give.delay и тогда пользователь сможет вводить команду лишь через каждые 5 минут.

    Если надо именно группе присвоить данную функцию, то меняете флаг PERM=give.delay на флаг GROUP=НазваниеГруппы
     
    Последнее редактирование: 20 июл 2017
  3. boomcss1

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

    Баллы:
    76
    Имя в Minecraft:
    Pup
    Ой, спасибо тебе огромное! Сейчас чекним..
     
  4. boomcss1

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

    Баллы:
    76
    Имя в Minecraft:
    Pup
    Хм... При вводе команды /give Angelock 264 64 или /give 264 64 в ответ - "Неизвестное название предмета %arg2%
     
  5. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Нашел проблему, кажется (но не решил). В логе сервера пишет
    Код:
    [21:43:58 ERROR]: Could not pass event MobKillEvent to ReActions v0.10.1
    Код:
    [21:43:58 ERROR]: Could not pass event MobKillEvent to ReActions v0.10.1
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at me.fromgate.reactions.event.EventManager.raiseMobKillEvent(EventManager.java:112) [ReActions.jar:?]
            at me.fromgate.reactions.RAListener.onDropLoot(RAListener.java:238) [ReActions.jar:?]
            at sun.reflect.GeneratedMethodAccessor349.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.aufdemrand.sentry.SentryInstance.die(SentryInstance.java:556) [Sentry.jar:?]
            at net.aufdemrand.sentry.SentryInstance.onDamage(SentryInstance.java:1232) [Sentry.jar:?]
            at net.aufdemrand.sentry.SentryListener.onDamage(SentryListener.java:270) [Sentry.jar:?]
            at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEvent(CraftEventFactory.java:86) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:536) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:449) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:568) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.EntityLiving.d(EntityLiving.java:1092) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.EntityHuman.d(EntityHuman.java:853) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.java:733) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.EntityHuman.damageEntity(EntityHuman.java:794) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.EntityPlayer.damageEntity(EntityPlayer.java:481) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.citizensnpcs.npc.entity.EntityHumanNPC.damageEntity(EntityHumanNPC.java:106) [Citizens.jar:?]
            at net.minecraft.server.v1_8_R3.EntityHuman.attack(EntityHuman.java:995) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.EntityPlayer.attack(EntityPlayer.java:1048) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1289) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.PacketPlayInUseEntity.a(SourceFile:52) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.PacketPlayInUseEntity.a(SourceFile:11) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_60]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_60]
            at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:673) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:629) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit188.jar:git-Bukkit-efe04b8]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_60]
    Caused by: java.lang.NullPointerException
            at me.fromgate.reactions.actions.ActionItems.dropItems(ActionItems.java:324) ~[?:?]
            at me.fromgate.reactions.actions.ActionItems.execute(ActionItems.java:65) ~[?:?]
            at me.fromgate.reactions.actions.Action.executeAction(Action.java:66) ~[?:?]
            at me.fromgate.reactions.actions.Actions.performAction(Actions.java:185) ~[?:?]
            at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:176) ~[?:?]
            at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:154) ~[?:?]
            at me.fromgate.reactions.activators.MobKillActivator.activate(MobKillActivator.java:75) ~[?:?]
            at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:231) ~[?:?]
            at me.fromgate.reactions.activators.Activators.activate(Activators.java:330) ~[?:?]
            at me.fromgate.reactions.RAListener.onMobKillActivator(RAListener.java:509) ~[?:?]
            at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit188.jar:git-Bukkit-efe04b8]
            ... 46 more
     
  6. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    попробуй так:
    Код:
    COMMAND:
      give_perm:
        override: true
        regex: false
        command: cmd:give arg1:* arg2:* arg3:*
        flags:
        - PERM=give.delay
        actions:
        - CANCEL_EVENT=true
        - EXECUTE=activator:give_delay
    EXEC:
      give_delay:
        flags:
        - DELAY_PLAYER=id:give_delay
        actions:
        - CMD=give %arg1% %arg2% %arg3%
        - DELAY_PLAYER=id:give_delay time:5m
        reactions:
        - CANCEL_EVENT=true
        - 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
     
  7. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Попробуйте последний билд, вроде починил.
    https://circleci.com/gh/Redolith/ReActions/125
     
  8. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Возникла проблема с WAIT. В активаторе вся её суть:
    Код:
    MESSAGE:
      TT:
        mask: T T
        type: START
        source: CHAT_INPUT
        actions:
        - MESSAGE=%word3%
        - WAIT=2s
        - MESSAGE=%word3%
    При написании в чат "T T 3" выводит:
    3
    %word3%
     
  9. TricolorTV

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

    Баллы:
    61
    Есть задумка - сделать миниигру, в которой будет 2 команды, и у одной команды (команда №2) будет король. Вообщем, суть вопроса - каждому игроку (кроме короля) даётся 3 жизни, и нужно сделать так, чтобы после трёх смертей игрока кикало (простите, если неправильно написал). А также чтобы всю команду №2 убивало, если король умирал. Так вот, как это всё организовать с помощью плагина ReActions?

    Помогите пожалуйста.
     

    Вложения:

    • IMG_0628.jpg
      IMG_0628.jpg
      Размер файла:
      79 КБ
      Просмотров:
      7
    • IMG_0635.jpg
      IMG_0635.jpg
      Размер файла:
      37,5 КБ
      Просмотров:
      5
    • IMG_0636.jpg
      IMG_0636.jpg
      Размер файла:
      63,2 КБ
      Просмотров:
      5
    • IMG_0637.jpg
      IMG_0637.jpg
      Размер файла:
      39,4 КБ
      Просмотров:
      6
    • IMG_0639.jpg
      IMG_0639.jpg
      Размер файла:
      103,2 КБ
      Просмотров:
      5
  10. boomcss1

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

    Баллы:
    76
    Имя в Minecraft:
    Pup
    Не помогает.... Теперь команда /give Angelock 264 бесконечно, а команда /give Angelock 264 64 вылазиет тоже сообщение что и выше описанное.
     
  11. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Писать код я тебе не буду, долго по времени, но если разбираешься в ReActions, то я думаю проблем не составит
    Делай все через переменные - в начале игры дается 3 жизни, при смерти игрока переменная, допустим game_health, будет уменьшаться на 1. Также при смерти сделай флаг VAR_PLAYER_GREATER - сравнивай с числом 0.
    +Если будет больше 0, то actions: var_player_dec id:game_health value:0, и tp к месту событий (только тут загвоздка, тп вроде бы не работает, пока игрок мертв, с этим не знаю че сделать, пока ниче не надумал).
    -Если будет равно 0, то reactions - cmd kick %player%, плюс незабывай перед киком тпшнуть игрока куда-нибудь на выход, чтобы он на арене или где там у тебя не оставался. И немаловажно стереть все переменные.
     
  12. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    А вообще - для миниигр мне кажется проще скачать отдельный плагин)
     
  13. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Очень давно заметил, что в реакшнс есть проблема с плейсхолдерами. Я изобрел "костыль", но костыль есть костыль - сколько версий не ставил, время от времени проблема проскальзывает и приходится дописывать код. Как я решил - юзать переменные.
    Код:
    MESSAGE:
      TT:
       mask: T T
       type: START
       source: CHAT_INPUT
       actions:
       - VAR_PLAYER_SET=id:ph_word3 value:{%word3%}
       - MESSAGE=%varp:ph_word3%
       - WAIT=2s
       - MESSAGE=%varp:ph_word3%
    
     
  14. TricolorTV

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

    Баллы:
    61
    Спасибо больше, а как насчёт короля?
     
  15. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    Спасибо! Проблема устранена.
    Странно, но у меня всё работает. Использую REA v.0.10.1 и spigot 1.12-R0.1-snapshot (последний билд)
     
  16. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    Записываешь в переменную ники каждого игрока, состоящего в команде короля и при смерти короля убиваешь игроков, ники которых берутся из переменной.
     
  17. TricolorTV

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

    Баллы:
    61
    Это глупо - перед началом каждой игры вписывать ники раждого игрока команды №2
     
  18. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    Не надо тут набивать сообщения, тем более необоснованно обвинять способ глупым. У вас есть более подходящее предложение - пишите, нет - значит не стоит вообще писать что то подобное и показывать отсутствие своей моральной этики.
    Как Вы предлагаете разбить игроков по командам, не прибегая к помощи переменных? Что может нарушить две переменных в работе сервера? Я храню в переменных максимальный урон каждого игрока и это ни чуть не сказывается на работе сервера, а вы боитесь записать ники игроков при старте игры, а затем удалить их по окончанию той же игры.

    Почему же глупо, у вас есть более разумное решение?
     
    Последнее редактирование: 24 июл 2017
  19. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Build #126:
    • Добавлен активатор DAMAGE. Активатор срабатывает при уроне игрока любым способом.
    • Добавлен активатор DAMAGE_BY_BLOCK. Активатор срабатывает , когда игрок получает урон от блока (например, блок Магмы).
    • Добавлен активатор DAMAGE_BY_MOB. Активатор срабатывает, когда игрок получает урон от любой сущности. Этот активатор может отловить падающие сущности, которые наносят нулевой урон (падающие блоки песка, яйца, снежки и т.п.)
    Хотел сделать один активатор урона, но это слишком громоздко получилось бы. Поэтому разбил на три активатора.
     
    Последнее редактирование: 24 июл 2017
  20. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    А у меня так и не работает MOB_KILL :C Ни в какую. Только если mob-type PLAYER, на всех остальных активаторы просто не запускаются
     

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