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

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

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

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

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    Код:
      rmvtest:
        override: true
        regex: false
        command: cmd:rmvtest
        actions:
        - var_player_set=id:rmvtest value:{%PLAYER_ITEM_HAND%}
        - message=%PLAYER_ITEM_HAND%
        - ITEM_REMOVE=%varp:rmvtest%
    
    Вот это работае до "ITEM_REMOVE". Хотя странно, с ITEM_REMOVE буду бороться.

    Подстановка PLAYER_ITEM_HAND работает только в активаторах. Т.е. на этапе ввода команды - нет. Хотя, пожалуй, /ra set var как раз там команда где плейсхолдеры тоже должны подставляться.
     
  2. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Доброго времени! Можно ли каким-то образом сделать подписанную книгу с текстом, чтобы она была предметом?
     
  3. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Astrogen
    Можно в новой версии:
    type:WRITTEN_BOOK book-title:{The book of Test} amount:1 book-pages:{Line1&z&0Line2&z&z&0Line4&z&z&z&0Line7&z&z&z&z&z&z&z&0LineX\nPage2Line1&z&0Page2Line2&z&z&z&0Page2Line5\nPage3Line1} book-author:fromgate

    Здесь: &z - разделитель строк (в оригинальной книге используется сочетание - &0\n, я в своем формате взял &z - чтобы избежать путаницы);
    \n - разделитель между страницами
    Единственное эта версия пока не рекомендуется для "живых" серверов. Она пока в стадии допиливания.
     
  4. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Спасибо. Подождем :) Это очень интересно для сюжетных веток
     
  5. Korvinius

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

    Баллы:
    88
    Я бы с радостью пригласил присоединится к моему проекту, но что то мне подсказывает, что ответ будет отрицательным ;)
     
  6. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Korvinius
    Ну как бы да. Времени нет, а посредством ReActions и других плагинов я связан со многими проектами ;)
     
  7. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Уважаемый @fromgate! я правильно понял из вышесказанного, что если я в данный момент поменяю свой 0.9.4/3 на последнюю версию - мне придется переделывать все активаторы, действия и реакции? Я понимаю, что отрываю от работы, но нельзя ли перечислить коротко - что несовместимо (или ткнуть меня носом в пост, если я пропустил). Спасибо.
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Astrogen
    Придётся менять почти всё что касается предметов.
    Если где-то была выдача предметов - возможно она останется работать.
    Но вот если была проверка (а это значит и удаление тоже) - однозначно придётся переделывать.
    Выше я уже в разных сообщениях частично описывал будет формат описания предметов.

    Ну а позднее я сделаю полное описание чего поменялось и что нужно будет переделать.

    Вообще я надеялся сохранить полную совместимость, но понял с этим будет так много возни, что лучше за это не браться.
    @Lyosha12
    0.9.4/29
    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

    - Вроде поборол удаление предметов.
    - Чтобы избежать того, то предмет сохраненный в переменную потому не поддается проверке или удалению (это в случае использования управляющих символов), в строку полученную на основе реального предмета добавляется параметр regex=false.
    Этот параметр влияет только на то как эта строка будет потом сравниваться с существующим предметом. Если regex=true - то на основе регулярного выражения. Если regex=false то будет сравниваться построчно (игнорируя регистр).
     
  9. Korvinius

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

    Баллы:
    88
    придется ждать описания, так как у меня 90% это работа с предметами
     
  10. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Предметов на проверке у меня пока что не так много - в основном телепортеры, благо занимаюсь архитектурой. Только дроп с 3-х монстров и проверка его наличия в инвентаре. Задам вопрос по другому: если сейчас поменять на текущую бету - в дальнейшем планируются еще глобальные изменения синтаксиса? Или перестройки в данный момент будет достаточно до релиза?
     
  11. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Глобальные изменения (если они будут) будут только после этого (грядущего) релиза. Сейчас надо вылизать всё что касается работы с новым форматом описания предметов.
     
    Последнее редактирование: 21 июн 2015
  12. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
  13. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Потому что этого я не менял. Как думаешь, как лучше сделать - добавить поиск предмета в броне-слотах item_remove_inventory или лучше сделать отдельное действие - item_unwear? Во-втором случае можно сделать способ удаления - удалить/переложить в инвентарь/выбросить. Всё-таки это своеобразное действие и цель у item_remove_inventory может быть немного другая.
     
  14. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Все идеи хороши. Однако, для начала нужно поправить саму суть действия удаления предмета из инвентаря. После можно заняться апгрейдом.

    Флаг наличия предмета в слотах брони (даже не брони) - давно предлагали.
    Перекладывать броню в инвентарь или выбрасывать её - не менее хорошая идея.
    Так же стоило бы наряду с этим реализовать помещение предмета в слот брони при выдаче\попадании его в инвентарь.
     
  15. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну вроде как работает. Или у тебя какие-то проблемы с этим возникли?
     
  16. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Проблема в том, что предмет брони, хоть и находится в инвентаре, из него не удаляется, если он в слоте для брони.
    В чём проблема? Действия кика и установка значения личной переменной FloodCall в 0 не работают, хотя у меня floodcall: '43.0'
    Код:
      TimerExecFloodCall:
        time: 0/1 * * * * ?
        player: all
        paused: 'false'
        activator: ExecFloodCall
    
    Код:
      ExecFloodCall:
        flags:
        - var_player_GREATER=id:floodcall value:1
        actions:
        - execute=activator:KickFloodCall player:%player%
        - execute=activator:DecFloodCall player:%player%
        reactions: []
      KickFloodCall:
        flags:
        - var_player_GREATER=id:floodcall value:4
        actions:
        - var_player_set=id:FloodCall value:0
        - cmd_console=kick %player% Флуд командами.
        reactions: []
      DecFloodCall:
        flags:
        - var_player_GREATER=id:floodcall value:1
        actions:
        - var_player_dec=id:FloodCall
        reactions: []
    
    Код:
      AntiAloodCMD-Shop:
        command: 'shop .*'
        override: false
        regex: true
        flags:
        - DELAY_PLAYER=call
        actions:
        - DELAY_PLAYER=5s/call
        reactions:
        - DELAY_PLAYER=5s/call
        - cancel_event=true
        - message=&6[&eFloodProtect&6]&7 Пожалуйста, перестаньте флудить командами.
        - var_player_inc=id:FloodCall
        - execute=activator:KickFloodCall player:%player%
    
     
  17. Korvinius

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

    Баллы:
    88
    100% лучший вариант, намного, добавляются новые просторы для фантазии, еще бы плюс к этому обратное действие: "поместить" предмет из активатора в определенный слот брони.
     
  18. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, мне нужно указать строку %args% из команды, но она не должна включать первый аргумент. Однако вариант
    Код:
        command: 'deldonate arg1:* .*'
    не работает...
     
  19. olegikoligik

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

    Баллы:
    88
    Не мог бы кто написать как пользоваться логическим "ИЛИ" (FLAG_SET)? Разобраться самому можно но времени нет, множество функций приходится исследовать самому (так как не ясно какая структура для того или иного флага, активатора, действия сейчас актуальна)...
     
  20. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Выдаёт true при хотя бы одном совпадении:
    FLAG_SET=FLAG1:ARG1 FLAG2:ARG2 FLAG3:ARG3
    Выдаёт false при хотя бы одном несовпадении:
    '!FLAG_SET=FLAG1:ARG1 FLAG2:ARG2 FLAG3:ARG3'
    Выдаёт true при хотя бы одном совпадении:
    FLAG_SET=!FLAG1:ARG1 FLAG2:ARG2 !FLAG3:ARG3
     

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