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

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

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

  1. Sanya007vuch

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

    Баллы:
    68
    Ничоси :D
    Ну вот 5й пункт можно через команду консоли мутить)
     
  2. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    И название региона ты узнаешь точно так же? Да, не спорю - можно. Но только именно в месте расположения игрока, а не в локации в принципе.
     
    Последнее редактирование: 23 июл 2015
  3. Sanya007vuch

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

    Баллы:
    68
    Если б я тебя еще понял, то ответил бы. А то не бум бум чёт(
     
  4. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    А что я такого непонятного сказал?
     
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    Огромное спасибо, поймали серьёзный баг (п.1 в твоем сообщении).
    Исправил. Срочно обновляйтесь.

    v0.9.8
    • Added new activator - QUIT. This activator is initiating when player leaving the server.
    • Some bugs fixed.
    https://www.spigotmc.org/resources/reactions.8754/
     
  6. Sanya007vuch

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

    Баллы:
    68
    Обновились, спасибо.
    Сталкивался тоже с багом (п.1 в сообщении Алексея), но думал, что то я криворукий такой.)
    А таймер смотрел?
     
  7. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, мечи в количестве трёх штук не удаляются, но выдаются:
    Код:
    BUTTON:
      Activator-ITEM_CLICK-1:
        world: world
        x: -452
        y: 5
        z: -1143
        flags: []
        actions:
        - MESSAGE=&r
        - MESSAGE=&c          [&e▼&c]&3-----------------------------------&c[&e▼&c]
        - MESSAGE=Здесь всё просто. Активатор запускается при клике ПКМ с требуемым предметом. Вам был выдан такой предмет. Кликните ПКМ, держа его в руке.
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:100
        - ITEM_GIVE=type:267 amount:3
    

    А так ничего не происходит. Не выдаётся и не удаляется:
    Код:
    BUTTON:
      Activator-ITEM_CLICK-1:
        world: world
        x: -452
        y: 5
        z: -1143
        flags: []
        actions:
        - MESSAGE=&r
        - MESSAGE=&c          [&e▼&c]&3-----------------------------------&c[&e▼&c]
        - MESSAGE=Здесь всё просто. Активатор запускается при клике ПКМ с требуемым предметом. Вам был выдан такой предмет. Кликните ПКМ, держа его в руке.
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_REMOVE_INVENTORY=type:IRON_SWORD amount:3
        - ITEM_GIVE=type:267 amount:3
    

    @fromgate, http://rubukkit.org/threads/avto-ot...m-zaprivachenom-uchastke.107434/#post-1215001 - Правда что ли? Фактически, все решения с регионами нельзя применять на "больших" серверах? //Спасибо за объяснение :)
    И почему же нельзя занести значение плейсхолдера %sel% в переменную? .-.
    upload_2015-7-24_6-16-59.png
    http://reactions.fromgate.ru/mob_damage.htm - немного опечаток.
    Ещё немного опечаток:

    И почему в MOB_KILL нет плейсхолдера величины нанесённого урона? Это же можно использовать как в экономике, так и в скиллах чего-либо!
    А смысл в плейсхолдерах %mobdamager% и %mobkiller%? Они же, фактически, копируют плейсхолдер %player%. Или активаторы могут запускаться и для... Моба? Блока? Было бы неплохо, если я прав.

    Представьте: скелет стреляет в крипера и вокруг скелета спавнятся ещё несколько скелетов! А вокруг крипера пара зомби! Если честно, то, увидев такое где-то, я бы не на шутку перепугался и удивился. Ведь такое мало где увидишь (или вообще нигде).
    Из документации я всё-таки не понимаю, в чём отличие параметра item от флага item здесь: http://reactions.fromgate.ru/mob_damage.htm? И почему учитывается только стрельба из лука, а не все снаряды?
    И почему при спавне мобов соответствующим действием у них головы вывернуты на 180 градусов?
    Странный эффект:
    Код:
    MOB_DAMAGE:
      Activator-MOB_DAMAGE-Test:
        mob-type: 'Creeper'
        mob-name: '&4&n&o&lGrumm'
        flags: []
        actions:
        - MESSAGE=&r
        - MESSAGE=&c          [&e▼&c]&3-----------------------------------&c[&e▼&c]
        - MESSAGE=Пример активатора &bMOB_DAMAGE&r.
        - MESSAGE=&r
        - MESSAGE=Локация моба:&e %moblocation%
        - MESSAGE=Тип моба:&e %mobtype%
        - MESSAGE=Имя моба:&e %mobname%
        - MESSAGE=Имя атакующего:&e %mobdamager%
        - MESSAGE=Величина нанесённого урона мобу:&e %damage%
        reactions: []
    
    upload_2015-7-24_8-7-25.png
    И опять десятичный вид.
     
    Последнее редактирование: 24 июл 2015
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    С мечами буду разбираться вечером.

    Ну вот смотри, сам WG применяет те же события, что и ReActions. Т.е. если у тебя WG стоит у тебя уже происходит перебор этих самых регионов.
    ReActions делает тоже самое с оптимизацией по выбору регионов. Т.е. перебирает меньше чем сам WG.

    Страшно тут не то, что проверяются эти события, а то что внутри этого события активатор может выполнять много действий. Допустим BLOCK_SET ни на что не повлияет особо, но если это BLOCK_FILL заливающий огромное количество блоков, то... сам понимаешь.

    При разработке ReActions я допустил стратегический просчет - я не стал писать собственный менеджер для событий ReActions, а воспользовался тем, что есть в Bukkit. Это в общем нормально, но снижает мои возможностью по управлению этими событиями и действиями в них.
    Т.е. грубо говоря, самый надежный способ был бы при выполнении активаторов формировать очередь действий и когда они съедают время текущего тика (до определенного предела, допустим заняли 25 мс.) то переносить их на следующий тик (естественно придётся пересмотреть ряд действий и выполнять их сразу: к примеру действия на отмену события - её нельзя переносить в следующий тик). При текущей системе это можно реализовать, но будет некрасиво. Поэтому сейчас я планомерно готовлюсь к такой переделке внутреннего движка.

    Когда эти плейсхолдеры писались, /react set ещё не было ;) Они подставляются только внутри /react add. Можно будет и там сделать.

    Если последний удар, то он может быть и 1 хр - тогда как у моба может быть и 1000 хп при старте.
    Наверное имеет смысл писать максимально возможное количество жизней моба. Понятно, что если их было 1000, то это моб "круче" чемто тот у которого было 20.


    Нет, они фактически дублируют.

    Учитываются все, надо будет исправить описание.

    А чёрт его знает. Скорее всего надо им какой-то yaw/pitch задавать. Попробую.

    Эээ в чем эффект? Не понял.

    Тут он оправдан. В 1.5.2 - урон и жизнь - целые. В более поздних версиях - они дробные. Поэтому в ReActions "внутри" они дробные. А применяются - уже в зависимости от версий. Короче - это нормально.
     
  9. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Форматирование имени моба перекидывается точно огонь на слова сзади о_О
    Однако, чисто ради эстетики можно было бы отсекать десятичный ноль. Ну смысла же нету в нём...
     
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну ради эстетики, постараюсь сделать ;)
    Про форматирование - я в шоке. Пагинатор что ли сума сходит. Посмотрю
     
  11. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Ещё кое-что заметил в MOB_DAMAGE: если атаковать множественными ударами, когда урон мобу не проходит, то активатор всё равно будет вызываться.
    Ээмм.. Вообще не в тему. Так будет ли ещё плейсхолдер качества последнего удара? (Кстати, вот и новая мини-игра, почти :D)
    А можно сравнивать описание предмета от противного? Например, будет выдавать true, если именем предмета не является "Test-123". Очень полезная функция для каких-то наказаний. Или ловушек. Или есть такое регулярное выражение, которое при использовании делает описание антагонистическим? :D
    Не работает вообще ;(
    Код:
    ITEM_CLICK:
      Parkour-Award-2:
        item: '1'
        flags: []
        actions:
        - message=1
        reactions: []
    
    И это. Хотя выдаю предмет прямо копипастом из флага.
    Код:
    ITEM_CLICK:
      Parkour-Award-Elongacia:
        item: amount:1 regex:true name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация (5:00)\n\n&6За победу в паркуре;\n&a(\w){1,15} &6- лучший игрок!}
        flags:
        - ITEM=amount:1 regex:false name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация (5:00)\n\n&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
        - '!REGION=world_the_end.parkour'
        - '!REGION=world_the_end.dropper'
        actions:
        - message=&aPsh-sh-sh!
        - POTION=type:JUMP time:5m level:2
        - POTION=type:FAST_DIGGING time:5m level:4
        - POTION=type:Speed time:5m level:2
        reactions: []
    

    @fromgate, заметил в активаторе REGION опять ту же проблему: несколько активаций в секунду получается при перемещении по региону прыжками:
    Код:
    2015-07-25 02:57:24 [CLIENT] [INFO] [CHAT] Пример REGION. Повторных активаций: 52
    2015-07-25 02:59:29 [CLIENT] [INFO] [CHAT] Перезагрузка произведена. Загружено 76 активаторов, 2
    2015-07-25 02:59:29 [CLIENT] [INFO] [CHAT] локаций.
    2015-07-25 02:59:30 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:30 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:30 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 1 Время: 07-30
    2015-07-25 02:59:31 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:31 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:31 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 2 Время: 07-31
    2015-07-25 02:59:32 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:32 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:32 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 3 Время: 07-32
    2015-07-25 02:59:33 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:33 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:33 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 4 Время: 07-33
    2015-07-25 02:59:34 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:34 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:34 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 5 Время: 07-34
    2015-07-25 02:59:35 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:35 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:35 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 6 Время: 07-35
    2015-07-25 02:59:36 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:36 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:36 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 7 Время: 07-36
    2015-07-25 02:59:37 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:37 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:37 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 8 Время: 07-37
    2015-07-25 02:59:38 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:38 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:38 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 9 Время: 07-38
    2015-07-25 02:59:39 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:39 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:39 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 10 Время: 07-39
    2015-07-25 02:59:40 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:40 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:40 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 11 Время: 07-40
    2015-07-25 02:59:41 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:41 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:41 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 12 Время: 07-41
    2015-07-25 02:59:42 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:42 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:42 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 13 Время: 07-42
    2015-07-25 02:59:43 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:43 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:43 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 14 Время: 07-43
    2015-07-25 02:59:43 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:43 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:43 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 15 Время: 07-43
    2015-07-25 02:59:44 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:44 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:44 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 16 Время: 07-44
    2015-07-25 02:59:44 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:44 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:44 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 17 Время: 07-44
    2015-07-25 02:59:45 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:45 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:45 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 18 Время: 07-45
    2015-07-25 02:59:45 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:45 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:45 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 19 Время: 07-45
    2015-07-25 02:59:46 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:46 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:46 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 20 Время: 07-46
    2015-07-25 02:59:46 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:46 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:46 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 21 Время: 07-46
    2015-07-25 02:59:47 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:47 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:47 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 22 Время: 07-47
    2015-07-25 02:59:47 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:47 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:47 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 23 Время: 07-47
    2015-07-25 02:59:48 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:48 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:48 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 24 Время: 07-48
    2015-07-25 02:59:48 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:48 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:48 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 25 Время: 07-48
    2015-07-25 02:59:49 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:49 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:49 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 26 Время: 07-49
    2015-07-25 02:59:49 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:49 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:49 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 27 Время: 07-49
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 28 Время: 07-50
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 29 Время: 07-50
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:50 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 30 Время: 07-50
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 31 Время: 07-51
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 32 Время: 07-51
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:51 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 33 Время: 07-51
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 34 Время: 07-52
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 35 Время: 07-52
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:52 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 36 Время: 07-52
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 37 Время: 07-53
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 38 Время: 07-53
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:53 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 39 Время: 07-53
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 40 Время: 07-54
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 41 Время: 07-54
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:54 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 42 Время: 07-54
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 43 Время: 07-55
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 44 Время: 07-55
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT]
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT]           [?]-----------------------------------[?]
    2015-07-25 02:59:55 [CLIENT] [INFO] [CHAT] Пример REGION. Активаций: 45 Время: 07-55
    

    В MOB_DAMAGE предлагаю добавить плейсхолдер оставшихся жизней у моба. А так же их модификации в процессе.
     
    Последнее редактирование: 24 июл 2015
  12. FlazyFad

    FlazyFad Ньюби

    Баллы:
    1
    Неплохо слелано
     
  13. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, прошу добавить в RGLEAVE срабатывание при смерти игрока и его спавне вне региона.
     
  14. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ага, действительно, на цифровое Id материала не реагировало. Исправил.


    Это ж регулярка, а тут символы "(" и ")" служебные - их надо экранировать "\(" и "\)".

    О! Точно. Сделал.


    0.9.8/3
    - Исправлено: при сравнении предметов не распознавалось указание типа предмета числом.
    - Исправлено: после возрождения игрока не срабатывали события связанные с регионами
    - Изменение: теперь при сравнении предмета Lore рассматривается как одна строка (разделитель строк - сочетанием символов "\n"). Если используются регулярные выражения - не забывайте экранировать их ("\\n")
    http://adf.ly/1K0nlW[/code][/QUOTE][/QUOTE]
     
  15. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Благодарю! :)
    А можно пару примеров?
    @fromgate, а есть плейсхолдер количества игроков в регионе, имеющих нужную мне переменную или другое значение?
     
  16. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Вот, на твоем тренировался:
    Код:
    ITEM_CLICK:
      Parkour-Award-2:
        item: type:1
        actions:
        - message=1
      Parkour-Award-Elongacia:
        item: amount:1 regex:true name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация \(5:00\)\\n\\n&6За победу в паркуре;\\n&a(\w){1,15} &6- лучший игрок!}
        flags:
        - ITEM=amount:1 regex:false name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация (5:00)\n\n&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
        - '!REGION=world_the_end.parkour'
        - '!REGION=world_the_end.dropper'
        actions:
        - message=&aPsh-sh-sh!
        - POTION=type:JUMP time:5m level:2
        - POTION=type:FAST_DIGGING time:5m level:4
        - POTION=type:Speed time:5m level:2
    

    Нет, такого точно нет ;)
     
  17. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    То есть, для распознавания описания как единой строки нужно экранировать символ переноса строки? И тогда он просто будет игнорироваться? Но я всё равно не понимаю.

    Что нужно написать в lore, чтобы найти предмет, в описании которого на любой строке может быть число 123?
    А теперь-то уж можно вытаскивать слова из описания в действия?
    @fromgate, DELAY=id:Test set-time:5s не работает :(
    Окей... Но удаление не работает! ...
    Код:
      Parkour-Award-Elongacia:
        item: amount:1 regex:true name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация \(5:00\)\\n\\n&6За победу в паркуре;\\n&a(\w){1,15} &6- лучший игрок!}
        flags:
        - ITEM=amount:1 regex:false name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация (5:00)\n\n&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
        actions:
        - ITEM_REMOVE_INVENTORY=amount:1 regex:false name:{&aПожирающий элонгацию} type:POTION lore:{&7Акселерация (5:00)\n\n&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
    

    @fromgate, а можно не устанавливать значение в переменную, а добавлять? Например: "var_add=id:Test value:{%var:Couner%, }". После в переменной должно лежать "1, 2, 3, 4, 5, 6, ". Однако, как убирать последние символы ", " ...придётся делать два активатора. Один добавляет до "5, ", а другой только "6".
    @fromgate, активатор MESSAGE требует при использовании регулярных выражений полного соответствия. А можно ли запускать активатор только при частичном совпадении? То есть, нужно мне найти число 1. Я просто указываю в маске "1". И если число присутствует, то активатор запустится.

    В придачу к этому нужно бы и плейсхолдер количества совпадение добавить.
    @fromgate, таймер взбесился:
    Код:
    EXEC:
      RF-LIMITED-Time-To-Start-EXEC:
        flags:
        - var_GREATER=id:Amount-Places-In-Queue-LIMITED value:1
        actions:
        - execute=activator:RF-LIMITED-Time-To-Start player:null
        reactions: []
      RF-LIMITED-Time-To-Start:
        flags:
        - var_GREATER=id:RF-LIMITED-Time-To-Start value:0
        - var_GREATER=id:Amount-Places-In-Queue-LIMITED value:1
        actions:
        - var_dec=id:RF-LIMITED-Time-To-Start
        - 'sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line3:{через %var:RF-LIMITED-Time-To-Start% сек.}'
        - 'sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line4:{Приготовьтесь!}'
        reactions:
        - var_set=id:RF-LIMITED-Time-To-Start value:60
        - 'sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line3:{через %var:RF-LIMITED-Time-To-Start% сек.}'
        - 'sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line4:{Нужны игроки!}'
    
    Код:
      Timer-RF-LIMITED-Time-To-Start-EXEC:
        time: 0/1 * * * * ?
        player: 'null'
        paused: 'false'
        activator: RF-LIMITED-Time-To-Start-EXEC
    
    Если установить таймер на 3 секунды, то будет видно, что проходит несколько десятков запусков...
    В параметре player при установке значения переменной и вызове таймера поддерживается "общий" формат селектора?
    Решил в лог глянуть. Не знаю при каких обстоятельствах это происходило...
    Код:
    2015-07-26 00:42:43 [WARNING] [ReActions] Task #28727421 for ReActions v0.9.8/3 generated an exception
    java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
        at java.util.HashMap$KeyIterator.next(Unknown Source)
        at me.fromgate.reactions.util.waiter.ActionsWaiter.refresh(ActionsWaiter.java:78)
        at me.fromgate.reactions.util.waiter.Task$1.run(Task.java:63)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:58)
        at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:344)
        at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:509)
        at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227)
        at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472)
        at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404)
        at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
    

    @fromgate, появилась идея: нужно для разделить локальные и глобальные переменные на два файла для удобного хранения и изменения констант. А в основном файле будут только динамические данные игроков.
    @fromgate, почему при телепорте в пределах одного мира скин игрока иногда появляется для наблюдателя телепортации после некоторого отдаления от конечной точки телепортации? И почему прорисовка скина мгновенна при телепортации из мира в мир? Можно ли это исправить в телепортах ReActions?
    @fromgate, предлагаю добавить ещё пару плейсхолдеров. Для экономических махинаций необходим вывод названий регионов по номерам, которыми владеет игрок, а так же их количества в отдельные плейсхолдеры. Однако, именно для экономических махинаций нужно так же проверять личные переменные игроков, которые в данный момент оффлайн.
     
    Последнее редактирование: 26 июл 2015
  18. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Нет. Просто теперь перевод строки - это два символа в строке - символ "\" и символ "n". Чтобы в регулярном выражении "\" был воспринят именно как символ, а не как управляющий код, нужно указать "\\".

    Ну по идее так ".*123.*"


    ЭЭЭэээ? Не понял.

    Я надеюсь речь идёт о последних девбилдах и о флагах?
    Ибо вот:


    Покажи сам активатор, будут воспроизводить.

    Хммм... буду сегодня пробовать.


    Я понял, по сути это расширенная работа со строками. Я уже давно об этом думал, но пока ничего толкового и удобного для описания не придумал.


    Нужно не точное совпадение, что бы сообщение

    Что ж.. погоняю тоже.

    Да, стандартный.


    Разделить глобальный и персональные переменные - несложно. А вот выделять дополнительные файлы для разных случаев использования переменной - это будет усложнение синтаксиса.
    Кстати, как-то рассуждали, как лучше сделать (в случае раздела файла), оставить формат:
    игрок.переменная: значение
    или же лучше сделать
    перменная.игрок: значение

    В первом случае (используется сейчас) сразу видно всё что установлено игроку.
    Во втором случае - смотришь на переменную и у какого игрока какое значение ей соответствует.

    Я думаю это всё особенности клиента. Плагином на это не повлиять.

    Напиши пожалуйста в тикеты, а то забудется.
     
  19. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Чтобы из строки описания предмета или его имени можно было вытащить слово плейсхолдером аналогично активаторам COMMAND и MESSAGE.
    Да... Проверил в лоб - работает. Извиняюсь за ложный баг-репорт. И буду впредь всегда предоставлять пруфы :(
    Но в таймере не работает указание на регион:
    Код:
    SERVER:
      Timer-Test:
        time: 0/4 * * * * ?
        player: 'region:world_the_end.rf'
        paused: 'false'
        activator: Test
    
    Код:
    SERVER:
      Timer-Test:
        time: 0/4 * * * * ?
        player: {region:world_the_end.rf}
        paused: 'false'
        activator: Test
    
    Код:
    EXEC:
      Test:
        flags:
        - DELAY=id:Test set-time:1s
        actions:
        - Message=Test
        reactions: []
    Но тогда есть ли плейсхолдер, который выдаёт это самое единственное (или n-нное) совпадение?
    Если так подумать, то тот разговор я заводил только из-за сложного поиска одной переменной у одного игрока среди десятков разных (и в разных регистрах). И ещё потому, что использовать конструкцию "игрок-переменная" мне казалось эффективнее (тогда). Сейчас же я как-то потерял ту свою мысль.
    Но ведь достаточно сделать группировку аналогичную активаторам. При чём, глобальные переменные тоже могут быть не константами. Из-за чего нужно несколько файлов для них и динамических глобальных переменных. И в каком смысле Вы использовали слово "синтаксис"? Неужто только добавление пары команд для перемещения переменных?
     
  20. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Не совсем так. Активатор - он создается один раз. Переместил его в другую группу и забыл.
    Переменные же появляются и исчезают. При каждом создании переменной нужно указывать группу.
    В общем осуществимо, но по моему может привести к путанице. Подумаю.
    Пока ничего такого нет. Но надо придумать.
    Это наверное будут действия, плейсхолдерами такое мне кажется не придумать (или синтаксис будет такой - что с ума сойти), которые записывают какой-то элемент предмета (причем предметом может быть, как предмет в руке таки текстовый предмет в переменную).
    И действие для обратной манипуляции. Т.е. к примеру изменить название предмета или добавить ему зелье.
    Но это ещё надо обдумать...
     

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