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

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

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

  1. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    @fromgate
    Предложение по описанию плагина. Я могу сформировать html-страницы новых активаторов и действий и отослать вам. Или может быть вы мне сможете дать ftp доступ к страницам описания ReActions, так быстрее будет добавлять новые страницы. Если, конечно, вы не будете против.

    Спасибо.
     
  2. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Здравствуйте, @fromgate. Попросили помочь с Вашим плагином, но подзабыл детали. Как можно создать активатор из активатора так, чтобы плейсхолдер, написанный для вложенного активатора, не разворачивался как плейсхолдер для внешнего?
    Код:
        - CMD=ra add SIGN_SellReg-%arg1% r MESSAGE %var:prefix% &cAviable for only &3&n%arg3%
    Конкретно, происходит подстановка плейсхолдера для текущего активатора, чего не требуется делать в этом случае. Также хотелось бы избежать преобразования амперсанда в параграф при подобном добавлении действий, так как параграф не воспринимается для указания цвета текста.
    Код:
    SIGN:
      SIGN_SellReg-L1:
        sign-mask:
        - §4§l§nSell
        - '§lPrice: §0$12'
        - '§lOnly group:'
        - §nAuthors
        click-type: ANY
        reactions:
        - MESSAGE=§6§l* §cAviable for only §3§nAuthors
    
    Каким образом можно вписать "сырой" текст, не требующий обработки?
    Как ни крути, не могу добиться желаемого. Функционал такой вообще присутствует?
     
    Последнее редактирование: 30 апр 2017
  3. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    Ох, по-моему, именно по твоему запросу, я перелопатил работу со вложенными переменными и теперь они разворачиваются по максимуму. Единственное, когда должна переменная остаться (по идее) - это если её не существует.

    Текущую справку я делал в каком-то chm-редакторе из которого экспортировал в HTML.
    Исходников не сохранилось.
    Я бы уже развернул другой сайт, но так и не подобрал движка (хочу с поддержкой мультиязычности). Mediawiki, который мне начинают предлагать - не хочу. Он конечно хорошо показал себя, но для того чтобы его заставить нормально работать, нужны такие танцы с бубнами, что у меня сразу пропадает.
     
  4. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Может, добавить что-то вроде сырой строки, как в C++?
    Код:
    - MESSAGE=In other activator RAW_%var:MyVar%_RAW
    А строку "RAW" можно было бы изменять в конфиге, чтобы уж точно не встретилась коллизия.
     
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    С точки зрения кода там ничего не менялось скорее всего. Речь о том с применением какого API WG / WE осуществляется сборка модуля, обеспечивающего работу регионов, для старых версий.
    У вас какие версии WG / WE?
     
  6. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    WG - 5.9
    WE - 6.1.5 (вроде бы последний)

    попробую WG обновить. Спасибо.
     
  7. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Astrogen
    Ну если WG будет работать, то однозначно надо обновлять.
    Я удивлён что они совместно WG 5.x и WE 6.x заработали ;)
     
  8. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Да, все заработало, спасибо. Только регионы с правами поплыли, но это уже вопросы перехода с 5 на 6 версию. Сегодня-завтра активаторы потестирую и отпишусь. Регион и Регион-ентер - работают
     
  9. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
  10. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Последнее редактирование: 1 май 2017
  11. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Да всё просто. Если известно, что переменная не разворачивается, когда её нет, то можно её на время удалить, а затем снова создать. Как пример:
    Код:
        - VAR_TEMP_SET=id:temp_prefix value:%var:prefix%
        - VAR_CLEAR=id:prefix
        - CMD=ra add SIGN_SellReg-%arg1% r MESSAGE %var:prefix% &cAviable for only &3&n%arg3%
        - VAR_SET=id:prefix value:%var:temp_prefix%
    Я не проверял, но по логике должно работать.
    Параграф как раз и воспринимается, как цвет. Просто, ваш активатор клика по табличке ни когда не заработает, т.к. область reactions ни когда не выполниться. reactions может выполниться, если есть хоть какой-то флаг.
    Проверте этот активатор:
    Код:
    SIGN:
      SIGN_SellReg-L1:
        sign-mask:
        - §4§ltest
        click-type: ANY
        flags:
        - WORLD=world
        actions:
        - MESSAGE=§6§l* §aAviable for you
        reactions:
        - MESSAGE=§6§l* §cAviable for only §3§nAuthors
    
    Табличка с этой строчкой будет доступна только в мире world, а в других мирах будет выполняться код в области reactions
     
  12. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Хороший костыль. Это действительно выход как для постоянных, так и для временных переменных, создаваемых активатором.
    Не-а:
    upload_2017-5-1_15-17-18.png

    Код:
      AddSellRg-Help:
        override: true
        regex: true
        command: (?i)(ASR help)
        flags:
        - GROUP=Authors
        actions:
        - 'MESSAGE=%var:prefix% §aUsage: /ASR <&3RG_NAME&a> <&3PRICE&a> <&3GROUP&a>'
        reactions:
        - MESSAGE=%var:prefix% &cAviable for only &bAuthors&c.
    

    Можно, конечно, сделать то же самое: брать амперсанд из несуществующей переменной. Однако, не проще ли добавить возможность писать "сырой текст", не требующий обработки? :whistle:
    А если захочется использовать дважды действие на двух разных текстах, а результаты обработки должны тоже совместно использоваться?
     
    Последнее редактирование: 1 май 2017
  13. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Этот активатор у меня работает. Вот результат:
    [​IMG]
     
  14. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Хм, поиграюсь с кодировочкой тогда.
     
  15. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Сейчас должно работать только для одного текста в активаторе. Я изменю код, добавлю параметр "prefix" для плейсхолдера, чтобы можно было добавлять несколько действий REGEX в одном активаторе для разных текстов.
    -------------
    Код обновил, теперь будет возможность добавлять несколько действий REGEX в одном активаторе. Вот, обновлённое описание:
    https://github.com/fromgate/ReActions/pull/11
    Ждём новый билд от @fromgate .
     
    Последнее редактирование: 1 май 2017
  16. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Действительно классно видеть, что плагин до сих пор жив и, более того, проходит через новый виток развития вместе с тобой :)
     
  17. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    С этим плагином я знаком уже около года. Помню, как начинал учиться на ваших примерах, за что Огромное спасибо!
    Но мне постоянно не хватало дополнительных активаторов и действий, для этого я начал изучать JAVA и делал свои плагины. Теперь у меня цель избавиться от своих плагинов и оставить только ReActions, а затем начать избавляться от плагинов других разработчиков. В идеале должно остаться 3 плагина, это WorldGuard, WorldEdit и ReActions.
    Я вижу огромный потенциал в ReActions, поэтому и пытаюсь внести в этот плагин, как можно больше необходимых активаторов и действий.
    Представьте себе, владелецы сервера перестанут искать плагины для своей версии ядра. Им придётся, всего лишь скачать файл активаторов, который заменит полноценный плагин.
    Как пример, с помощью ReActions я полностью заменил плагин LocationTeleport. Мой файл активаторов может делать всё то, что может и плагин.
     
  18. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Идея отличная, спору нет. Но знаеш что тогда пригодилось бы??
    Правильно! Возможность сортировать тысячи активаторов по директориям!
     
  19. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
  20. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy

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