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

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

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

  1. ValeraSTK

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

    Баллы:
    78
    2 предложения:

    1) дать возможность при спавне моба, указывать радиус Без локации или региона, чтобы радиус отсчитывался от игрока, который активировал активатор
    2) добавить флаг - уровень голода
     
  2. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    1. Если не путаю, то... если локацию не указать, то подставляется локация игрока. Соответственно если указать только радиус, то по идее будут спавниться вокруг игрока в пределах заданного радиуса.

    2. Сегодня полностью переписал флаги, теперь их добавлять будет очень просто, так что добавлю обязательно.
    п.2 уже добавил ;) в следующей версии будет
     
    ValeraSTK нравится это.
  3. ValeraSTK

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

    Баллы:
    78
    Нет, там баг в консоли ошибки и не спавнятся вовсе мобы. Я это и прошу добавить, чтобы был рабочий радиус от игрока.


    раз такая пьянка, можно еще попросить флаг на уровень опыта игрока? по аналогии с голодом.
     
    Stalkerdeni971 нравится это.
  4. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Странно, раньше точно спавн мобов так работал. Вечером проверю.Флаг добавлю тоже.
    @ValeraSTK,
    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

    Вроде нашёл в чем ошибка - теперь при спавне мобов без указания локации исходной точкой будет считаться координата игрока. Радиус учитывается.

    Добавлены флаги:
    FOODLEVEL — уровень голода (возвращает true если у игрока он больше или равен указанному)
    XP — уровень опыта - имеется в виду полный опыт игрока вне зависимости от уровня (возвращает true если у игрока он больше или равен указанному)
    LEVEL — уровень игрока (возвращает true если у игрока он больше или равен указанному)
     
    AleksStar и ValeraSTK нравится это.
  5. ValeraSTK

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

    Баллы:
    78
    Спасибо!

    П.С. заметил, что на девбаките нет описания действия potion, а у этого действия (возможно ) не работает атрибут level

    и еще заметил что действие dmg есть, а heal нету)
     
    fromgate нравится это.
  6. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @ValeraSTK, кстати да! я про heal тоже замечал, только всегда забывал добавить :)
    Буду добавлять после того как действия переделаю по принципу флагов: тогда их будет добавлять очень просто и быстро :)
     
  7. ValeraSTK

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

    Баллы:
    78
    оставлю еще пару важных предложений, которые уже звучали
    1) действие msg region, отправляет сообщение всем игрокам в заданном регионе
    2) активатор убийства игрока игроком (в регионе), с плейсхолдерами для убийцы и жертвы. ( да, да, я знаю что это довольно обьемная штука, но вдруг у тебя будет время?=))
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    1. Сообщения сделаю. Сейчас как раз переделываю действия.
    2. PVP-активаторы сделаю. Но есть один момент. Если игрок умирает, то значительная часть действий ему недоступна. Значит нужно отлавливать его респавн. А это в пределах одного активатора уже будет затруднительно. Значит проще будет сделать два активатора - на смерть (который будет отрабатывать в момент респавна - тут будет оправдан телепорт игрока, выдача предмета, наложение эффекта и т.д.) и на убийство (отрабатывать будет сразу)
     
  9. ValeraSTK

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

    Баллы:
    78
    предположительно в последнем релизе сломался флаг invitem.

    Кроме того, во флаге potion не работает атрибут level - все эффекты всегда навешиваются с уровнем 2
     
    zuma2 нравится это.
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @ValeraSTK, о! я при переделке флагов (они потом будут называться по другому, конвертация пройдёт автоматически) старые названия добавил в виде алиасов. А для invitem перепутал. Ниже исправленная версия:
    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

    С действием potion - непонятно. Погоняю вечером. Код на эти зелья не менялся с самого начала.
    @ValeraSTK,
    Potion исправил. По крайней мере у меня работает. Немножно подправил. Раньше level:1 соответствовало второму уровню зелья. Сейчас - первому.
    Единственное если задавать большие значения - уровень может не отображаться. К примеру сделал сейчас speed level:10 - ношусь как угорелый, а в инвентаре отображается только начальный уровень.
     
    ValeraSTK нравится это.
  11. ValeraSTK

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

    Баллы:
    78
    Спасибо за фиксы!

    Совершенно гениальная и простая идея пришла мне на ум сегодня -
    что если флагам item/invitem, добавить атрибут, сверяющий поле имени предмета? т.е. он возвратит true, только если имена совпадают.

    Например, у нас есть обычный кремень (id 318) и такой же кремень с названием "СуперКамень". С новым атрибутом, можно будет заставлять флаги реагировать только на второй тип - возможности просто бесконечные!

    можно назвать бумагу - "10$" "20$" и реально использовать ее как валюту, например.
     
  12. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    ReActions 0.3.9/2
    https://www.dropbox.com/s/nwp1tn5wsq4v86s/ReActions.jar

    Новое:
    • Значительная оптимизация кода. Это в первую очередь для меня: теперь будет проще добавлять новые активаторы, флаги и действия
    • Все флаги и действия переименованы, старые названия поддерживаются в качестве алиасов, поэтому пока новые названия приводить не будет. Все старые файлы с активаторами работать будут.
    • Новый активатор PVPKILL. Вызывается когда игрок убивает другого игрока. Выполняется по отношению к "победителю".
    • Новый активатор PVPDEATH. Вызывается когда игрока убивает другой игрок. Выполняется по отношению к "побежденному" в момент респавна. Т.е. когда он нажмет кнопку для возрождения.
    • Новый плейсхолдер %deathpoint%. Представляет собой сохранённую последнюю точку смерти игрока (только при PVP!). Позволяет вернуть игрока на место действием tp loc:%deathpoint%
    • Действие MESSAGE (которой раньше было msg) теперь поддерживает флаги: region:<название региона> world:<название мира> group:<группа> perm:<пермишен>. Это дает возможность отправлять игрокам, которые находятся в заданном регионе, мире или принадлежат определенной группе и/или имеют определенный пермишен, соответственно. Если указывается несколько параметров, допустим: region:xyz group:admin то получат все кто находится в регионе плюс все те кто находится в группе admin. Если результат выборки - пустой, допустим в регионе никого нет и нет онлайн игроков из группы admin, то сообщение никто не получит.
    • Новое действие HEAL. Параметр, соответственно, количество восстанавливаемых HP. Либо hp:<количество hp> hearts:<true/false> — если установлен плагин PlayEffect на игроке ещё отыгрываются сердечки (параметром hearts:false)

    https://www.dropbox.com/s/nwp1tn5wsq4v86s/ReActions.jar

    Небольшое дополнение:
    • Добавлено действие ITEM_DROP (itemdrop). Параметры: loc:<локация> (если пропущена - берутся координаты игрока) radius:<радиус> land:<true/false> scatter:<true/false - разрбрасывать стаки или всё спавнить в одной точке> item:<описание предметов>
     
    FedorNogopletov и ValeraSTK нравится это.
  13. FedorNogopletov

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

    Баллы:
    173
    @fromgate, а шапку и название темы, обновить можешь?
     
  14. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    v0.4.0
    • Новый активатор PVPKILL. Вызывается когда игрок убивает другого игрока. Выполняется по отношению к "победителю".
    • Новый активатор PVPDEATH. Вызывается когда игрока убивает другой игрок. Выполняется по отношению к "побежденному" в момент респавна. Т.е. когда он нажмет кнопку для возрождения.
    • Новый активатор LEVER
      Чтобы создать активатор нужно посмотреть на рычаг и написать /react add lever <название активатора>
      По умолчанию создается активатор срабатывающий при любом состоянии рычага.
      Чтобы создать рычаг срабатывающий при определенном состоянии, используем команды/react add lever <название активатора> on — активатор будет срабатывать, если после дёрганья рычага он активирует редстоун
      /react add lever <название активатора> off — активатор будет срабатывать, если после дёрганья рычага он выключает редстоун
    • Новый активатор DOOR. Этот активатор привязывается ко всякого рода дверям - деревянные двери, калитки (fence gate) и люки (trap door).
      Чтобы создать активатор нужно посмотреть на дверь и написать /react add door <название активатора>
      По умолчанию создается активатор срабатывающий при любом состоянии двери.
      Чтобы создать активатор срабатывающий при определенном состоянии, используем команды/react add door <название активатора> open — активатор будет срабатывать, если дверь будет открыта (после клика по ней)
      /react add door <название активатора> close — активатор будет срабатывать, если дверь закрывают.
    • Новый плейсхолдер %deathpoint%. Представляет собой сохранённую последнюю точку смерти игрока (только при PVP!). Позволяет вернуть игрока на место действием tp loc:%deathpoint%
    • Действие MESSAGE (которой раньше было msg) теперь поддерживает флаги: region:<название региона> world:<название мира> group:<группа> perm:<пермишен>. Это дает возможность отправлять игрокам, которые находятся в заданном регионе, мире или принадлежат определенной группе и/или имеют определенный пермишен, соответственно. Если указывается несколько параметров, допустим: region:xyz group:admin то получат все кто находится в регионе плюс все те кто находится в группе admin. Если результат выборки - пустой, допустим в регионе никого нет и нет онлайн игроков из группы admin, то сообщение никто не получит.
    • Новое действие HEAL. Параметр, соответственно, количество восстанавливаемых HP. Либо hp:<количество hp> hearts:<true/false> — если установлен плагин PlayEffect на игроке ещё отыгрываются сердечки (параметром hearts:false)
    • Добавлено действие ITEM_DROP (itemdrop). Параметры: loc:<локация> (если пропущена - берутся координаты игрока) radius:<радиус> land:<true/false> scatter:<true/false - разрбрасывать стаки или всё спавнить в одной точке> item:<описание предметов>
    • Флаг item теперь сравнивает ещё и имя название предмета. Т.е. флаг item = &6Super_sword$IRON_SWORD отработает только если железный меч назван именно так (т.е. "Super sword" "золотого цвета").
    • Добавлен флаг FOODLEVEL — уровень голода (возвращает true если у игрока он больше или равен указанному)
    • Добавлен флаг XP — уровень опыта - имеется в виду полный опыт игрока вне зависимости от уровня (возвращает true если у игрока он больше или равен указанному)
    • Добавлен флаг LEVEL — уровень игрока (возвращает true если у игрока он больше или равен указанному)
    • Добавлен флаг POWER <location> — проверяет подведена ли к данному блоку энергия или нет.
    • Значительная оптимизация кода. Это в первую очередь для меня: теперь будет проще добавлять новые активаторы, флаги и действия
    • Все флаги и действия переименованы, старые названия поддерживаются в качестве алиасов, поэтому пока новые названия приводить не будет. Все старые файлы с активаторами работать будут.

    http://dev.bukkit.org/media/files/746/912/ReActions.jar
     
    Последнее редактирование: 14 окт 2013
    ValeraSTK и FedorNogopletov нравится это.
  15. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    2013-10-15 18:23:46 [SEVERE] Could not pass event RAButtonEvent to ReActions v0.3.2
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:363)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:47)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
    at me.fromgate.reactions.EventManager.raiseButtonEvent(EventManager.java:61)
    at me.fromgate.reactions.RAListener.onPlayerInteract(RAListener.java:208)
    at sun.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:47)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
    at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:189)
    at net.minecraft.item.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:549)
    at net.minecraft.network.NetServerHandler.func_72472_a(NetServerHandler.java:875)
    at net.minecraft.network.packet.Packet15Place.func_73279_a(SourceFile:58)
    at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:442)
    at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:223)
    at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:53)
    at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(SourceFile:30)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:865)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:320)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:732)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:614)
    at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
    Caused by: java.lang.NullPointerException
    at org.bukkit.Location.getChunk(Location.java:73)
    at me.fromgate.reactions.Actions.teleportPlayer(Actions.java:545)
    at me.fromgate.reactions.Actions.performAction(Actions.java:79)
    at me.fromgate.reactions.Actions.executeActivator(Actions.java:63)
    at me.fromgate.reactions.activators.ButtonActivator.activate(ButtonActivator.java:68)
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:306)
    at me.fromgate.reactions.RAListener.onButton(RAListener.java:232)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361)
    ... 27 more

    Из версии к версии вижу это на MCPC+. Может хотя бы в try {} catch () {} обернуть?
     
  16. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну... давай так что ли. Попробуй: https://www.dropbox.com/s/nwp1tn5wsq4v86s/ReActions.jar
     
    MineMan910 нравится это.
  17. AsBesT

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

    Баллы:
    78
    Имя в Minecraft:
    Link
    fromgate, а как себя поведет новая версия плагина на версии Minecraft 1.5.2 ?
     
  18. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Адекватно. Все работает, правда ошибка выше есть...
     
  19. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    AsBesT, в 1.5.2 не работают функции связанные со здоровьем как игрока так и моба. Всё остальное работает. Ошибка, о которой говорит Sirse, на нормальном craftbukkit'е не проявляется. Это какие-то нюансы MCPC+
     
  20. ValeraSTK

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

    Баллы:
    78
    Спасибо за отличные обновления!

    Вопрос - можно ли заставить файл перевода понимать цветовые коды? В данный момент он просто красит все дефолтным зеленым.
     
    Stalkerdeni971 нравится это.

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