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

Хорошо,спасибо!

Можете пример скинуть?
Вот, рабочий пример:
Код:
MOB_CLICK:
  kassa:
    mob-type: zombie
    mob-name: ''
    flags:
    - DELAY_PLAYER=id:mobclick player:%player% set-time:3s
    actions:
    - MESSAGE=&eПроходим, не задерживаем очередь!
    reactions:
    - MESSAGE=awd

Я проверил, на старой версии плагина, действительно имеется двойной клик, но в последней версии этого уже нет.
 
Сначала нужно зарегистрироваться или зайти с аккаунта GitHub, потом перейти по ссылке на ReActions и открыть последний билд(сейчас build 26); после клацнуть по "Artifacts", и снизу будет подсвечено название файла. Кликаешь на него, и у тебя появляется свежий билд ReActions ^^
Ясно, спасибо
 
Коллеги, можно разъснить принцип работы на примере? буду признателен!

задача:

при вводе игроком {PLAYERNAME} несуществующей команды strangecommand плагин бы выполнял существующую команду, например, mute с параметром {PLAYERNAME} - то есть: мут этого игрока (команда mute доступна только админу)

я добавляю активатор akt1:

>ra add COMMAND akt1 strangecommand a mute {PLAYERNAME}


но ничего не работает: никакого действия (а именно: mute {PLAYERNAME} не происходит)
попробовал вот такой еще вариант, но тоже безуспешно:

>ra add COMMAND akt1 strangecommand CMD_OP mute {PLAYERNAME}
 
Вы решили одной командой создать активатор и запихнуть в него действие, но это не верно.
Если уж командами, то Вам нужно выполнить две команды:
Код:
ra add COMMAND akt1 strangecommand
ra add akt1 a CMD_OP mute %player%
или в файле активаторов (activators.yml) написать следующее:
Код:
COMMAND:
  akt1:
    override: true
    regex: false
    command: strangecommand
    actions:
    - CMD_OP=mute %player%
 
ах, вот оно что!

спасибо, коллега, за оперативный совет! воспользуюсь )
и еще: не сочтите за труд - поясните, пожалуйста, назначение этих параметров:

...
override: true
regex: false
...
...команда заработала, но... не хватает прав (я говорил, что mute разрешена только админам) у простого игрока замутить самого себя (

нельзя исполнить команду с правами админа?
-------------------------------------
всё получилось! использовал команду CMD_CONSOLE

остались вопросы:

не сочтите за труд - поясните, пожалуйста, назначение этих параметров:

...
override: true
regex: false
...
 
не сочтите за труд - поясните, пожалуйста, назначение этих параметров:

...
override: true
regex: false
override: true - если имеется такая команда с другого плагина и её как-то попытались отменить, то мы её перекроем и выполним команду с нашими действиями (это предположительно).
regex - если true, то команду можно записать как регулярное выражение. При каждом совпадении будет выполняться команда. Например:
Код:
command: /set(\s+\S+){1,}
здесь активатор будет срабатывать при любом параметре команды set, когда выполняются следующие команды:
//set 1
//set 2
...
//set 256
 
понял, большое спасибо - в принципе, всё логично (и очень полезно, если знать регулярку))

и распоследний вопрос, если позволите ))


если нужно, чтобы действие выполнялось по одной (любой) из команд - я попробовал вот так, но не работает:

Код:
COMMAND:
  akt1:
    override: true
    regex: false
    command:
    - strangecommand1
    - strangecommand2
    - ...
    - strangecommandN
    actions:
    - CMD_OP=mute %player%

...а вот действия - работают!

Код:
    actions:
    - CMD_OP=action1
    - CMD_OP=action2
    - CMD_OP=action3
 
если нужно, чтобы действие выполнялось по одной (любой) из команд - я попробовал вот так, но не работает:
Нет, так не будет работать. В этом случае подойдут только регулярки:
Код:
  akt1:
    override: true
    regex: true
    command: strangecommand(\d+)
    actions:
    - MESSAGE=%arg0%
Здесь активатор будет выполняться одной из следующих команд:
strangecommand1, strangecommand2, strangecommand3, ..., strangecommandN
 
аа, понял, но... strangecommand1, 2, 3 - это для примера )

на самом деле команды будут совсем разными: abc, defgh, ijklm...

такое в регулярку, видимо, не заложить? )
 
подождите, я запутался

с действиями как раз все норм - их можно перечилсять в столбик и это работает (как я написал выше):

Код:
actions:
    - CMD_OP=action1
    - CMD_OP=action2
    - CMD_OP=action3


а вот как вставить список различных команд пользователя, чтобы активатор срабатывал по любой из них?

что вот значит эта надпись?

Код:
command: .*

это что - по вообще любой команде?

но это не так!


еще раз задача:

по любой (из конечного списка) команде, выпущенной игроком, нужно произвести действие (действия).

Вот и нужно в одном активаторе прописать этот список команд игрока.
 
увы, так не работает

не распознает эти команды

а если

Код:
command: cmd1

то всё ок
 
ах, точно ведь!

теперь всё работает, как нужно

большое спасибо! )
а что такое CANCEL_EVENT=true в вашем примере? )
 
ах, точно ведь!

теперь всё работает, как нужно

большое спасибо! )
а что такое CANCEL_EVENT=true в вашем примере? )

cancel_event=true отменяет событие/ивент баккита. В этом примере можно сказать, что для сервера команда не введена, а вот для ReActions она сработала (хотя это неверно). Это помогает избежать ошибки неверной/неизвестной команды при использовании Regex.



Теперь мне нужна помощь с флагом Item_inventory :D
Код:
REGION:
  CstlEnter:
    region: World2.CstlEnter
    flags:
    - item_inventory=type:IRON_NUGGET name:{&eКлюч от сокровищницы}
    actions:
    - message=yey!
    reactions:
    - message=nope!
%PLAYER_ITEM_HAND% выдает
Код:
type:IRON_NUGGET data:0 amount:1 name:{&eКлюч от сокровищницы} regex:false
Иииии... nope!
Пытался скопировать всю строку %player_item_hand% и поместить в флаг, иииии... снова nope!

Может как-то не так флаг использую?..
 
а что такое CANCEL_EVENT=true в вашем примере? )
Я его использую в 2-х случаях, когда хочу отменить событие от Bukkit и чтобы не писалось в чат сообщение типа: "Нет такой команды, воспользуйтесь командой /help"
Может как-то не так флаг использую?..
В вашем активаторе всё верно. Но есть одно Но. Предмет IRON_NUGGET появился в версии игры 1.11, а насколько я знаю ReActions собирался максимум до версии 1.10 (я могу ошибаться). У меня сервер 1.10, поэтому проверить не могу Ваш активатор. Но могу предложить Вам испытать работу с другим предметом в инвентаре. По идее всё должно заработать.
 
@maxdikiy
IRON_NUGGET - должен работать. Вот если бы у него были какие-то уникальные параметры, то они бы не были доступны.
 
@fromgate, @imDaniX
IRON_NUGGET действительно работает. Ради этого развернул ядро 1.11.2. :)
 
Можете добавить событие телепортации??
Интересно, а можна ли на основе события Item_Click сделать к примеру КД для выпивания зелий ?? Что бы нельзя было пить хилку или есть з.яблоко чаще чем рас в интерва ?
 
Назад
Верх