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

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

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

  1. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Отловил плейсхолдером %message%. Получился вот такой вот монстр http://prnt.sc/f7xfiv

    Тоесть я должен делать маску, опираясь именно на "это" ? А не на предыдущий меседж http://prnt.sc/f7x603
    Понял
     
    Последнее редактирование: 15 май 2017
  2. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    build #99
    Активатор срабатывает, когда игрок разрушает блок.
     
  3. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    :cute: Я. Тебя. Люблю.
     
  4. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    build #100

    Небольшие изменения в BLOCK_BREAK: вместо blocktype теперь - block, который описывается в формате предмета.
    Т.е. можно указать block:{type:WOOL color:BLUE} или указать какое-то значение DATA
     
  5. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    грац
     
  6. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    build #101
    Активатор SNEAK выполняется, когда игрок приседает или встаёт, с помощью клавиши Shift ​
     
  7. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    А где эти значения сохраняются?? world\playerdata ??
     
  8. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    FlySpeed и WalkSpeed сохраняются в файле world\playerdata\(UUID).dat
     
  9. Lalki

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

    Баллы:
    66
    а можно ли действию SHOOT сделать отдачу?
     
  10. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Это просто. Воспользуйтесь действием VELOCITY
    К сожалению таким образом не выходит. Пробовал так:
    Код:
        - VELOCITY=vector:-1,-1,-1 kick:true
    
    Но не работает. Отрицательные значения не работают когда kick:true
    Нужно пошаманить с этим действием :)
    Подшаманил. Скачайте последний build. Теперь можно делать отдачу. В активатор SHOOT установите действие:
    Код:
    - VELOCITY=vector:-1,-1,-1 kick:true

    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------

    Расширяем возможности ReActions:
    build #104
    Это условный оператор, который может значительно облегчить написание активаторов. Он поддерживает всевозможные условные атрибуты присущи языку javascript. Поддерживается проверка regex.​
     
    Последнее редактирование: 17 май 2017
  11. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Я сегодня такой встаю с утра и думаю... Надо бы сделать парочку активаторов с проверкой цепочки флагов по пермишенам... Но на каждом таком узлу должен запускатся дополнительный EXEC активатор с проверкой цепочки на уровень выше. Неудобно! Вот здорово если б было просто что то типа:
    IF_PERM=qwerty123 action:action reaction:reaction
    IF_PERM=qwerty124 action:action2 reaction:reaction2

    И тут на тебе!
    Но правда сложный он какой-то...
    Но блин... А нельзя что бы это <then> умело так же выполнять действие, без нужны создавать дополнительный EXEC активатор ??

    then:{action:COMMAND_CONSOLE=cmd}
    И ещё, не очень понятно что значит каждый из этих символом в параметре условного оператора...
    Вот это например "!=" что такое ?
     
  12. Lalki

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

    Баллы:
    66
    я про отдачу для жертвы, откидывание
     
  13. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Это часть логического выражения, которая называется логическим оператором
    "!="
    - означает логическое НЕ, т.е, если в условии одно значение не равно другому, то результат будет истиним, т.е. TRUE
    если 5 != 3 то TRUE
    Больше о логических операторах можно посмотреть в справочнике, например javascript
     
  14. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Логично
    С такими темпами реАкшнс скоро в язык програмирования выльется
     
  15. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    ReActions и является своеобразным языком программирования. У него есть все основные атрибуты языка.
    Это логические выражения, циклы, операторы, ... . А также алгоритмы, которые вы используете, чтобы достич поставленной цели. Так что ReActions может носить гордое звание языка программирования, правда, узконаправленного, но всё же...
     
  16. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Может ли реАкшнс поймать плейсхолдер от другого плагина и использовать его? Или это впринципе нереально? Только если там хук к api этого плагина будет или что-то вроде...
     
  17. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    build #106
    Теперь оно может запускать другие действия.
    Взгляните на многоуровневое действие, которое запускает другие действия в зависимости от поставленной задачи:
    Код:
    SNEAK:
      s5:
        sneak: ANY
        actions:
        - 'IF_ELSE=
            if:{%sneak%==true}
            then:run:actions:{
                action1:{message=&6&lУровень1 TRUE}
                action2:{cmd=say &6&lУровень1 TRUE}
                action3:{IF_ELSE=
                    if:{3==2}
                    then:{message=&c&lУровень2 TRUE}
                    else:run:actions:{
                        action1:{message=&c&lУровень2 FALSE}
                        action2:{IF_ELSE=
                            if:{2==2}
                            then:run:actions:{
                                action1:{broadcast=&e&lУровень3 TRUE}
                            }
                            else:{}
                        }
                    }
                }
            } else:run:actions:{
                action1:{message=&6&lУровень1 FALSE}
                action2:{message=&6&lУровень1 FALSE 2}
            }'
    
    Такая конструкция может сломать мозг, не правда ли?

    Теперь, предположительно, можно основные задачи выполнять в одном активаторе.
    Необходимо подобные исполнения тщательно протестировать, чтобы узнать, что вообще теперь можно делать в ReActions.
     
  18. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Может быть проще сразу Джаву выучить ?)
    Хотя если настроить подсветку в нотпаде, то всё становится понятней и проще

    jfghjg.png
     
  19. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    Почему действие в активаторе bc1 выполняется 2 раза именно если кликнуть ПКМ

    Использую build #106

    Код:
    BLOCK_CLICK:
      ENDERCHEST:
        block-type: ENDER_CHEST
        click-type: RIGHT
        location: world_rpg,27.0,48.0,235.0,0.0,0.0
        actions:
        - CANCEL_EVENT=true
        - MESSAGE=Test
      bc1:
        block-type: SKULL
        click-type: ANY
        location: world_rpg,32.0,47.0,233.0,0.0,0.0
        actions:
        - MESSAGE=Test1
    Как можно исправить?
     
  20. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Хм. Действительно, есть такая проблема. Когда добавлял этот активатор, такого поведения не наблюдал.
    Похоже, выполняется два события при клике. Попробую исправить.

    Но тукую проблему вы можете решить простым способом, добавив флаг DELAY_PLAYER с задержкой, например, в 500ms

    Код:
      flags:
        - DELAY_PLAYER=id:blockclick player:%player% set-time:500ms

    У меня подсветка синтаксиса установлена по умолчанию, поэтому решил так расписать это действие. Я переживал, что форматирование действия в таком виде не будет разрешено YML-форматом, но как видно всё замечательно работает. Теперь можно программировать в ReActions, и код будет читабельным.
     

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