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

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

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

  1. Korvinius

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

    Баллы:
    88
    я тут тоже задумался, что переменные, могут и мне помочь, и именно в описании уже существующих предметов, а так как я по своей природе ленивый, то упростил себе работу так:
    Код:
    COMMAND:
      varart:
        override: true
        regex: false
        command: varart
        flags:
        - GROUP=admin
        actions:
        - var_set=%arg1% %PLAYER_ITEM_HAND%
    и теперь просто беру предмет в руку и пишу команду /varart название_переменной и предмет в переменной, а я радуюсь)))
     
  2. TipoNakor

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

    Баллы:
    66
    Имя в Minecraft:
    TipoNakor
    Новый вопрос:

    Имеется плагин, VoxelSniper, у него есть функция выбора размера кисти (Команда: /b <размер>) и надо сделать так, чтобы его нельзя было задавать больше 5, иначе игрок просто может крашнуть сервер, но и при этом нужен пермишен, потому что архитекторам как никак нужны размеры более масштабные, то есть перм будет убирать ограничение.
     
  3. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Ну, как вариант, только для этого предмет нужно взять в руку, а у меня почти все они выпадают дропом из полу- мини- микро- и просто боссов, а EXEC'и я под них не писал, поэтому - проще копировать текст :)
    тут вроде как обсуждают ReAction
     
  4. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Значит, требуется установить ограничение на команду /b x<6, и право на /b x ∈ Z
    Так как выполнение события в один тик не требуется, то мы можем растянуть действие проверки размера.

    При вводе команды мы её отменяем, а аргумент x перегоняем в переменную. Вторая переменная будет содержать ник того, кто ввёл команду.

    Вызываем EXEC, где проверяется условие VAR_LOWER=id:x value:6. Если верно, то выполняем CMD_OP=b x.
    Если нет - кастомное сообщение о несоответствии.

    Однако, т.к. ограничение можно обойти, нам нужно два активатора EXEC. Первый будет, собственно, для игроков, которые вводят радиус менее 6, а команда успешно выполняется; второй же для тех, кто вводит недопустимый радиус и не имеет соответствующего права. Для них в actions выводим сообщение об кастомной ошибке.

    Параллельно в другом EXEC проверяем относительно исполнителя команды, есть ли у него кастомное право "p.x". Если есть, то без дополнительных условий выполняем ввод нужной команды от имени оператора.

    Если что непонятно в литеральной части этой логики - пиши, покажу фрагменты активаторов.
     
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    Мне кажется можно описать активатор-команду через регулярку. Что-то вроде: "b (\d{2,}|[6-9])", а в действие влепить сообщение что так нельзя отмену события
     
  6. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Тоже вариант... Два активатора, в одном на права, в другой без прав... Мозг начинает усыхать без администрирования :D
    @fromgate, а будет ли эвент роста зелени? Майн хочет вырастить дерево, а ReActions это ловит и обкладывает своими событиями. Интересно может получиться. Очень интересно. Очень-очень. ОЧЕНЬ. У меня прямо шквал идей взорвался в голове....
    @fromgate, можно ли будет отслеживать дроп с блоков (любых) и изменять его, не изменяя траекторию? Например, майнкрафт хочет призвать саженец с исчезнувшей листвы. ReActions это перехватывает и изменяет саженец на, например, алмазный блок. Почему бы и нет? Можно же?
    @fromgate, можно ли будет контролировать передачу предметов между игроками?
     
  7. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    по этому поводу я думал - в том ключе, чтобы уники друг другу не передавали, а сами добывали, и придумал, чтобы в название уника вставлять плейсхолдер %player%.
     
  8. TipoNakor

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

    Баллы:
    66
    Имя в Minecraft:
    TipoNakor
    Может это лучше в командах, либо же в видео конфига ? У меня просто мозг сейчас взорвется :D
     
  9. Lyosha12

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

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

    Ну и, конечно же, это всё должно быть работоспособно и при выходе одного из испытуемых из игры.
    Задавайте вопросы по тем участкам описания, которые не понятны. Смысл, если я полностью напишу систему? Вы же ни чему не научитесь.
     
  10. Korvinius

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

    Баллы:
    88
    @fromgate вот эта команда:
    добавляет переменную в файл в таком виде:
    Код:
    general:
      ? bow10 type:BOW data:0 amount:1 enchantments:DURABILITY:5;ARROW_INFINITE:1;ARROW_FIRE:1;ARROW_KNOCKBACK:5;ARROW_DAMAGE:8 name:{&6Лук &2из Железного Дерева} lore:{Индивидуальный артефакт} regex:false
      : ''
    Вопросительный знак перед именем переменной, это нормально?
     
  11. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    У вас нет первого аргумента, чтобы создавать переменную с именем %arg1%.
     
  12. Korvinius

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

    Баллы:
    88
    В смысле нет? когда я ввожу команду, я пишу название переменной, то есть этот аргумент и сама переменная создается, все нормально, просто меня смущает этот вопросительный знак.
     
  13. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Возможно, создание будет адекватным, если использовать REGEX.
     
  14. Korvinius

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

    Баллы:
    88
    Я REGEX, вообще обхожу стороной, так как пока абсолютно не понял что это такое и с чем его едят, где можно почитать о регулярных выражениях?
     
  15. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    http://regex101.com/
    Вбиваешь в ReActions то выражение, по которому он будет искать команду. Однако, нужно быть осторожным: можно сделать так, что будет реагировать и на посторонние команды.
     
  16. Korvinius

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

    Баллы:
    88
    спасибо, буду вникать.
    Наконец у меня дошли руки к обновлению плагина до последней версии, занимаюсь переписыванием активаторов и столкнулся с такой проблемкой:
    Код:
    BUTTON:
      loto:
        world: millennium
        x: 37659
        y: 90
        z: -38424
        flags:
        - ITEM=type:PAPER data:0 name:{&6Cчастливый &5билет &9v4 &eСУПЕР &cЛОТО}
        - '!GROUP=shadow'
        actions:
        - item_remove=type:PAPER data:0 amount:1 name:{&6Cчастливый &5билет &9v4 &eСУПЕР &cЛОТО}
        - message=&41111111111111111111111111111111111111111111
    Активатор срабатывает, но в лог выдает такую ошибку:
    что у меня неправильно?
    Стоп! А вдруг, этиу ошибку выдает другой активатор, ItemClick, ща пойду перепроверять...
     
  17. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Мне кажется... Или пробелы не так расставлены?
     
  18. Korvinius

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

    Баллы:
    88
    Уже не актуально, ошибка точно была в другом активаторе, а здесь все нормально, с пробелами вроде тоже.
    И сразу другой вопрос, есть предмет:
    Код:
    EXEC:
      give-ltr-sword:
        flags:
        - DELAY_PLAYER=give-ltr-sword
        actions:
        - DELAY_PLAYER=604800/give-ltr-sword
        - item_give=type:DIAMOND_SWORD data:0 amount:1 enchantments:DAMAGE_UNDEAD:5;DAMAGE_ALL:7;KNOCKBACK:2;DAMAGE_ARTHROPODS:5;FIRE_ASPECT:7 name:{&6Gladius &2Меч легионера} lore:{Клановый артефакт\nПринадлежит клану\n(Legion the revived)}
    На могу понять, почему на него, вообще никак не реагирует этот активатор:
    Код:
    ITEM_CLICK:
      fireball-art-ltr:
        item: type:DIAMOND_SWORD name:{&6Gladius &2Меч легионера}
        flags:
        - DELAY_PLAYER=id:fireball-art-ltr set-time:10
        - GAMEMODE=survival
        actions:
        - message=&2[&5Оружейник&2] &3- &4Получилось
        - cmd_op=fireball
        reactions:
        - message=&2[&5Оружейник&2] &3- &4Не получилось
     
    Последнее редактирование: 22 ноя 2015
  19. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Попробуй использовать REGEX в имени?
     
  20. Korvinius

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

    Баллы:
    88
    и какой смысл в его использовании в данном активаторе?
     

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