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

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

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Планирую. Но быстро не получится.

    А что это за чудо такое /powertool ???
     
  2. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Чудо это дарит Essentials. Эта команда привязывает команду к инструменту, что находится в руке. И при ЛКМ команда исполняется. Так вот, чтобы не создавать так нелюбимые Вами "личные активаторы", Essentials предоставляет это "бесплатно", записывая каждую привязанную команду в свою БД игроков.
     
  3. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12

    Можно попросить попробовать эту версию:
    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.zip

    Здесь RA совместима с WG6.x. НО! Если папку lib, которая расположена в архиве скопировать в папку /plugins/ReActions/ то будет использоваться внешний модуль для работы c WG.
    Файл WGBridge5x.jar соответственно реализует работу с WG5.x
     
  4. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Флаги, RGENTER, RGLEAVE, вроде, работают стабильно. Так же работает определение региона по первому миру :)
    @fromgate, Вы чистейшее золото, а не человек :D
     
  5. Jayman

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

    Баллы:
    76
    Как сделать, чтоб по нажатию ПКМ на табличку - выполнялась одна команда, ЛКМ - выполнялась другая?
     
  6. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Пока никак. Но добавлю.
     
  7. Jayman

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

    Баллы:
    76
    А примерно когда?
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Вот: https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
    Здесь добавлен параметр click активатору SIGN.

    Параметр click может принимать значения: ANY, RIGHT или LEFT.

    Пример:
    /react add sign leftclick click:left line1:leftclick

    Код:
    Код:
      leftclick:
        sign-mask:
        - leftclick
        - ''
        - ''
        - ''
        click-type: LEFT
        flags: []
        actions:
        - message=&6LeftClick! %click%
        reactions: []
    
    Кроме того, активатор создает локальную переменную: %click% которая принимает значения LEFT или RIGHT.
     
  9. Jayman

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

    Баллы:
    76
    Огромное спасибо!
     
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    В общем, текущее состояние оформляю в виде релиза.

    v0.9.4
    • ReActions теперь совместим с WorldGuard 6.x. Встроенный модуль не совместим со старыми версиями WorldGuard (5.x и более ранними), однако если Вы используете WG5.x, то можно воспользоваться дополнительным модулем - wgbridge5x.jar, который расположен в прилагаемой папке lib. Эту папку нужно просто скопировать в директорию плагина (/plugins/ReActions/).
    • Теперь все регионы WG (используемые в активаторах, флага и действиях) поддерживают указание имени мира. Запись вида <world>.<region> указывает на регион <region>, расположенный в мире <world>. Вы можете не указывать имя мира, если регион расположен в главном (первом) мире сервера. Примечание: После перехода на версию 0.9.4 необходимо добавить название мира ко всем регионам, которые расположены в любом мире кроме главного.
    • Активатор SIGN теперь различает левый и правый клик. Для этого ему добавлен параметр click:<LEFT | RIGHT | ANY>, а также появился новый временный плейсхолдер %click%, который заменяется на "left" или "right" в зависимости от того, какой кнопкой мышки кликнули по табличке.
    • Добавлена куча временных плейсхолдеров. Сейчас описывать лениво, но я надеюсь скоро появится полное описание плагина ;)
    http://dev.bukkit.org/media/files/837/440/ReActions.zip
     
  11. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    :)
    25. Интересно бы получилось, если при установке блока можно было отслеживать координату, где он был установлен. Так же устанавливать другой блок ниже\выше\в стороне от этого в каком-то количестве блоков. Так же интересной была бы функция запоминания того блока, который мог быть заменён установкой нового. А так же хорошо было бы устанавливать некий "таймер возврата заменённого блока".

    Это бы было лучшей интерактивной фишкой ReActions!
    Ну, а теперь примеры... Общий вид действия, которое может это всё делать:
    Код:
    adv_setblock=<amount1:n> [amount2:n] [amount3:n] <dir1:<0,1,2,3,down,up>> [dir2:<0,1,2,3,down,up>] [dir3:<0,1,2,3,down,up>] <block:ID> [Time-to-reverse-set:<time>]
    amount1 - расстояние от установленного блока в направлении dir1.
    amount2 - расстояние от установленного блока в направлении dir2.
    amount3 - расстояние от установленного блока в направлении dir3.
    Time-to-reverse-set - время, через которое установленный блок заменится на тот, который он заменил собой (даже если это воздух, что очень удобно, кстати).
    block - устанавливаемый блок.

    А теперь к живому примеру:
    Фиксируется установка блока редстоуна. Снизу него устанавливается лампа. Около лампы окружающие блоки заменяются листвой (чтобы было видно свечение). Через пару секунд лампа заменяется на динамит, который взрывается тоже через пару секунд (не важно, разрушаются блоки или нет. Допустим, что нет.)
    Конфиг:
    Код:
    BLOCK_SET:
       block-type: &fБлок_редстоуна$152
       flags: []
       actions:
        - adv_setblock=amount1:1 dir1:down block:123 Time-to-reverse-set:8s
    
        - adv_setblock=amount1:1 dir1:0 <block:18> Time-to-reverse-set:8s
        - adv_setblock=amount1:1 dir1:1 <block:18> Time-to-reverse-set:8s
        - adv_setblock=amount1:1 dir1:2 <block:18> Time-to-reverse-set:8s
        - adv_setblock=amount1:1 dir1:3 <block:18> Time-to-reverse-set:8s
    
        - adv_setblock=amount1:1 amout2:1 dir1:0 dir2:1 block:18 Time-to-reverse-set:8s
        - adv_setblock=amount1:1 amout2:1 dir1:0 dir2:3 block:18 Time-to-reverse-set:8s
        - adv_setblock=amount1:1 amout2:1 dir1:1 dir2:2 block:18 Time-to-reverse-set:8s
        - adv_setblock=amount1:1 amout2:1 dir1:2 dir2:3 block:18 Time-to-reverse-set:8s
        - action_delated=time:6s action:{adv_setblock amount1:1 dir1:down block:46}
       reactions: []
    Хм... В принципе, зачем создавать новый активатор, когда можно приделать вариации к старому item_click? Я уже описывал возможные варианты :)
    26. Как на счёт модифицирования действия BLOCK_SET? Для динамита, например, можно было бы задавать время взрыва, силу, радиус, разрушает ли он блоки. Для других блоков можно было бы определять, будут ли они падать при спавне (а-ля FallingSand). Можно было бы даже легко заменить функционал КБ из 1.7 и распространить на низшие версии (если можно, конечно... :D)
     
    Последнее редактирование: 7 дек 2014
  12. olegikoligik

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

    Баллы:
    88
    Хочу вам ещё раз напомнить об идее с активаторами item (ITEM_HAVE, ITEM_PICKUP, ITEM_DROP). В сочетании с активатором VARIABLE хочу попробовать реализовать систему веса для предметов.
    P.S. Как по мне (ИМХО) так для reaction было бы полезно расширение функционала а не оптимизирование его под плагины для старых версий майна. Хотя, возможно, оптимизация была легче в плане написания кода. Я в этом даже не любитель поэтому сказать точно не могу.
     
  13. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Неужели ты застопорился на одной идее и нет других? Зачем тебе многофункциональный плагин, когда тебе не хватает одной детали? И, да, ты читал предыдущие страницы? @fromgate все предложения "записывает" :D
     
  14. olegikoligik

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

    Баллы:
    88
    Да, идей пока нету, но! В том то и дело что детали делают плагин многофункциональным. Если бы никто не писал fromgate-у идеи, то вряд ли плагин был бы таким, какой он есть сейчас. Да и к тому же тяжко без полной документации. Например, о том что есть активатор VARIABLE я узнал только из информации об версии на bukkit.dev
     
  15. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Я говорю о том, что не надо флудить ._.
     
  16. Jayman

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

    Баллы:
    76
    Как сделать, чтоб при клике на табличку текст на время менялся, а потом восстанавливался?
     
  17. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Это безусловно, без чьих-то идей у плагина было бы гораздо меньше функций. Собственно, плагин начал активно развиваться уже тогда, когда наш сервер по сути умер.

    Насчет документации. У меня сейчас, есть где-то процентов 90. Но на английском. Как завершу - буду делать русскоязычный вариант.
    Все это будет в виде скачиваемого файла либо в виде веб-страницы.

    Идеи я "записываю". И когда думаю чего бы добавить обязательно перелистываю эту тему. Вообще если говорить о трудоемкости добавления новых фич, то: флаги и действия добавлять очень легко - тут все зависит от трудоемкости самой реализации проверки или действия (сложного пока ничего не было), а вот активаторы пока добавляются не совсем так как мне хотелось - нужно их прописывать в нескольких местах... но это тоже не страшно.

    Тут другой момент, я уже говорил выше, я планирую переделать внутреннее устройство. Тогда поменяется подходы к обработке событий и ко многим другим вещам. Придётся очень много менять в самих активаторах, соответственно, любой новый активатор прибавит мне работы в будущем. Поэтому я сейчас новых активаторов добавлять не хочу.

    Ну и если говорить о поддержки старых версий Minecraft и плагинов.
    Даже если не учитывать, что @Lyosha12 сейчас самый активный "поставщик идей" и только персонально для него можно было бы добавить поддержку WG5.x (иначе нафига ему новые идеи ;)), то сейчас 60% серверов, на которых установлен ReActions, работают на версиях меньше 1.7.9.

    Ну вот такой активатор попробуйте:
    Код:
    SIGN
      signclick:
      sign-mask:
      - Click Me!
      - ''
      - ''
      - ''
      click-type: ANY
      flags: []
      actions:
      - SIGN_SET_LINE=line2:%click%
      - ACTION_DELAYED=time:3s action:{SIGN_SET_LINE loc:%sign_loc% line2:{ }}
      reactions: []
    [code]
    
    
    Тут выяснилось, что у действия SIGN_SET_LINE параметр clear криво работает (всегда очищает первую строчку). Поэтому в примере я прописывал пробел (line2:{ }), в следующем обновлении можно будет ставить clear:2
     
  18. Jayman

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

    Баллы:
    76
    Спасибо, а как сделать, чтобы, когда написано left или right - с табличкой нельзя было взаимодействовать(т.е. нельзя было кликать)?
     
  19. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Jayman
    Активатор SIGN описывается текстом на табличке. Если его менять, то можно либо таким образом отключать его либо превращать его в другой активатор.
    В моем примере нужно менять текст "Click Me!" на какой-то другой.

    Ну вообще так можно даже активное меню сделать )
     
  20. jwplaster

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

    Баллы:
    173
    Skype:
    jwplaster.smartworld
    Имя в Minecraft:
    QviNSteN
    Индейки:
    1.Добавить новое действие - показать голограмму.
    К ней добавить параметры:
    Для регионов: посреди региона, на ближайшем к игроку блоке в том регионе, на ближайшем блоке, но с отступом в какую-либо сторону. (т.е. Если игрок находится прям у региона, а отступ стоит: по x +2, по y +20 , по z -5, то от ближайшего блока до того, где появляется голограмма - будет такое расстояние).
    Для мобов: На месте появляения моба, на месте смерти, на месте удара игрока, на месте удара моба.
    Ну и по-координатам.
    Добавить активаторы:
    1. Когда игрок заходит на сервер.
    2. Когда игрок авторизируется.
    3. Когда игрок двинется первый раз после захода/авторизации.
    4. Когда игрок наступит на другой блок первый раз после захода/авторизации.
    А есть вопрос:

    Можно ли сделать такой таймер, чтобы через X времени происходило одно действие, ещё через X другое, потом ещё... и когда их список окончится - пойдёт всё по новому кругу?
    ----------------------------------------
    Есть идея сделать это так:
    таймер в X*кол-во_действий, но при его выполнении - стартует активатор, который выполняет первое действие, дальше задержка на X, потом второе... ну и так далее.
    но вдруг есть и другой способ.
     

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