Войти или зарегистрироваться

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

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

Спасибо.
 
Здравствуйте, @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
Каким образом можно вписать "сырой" текст, не требующий обработки?
Как ни крути, не могу добиться желаемого. Функционал такой вообще присутствует?
 
Последнее редактирование:
@Lyosha12
Каким образом можно экранировать?

Ох, по-моему, именно по твоему запросу, я перелопатил работу со вложенными переменными и теперь они разворачиваются по максимуму. Единственное, когда должна переменная остаться (по идее) - это если её не существует.
@fromgate
Предложение по описанию плагина. Я могу сформировать html-страницы новых активаторов и действий и отослать вам. Или может быть вы мне сможете дать ftp доступ к страницам описания ReActions, так быстрее будет добавлять новые страницы. Если, конечно, вы не будете против.

Спасибо.


Текущую справку я делал в каком-то chm-редакторе из которого экспортировал в HTML.
Исходников не сохранилось.
Я бы уже развернул другой сайт, но так и не подобрал движка (хочу с поддержкой мультиязычности). Mediawiki, который мне начинают предлагать - не хочу. Он конечно хорошо показал себя, но для того чтобы его заставить нормально работать, нужны такие танцы с бубнами, что у меня сразу пропадает.
 
Единственное, когда должна переменная остаться (по идее) - это если её не существует.
Может, добавить что-то вроде сырой строки, как в C++?
Код:
- MESSAGE=In other activator RAW_%var:MyVar%_RAW
А строку "RAW" можно было бы изменять в конфиге, чтобы уж точно не встретилась коллизия.
 
У меня версия, в которой файлы в jar'e имеют дату 26 и 27 июля 2015 года - работает безупречно (0.9.9 вроде как)

С точки зрения кода там ничего не менялось скорее всего. Речь о том с применением какого API WG / WE осуществляется сборка модуля, обеспечивающего работу регионов, для старых версий.
У вас какие версии WG / WE?
 
@Astrogen
Ну если WG будет работать, то однозначно надо обновлять.
Я удивлён что они совместно WG 5.x и WE 6.x заработали ;)
 
Ну если WG будет работать, то однозначно надо обновлять.
Я удивлён что они совместно WG 5.x и WE 6.x заработали ;)
Да, все заработало, спасибо. Только регионы с правами поплыли, но это уже вопросы перехода с 5 на 6 версию. Сегодня-завтра активаторы потестирую и отпишусь. Регион и Регион-ентер - работают
 
Как можно создать активатор из активатора так, чтобы плейсхолдер, написанный для вложенного активатора, не разворачивался как плейсхолдер для внешнего?
Да всё просто. Если известно, что переменная не разворачивается, когда её нет, то можно её на время удалить, а затем снова создать. Как пример:
Код:
    - 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%
Я не проверял, но по логике должно работать.
Также хотелось бы избежать преобразования амперсанда в параграф при подобном добавлении действий, так как параграф не воспринимается для указания цвета текста.
Код:
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
Параграф как раз и воспринимается, как цвет. Просто, ваш активатор клика по табличке ни когда не заработает, т.к. область 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
 
Я не проверял, но по логике должно работать.
Хороший костыль. Это действительно выход как для постоянных, так и для временных переменных, создаваемых активатором.
Параграф как раз и воспринимается, как цвет.
Не-а:
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:
Я добавил новое действие: REGEX
А если захочется использовать дважды действие на двух разных текстах, а результаты обработки должны тоже совместно использоваться?
 
Последнее редактирование:
Не-а:
Посмотреть вложение 46094

Код:
  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.
Этот активатор у меня работает. Вот результат:
rea_test.png
 
А если захочется использовать дважды действие на двух разных текстах, а результаты обработки должны тоже совместно использоваться?
Сейчас должно работать только для одного текста в активаторе. Я изменю код, добавлю параметр "prefix" для плейсхолдера, чтобы можно было добавлять несколько действий REGEX в одном активаторе для разных текстов.
-------------
Код обновил, теперь будет возможность добавлять несколько действий REGEX в одном активаторе. Вот, обновлённое описание:
https://github.com/fromgate/ReActions/pull/11
Ждём новый билд от @fromgate .
 
Последнее редактирование:
Код обновил, теперь будет возможность добавлять несколько действий REGEX в одном активаторе. Вот, обновлённое описание:
Действительно классно видеть, что плагин до сих пор жив и, более того, проходит через новый виток развития вместе с тобой :)
 
Действительно классно видеть, что плагин до сих пор жив и, более того, проходит через новый виток развития вместе с тобой :)
С этим плагином я знаком уже около года. Помню, как начинал учиться на ваших примерах, за что Огромное спасибо!
Но мне постоянно не хватало дополнительных активаторов и действий, для этого я начал изучать JAVA и делал свои плагины. Теперь у меня цель избавиться от своих плагинов и оставить только ReActions, а затем начать избавляться от плагинов других разработчиков. В идеале должно остаться 3 плагина, это WorldGuard, WorldEdit и ReActions.
Я вижу огромный потенциал в ReActions, поэтому и пытаюсь внести в этот плагин, как можно больше необходимых активаторов и действий.
Представьте себе, владелецы сервера перестанут искать плагины для своей версии ядра. Им придётся, всего лишь скачать файл активаторов, который заменит полноценный плагин.
Как пример, с помощью ReActions я полностью заменил плагин LocationTeleport. Мой файл активаторов может делать всё то, что может и плагин.
 
С этим плагином я знаком уже около года. Помню, как начинал учиться на ваших примерах, за что Огромное спасибо!
Но мне постоянно не хватало дополнительных активаторов и действий, для этого я начал изучать JAVA и делал свои плагины. Теперь у меня цель избавиться от своих плагинов и оставить только ReActions, а затем начать избавляться от плагинов других разработчиков. В идеале должно остаться 3 плагина, это WorldGuard, WorldEdit и ReActions.
Я вижу огромный потенциал в ReActions, поэтому и пытаюсь внести в этот плагин, как можно больше необходимых активаторов и действий.
Представьте себе, владелецы сервера перестанут искать плагины для своей версии ядра. Им придётся, всего лишь скачать файл активаторов, который заменит полноценный плагин.
Как пример, с помощью ReActions я полностью заменил плагин LocationTeleport. Мой файл активаторов может делать всё то, что может и плагин.
Идея отличная, спору нет. Но знаеш что тогда пригодилось бы??
Правильно! Возможность сортировать тысячи активаторов по директориям!
 
Назад
Верх