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

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

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

  1. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    @fromgate, раз уж пошла (мини-)тема насчет обновлений, то не могли бы вы добавить действие, заменяющее команду /tellraw и её возможности? Писать нечто типа
    - cmd_op=tellraw %player_name% [{"text":"&a/rg del <ID>&7 - Удалить регион.","clickEvent":{"action":"suggest_command","value":"/rg del <ID>"},"hoverEvent":{"action":"show_text","value":{"text":"","extra":[{"text":"&a/rg del myhouse&7 - Удалить регион &emyhouse&7."}]}}}]
    лишь для того, чтобы показать сообщение, надпись при наведении и вставку команды при клике - весьма неудобно.
    Также было-бы неплохо добавить плейсхолдер для активатора MESSAGE, который захватывал-бы сообщение целиком.

    Прошу прощение за беспокойство :I
     
  2. maxim0098

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

    Баллы:
    66
    Имя в Minecraft:
    Nanit
    Я тут идейку хочу предложить создателю данного плагина. Добавить возможность вывода sidebar или поддержку одноименного плагина. Думаю так будет удобно выводить значение переменных и прочих параметров при создании мини-игр и т.п. Хз может я не первый это предлагаю.:whistle:
     
  3. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Я уже не помню старый синтаксис, но сравнение нужно проводить так:
    id: value:

    То, что у Вас переменная подставляется после введения команды дважды, означает лишь то, что Вы используете переменную до её инициализации.
    Есть такое. И происходит при одновременной записи переменной из игры и закачке файла через FTP. Где-то происходит обрубка синтаксиса и ReActions во избежание чего-то просто обнуляет файл.
     
  4. ZombiE_EGIK

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

    Баллы:
    66
    Имя в Minecraft:
    ZombiE_EGIK
    Нечего было обновляться без бекапа. Золотое правило: Хочешь обновить, сделай бекап!
    Я почти на любое изменение делаю бекап (не считая совсем простых изменений которые можно и потом сделать если что то не так пошло.)
     
  5. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
     
  6. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Никто не запрещает выучить Java. Пока @fromgate не откажется от навязчивой идеи сделать язык программирования, но чтобы он таковым по определению не являлся, мы не сможем писать красивые системы. Если бы у нас был простой доступ к событиям, и расширенное управление переменными\циклами\массивами, как в skripts, то все бы с Java пересели на ReActions - однозначно :)

    И да, @fromgate, не делая ReActions более похожим на элементарные азы программирования (отказ от явных циклов, простеньких массивов, удобного разбиения "проекта" на файлы), мы не сможем реализовать все свои желания :)
     
  7. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Да меня просто пугает тот факт, что раньше все работало, а на новой версии - вот такая фигня, причем не понятно по какой причине не работает и по какому алгоритму все это проходит, чтобы знать на каком моменте что-то не так происходит. Это же не один активатор. Таких активаторов с плейсхолдером %argX% у меня большая куча и еще тележка.
     
  8. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Нужно инициализировать переменную до её использования. Создать переменную сразу как аргумент и потом проверить её существование\подставить невозможно.
     
  9. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Не понял. Аргумент же сразу при команде создается, верно? Смотри внимательно тот код, который я кидал тебе. Там VAR_SET=id:"переменная" value:%ARG3%
    И все встает, то есть %arg3% - в строках var_set/var_inc/var_dec и пр. заменяется и все окей
    Проблемы только когда %arg3% нужно представить в виде текста, в сообщении или на табличке. Пересмотри те куски кода, которые я кидал
    Я понял алгоритм. После первого же использования (упоминания) %argX% - он удаляется. То есть допустим в этой строчке:
    Код:
        - var_inc=id:donation value:%arg1%
        - var_player_inc=id:donation value:%arg1%
    
    Общая переменная "donation" увеличится, а персональная уже нет, так как %arg1% был использован и перестает существовать. Не знаю, с чем это связано, надеюсь подправят (еще попробую другие версии поставить).
    Приходится пользоваться вот таким костылём:
    Код:
        - var_player_set=id:arg1 value:%arg1%
        - var_inc=id:donation value:%varp:arg1%
        - var_player_inc=id:donation value:%varp:arg1%
    
     
  10. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Только после окончания работы активатора.
     
  11. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    По идее, да. Но у меня - сразу же. Я же вам даже пример привел
     
  12. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    В студию пример, состояние файла переменных во время операций, скрин действия активатора.
     
  13. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Здравствуйте ещё раз :о
    Опять появилась проблема - при попытке ввести команду в консоль ошибка пишется.
    Код:
      rgRent:
        override: false
        regex: true
        command: ((r|rg|region)(s|shop)) rent(\s+\S+){3,3}
        flags:
        - region_owner=world.%arg2%
        actions:
        - var_player_set=id:signId value:%arg2%
        - var_player_set=id:signTime value:%arg3%
        - var_player_set=id:signPrice value:%arg4%
        - execute=activator:rgRentExec
    Код:
    [Server thread/ERROR]: Could not pass event CommandEvent to ReActions v0.9.9/4
    org.bukkit.event.EventException
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at me.fromgate.reactions.event.EventManager.raiseCommandEvent(EventManager.java:212) [ReActions.jar:?]
       at me.fromgate.reactions.RAListener.onPlayerCommand(RAListener.java:316) [ReActions.jar:?]
       at sun.reflect.GeneratedMethodAccessor424.invoke(Unknown Source) ~[?:?]
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_147-icedtea]
       at java.lang.reflect.Method.invoke(Method.java:601) ~[?:1.7.0_147-icedtea]
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1154) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_147-icedtea]
       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [?:1.7.0_147-icedtea]
       at java.util.concurrent.FutureTask.run(FutureTask.java:166) [?:1.7.0_147-icedtea]
       at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       at java.lang.Thread.run(Thread.java:722) [?:1.7.0_147-icedtea]
    Caused by: java.lang.NoSuchMethodError: com.sk89q.worldguard.LocalPlayer.getAssociation(Lcom/sk89q/worldguard/protection/regions/ProtectedRegion;)Lcom/sk89q/worldguard/domains/Association;
       at me.fromgate.reactions.module.wgbridge.WGBridge6x.isPlayerIsOwner(WGBridge6x.java:146) ~[?:?]
       at me.fromgate.reactions.externals.RAWorldGuard.isPlayerIsOwner(RAWorldGuard.java:128) ~[?:?]
       at me.fromgate.reactions.flags.FlagRegion.checkFlag(FlagRegion.java:45) ~[?:?]
       at me.fromgate.reactions.flags.Flags.check(Flags.java:111) ~[?:?]
       at me.fromgate.reactions.flags.Flags.checkFlag(Flags.java:137) ~[?:?]
       at me.fromgate.reactions.flags.Flags.checkAllFlags(Flags.java:151) ~[?:?]
       at me.fromgate.reactions.flags.Flags.checkFlags(Flags.java:143) ~[?:?]
       at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:144) ~[?:?]
       at me.fromgate.reactions.activators.CommandActivator.activate(CommandActivator.java:97) ~[?:?]
       at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:230) ~[?:?]
       at me.fromgate.reactions.activators.Activators.activate(Activators.java:288) ~[?:?]
       at me.fromgate.reactions.RAListener.onCommandActivator(RAListener.java:416) ~[?:?]
       at sun.reflect.GeneratedMethodAccessor425.invoke(Unknown Source) ~[?:?]
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_147-icedtea]
       at java.lang.reflect.Method.invoke(Method.java:601) ~[?:1.7.0_147-icedtea]
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[craftbukkit.jar:git-Spigot-db6de12-18fbb24]
       ... 26 more
    Вся проблема в флаге - даже если не подставлять %arg2%, или убрать world. ошибка остаётся.
    Есть ли решение данной проблемы? Или какая-нибудь замена флагу?

    ReActions v0.9.9/4
    Spigot 1.8.8
     
  14. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Активатор исполняется для игрока, но не консоли.
     
  15. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Может недопоняли.
    Вписываю на сервере(от лица игрока) команду /rs rent yolo 5d 500, после чего в саму консоль пишется ошибка, а активатор не выполняется вообще(ни реакция, ни действие). Лечится удалением флага, но без этого флага "всё очень плохо".
    А может и я недопонял :с
     
  16. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Когда я пытался таким образом выполнить команду через sudo из Essentials - не пропускало. Ну и, конечно, так как я не работал с этим флагом, остаётся возможность его некорректной работы.
     
  17. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Каким-то образом можно через активатор ITEM_CONSUME пополнить единицы "голода"? Я нашел только восстановление здоровья, но это не то.
    Просто хочу добавить новую еду с: Сторонние плагины хороши, но там нет возможности хорошей кастомизации или хотя бы локализации, а хочется все на русском, ну а желательно чтобы можно было еще и управлять, потому и хочу реализовать через ReActions
     
  18. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Пока что только так:
    [​IMG]
     
  19. Soul_KRT

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

    Баллы:
    76
    Ну почему же, смотря на какой версии сервер)
    Есть такой сервер - wealth the middle agges (Корвин держит), так на нем при поедании еды дается эффект сытости) Сервер на Spigot 1.8.8
    Но при этом такое было и на 1.7.2-1.8
    Возможно есть такой эффект (сытость) на всех версиях, я просто точно в эффектах не заблуждался и не сталкивался с ними вообще)
    Вам стоит поискать!
     
  20. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    У меня как раз 1.8.8
    Но чет найти никак не могу.
    И эффект сытости и восстановление единиц голода разные темы же, не?
    Нашел. Эффект номер 23 - Насыщение. А говорили нету)
    По английски SATURATION
    Нужна еще помощь с:
    Помогите, как сделать так, чтобы блок не ставился? Мб даже не через Reactions, но не хочу отдельный топик создавать. Соль в том, что этот блок - кастомная голова, а все головы запрещать ставить - не айс. Хелп
     

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