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

Взываю о помощи! Напишите мне,К к сделать это, но не в виде конфига, а в виде команд.
У меня есть предмет &fКислородая маска$314 (золотой шлем с названием). Я хочу, чтобы при надевании его каждые 3 секунды из инвентаря удалялся 1 шт &fКислородный_баллон$1501, а если баллонов в инвентаре нет - шлем бы снимался или же...
Корчое есть у меня бункер, который в регионе lab1. Нужно, чтобы если одета эта маска - уходили бы баллоны, а если маски нет - каждые 3 сек наносится урон в 3 полусердца. И если в инве баллонов нет - урон тоже наносится.
Это нужно именно в виде команд.
 
Можно ли через sql_update увеличить/уменьшить значение ячейки?
Как это правильнее записать как действие в reactions?
UPDATE `first` SET `value` = 'value' + 100 WHERE `id` =2;

АПД. Всё, понял :D - sql_update=UPDATE first set value=value + "100" where id="2"
 
Последнее редактирование:
и почему я только недавно нашел эту тему?!...

несколько вопросов к знатокам (тестировать данный плагин пока что некогда).
1. интересует возможность создания следующей схемы:
при срабатывания активатора (к примеру PVP_KILL или PVP_DEATH) получаем ник игрока, получаем из бд (mysql) запись по нику, добавляем единицу и записываем обратно (банальный pvp счетчик с записью в бд). теоретически все это можно сделать на переменных, но нет ли тут подводных камней?
2. активатора DEATH (обычная смерть от моба, падения, огня и т.д.) еще нет? (в документации не написано).
3. активатор MOB_KILL из него же возможно получить имя убитого моба?
и насколько корректно идет запись в бд кириллицы?
а то была у меня проблемка с WG, вместо приветствия в регионе писал хрень в базу, а в файловом варианте все норм. (настройки кодировки в бд разные испробовал). пришлось отказаться от идеи wg на mysql.
 
и почему я только недавно нашел эту тему?!...

несколько вопросов к знатокам (тестировать данный плагин пока что некогда).
1. интересует возможность создания следующей схемы:
при срабатывания активатора (к примеру PVP_KILL или PVP_DEATH) получаем ник игрока, получаем из бд (mysql) запись по нику, добавляем единицу и записываем обратно (банальный pvp счетчик с записью в бд). теоретически все это можно сделать на переменных, но нет ли тут подводных камней?
2. активатора DEATH (обычная смерть от моба, падения, огня и т.д.) еще нет? (в документации не написано).
3. активатор MOB_KILL из него же возможно получить имя убитого моба?
и насколько корректно идет запись в бд кириллицы?
а то была у меня проблемка с WG, вместо приветствия в регионе писал хрень в базу, а в файловом варианте все норм. (настройки кодировки в бд разные испробовал). пришлось отказаться от идеи wg на mysql.
1.Счетчик убийств/смертей вполне можно сделать:
PVP_KILL:
kill:
flags: []
actions:
- sql_update=UPDATE users SET kills=kills + "1" WHERE name="%player%" , где users - таблица с игроками, kills - наименование столбца.
reactions: []
Ну и можно сделать с переменными, но я не пробовал.
2. Насколько я знаю, такого активатора нет.
3. В активаторе mob_kill ты задаешь тип и имя моба.
MOB_KILL:
mkill:
mob-type: ''
mob-name: ''
flags: []
actions: []
reactions: []
 
Последнее редактирование:
Взываю о помощи! Напишите мне,К к сделать это, но не в виде конфига, а в виде команд.
У меня есть предмет &fКислородая маска$314 (золотой шлем с названием). Я хочу, чтобы при надевании его каждые 3 секунды из инвентаря удалялся 1 шт &fКислородный_баллон$1501, а если баллонов в инвентаре нет - шлем бы снимался или же...
Корчое есть у меня бункер, который в регионе lab1. Нужно, чтобы если одета эта маска - уходили бы баллоны, а если маски нет - каждые 3 сек наносится урон в 3 полусердца. И если в инве баллонов нет - урон тоже наносится.
Это нужно именно в виде команд.
Да мне кто-нибудь поможет?!
 
Как сделать телепортацию игрока по команде?
Например если я делаю тюрьму.
Ввожу команду /jail ник , и игрок телепортируется в заданную точку. Как добавить команду я знаю, но как к ней привязать никнейм игрока, к которому я хочу применить эту команду? Что добавить и куда?
Код:
COMMAND:
  jailer:
    command: jail ???
    actions:
    - TP=loc:jaillocate
    reactions: []
 
Что добавить и куда?
мне кажется, в данном случае, практичнее было бы не ТП в локацию, а телепортировать по координатам:
YAML:
COMMAND:
  jailer:
    command: jail
    actions:
    - CMD_CONSOLE=tppos %arg1% x y z
    reactions: []
tppos - это в случае, если используете плагин Essentials команда телепортации по координатам
x y z сами координаты
а вместо %arg1% плагин автоматически подставит ник игрока из команды.
 
Взываю о помощи! Напишите мне,К к сделать это, но не в виде конфига, а в виде команд.
У меня есть предмет &fКислородая маска$314 (золотой шлем с названием). Я хочу, чтобы при надевании его каждые 3 секунды из инвентаря удалялся 1 шт &fКислородный_баллон$1501, а если баллонов в инвентаре нет - шлем бы снимался или же...
Корчое есть у меня бункер, который в регионе lab1. Нужно, чтобы если одета эта маска - уходили бы баллоны, а если маски нет - каждые 3 сек наносится урон в 3 полусердца. И если в инве баллонов нет - урон тоже наносится.
Это нужно именно в виде команд.
Ребяята! Хеелп!
 
@Korvinius Спасибо! Может подскажешь как ещё с одним активатором разобраться. Интересует PVP_DEATH ,а точнее как его реализовать. Допустим у меня есть территория тюрьмы, где обитают игроки. Как сделать так, что бы ПРИ СМЕРТИ на этой территории тюрьмы, игрок обратно телепортировался\респаунился все на этой же самой территории. Там есть плейсхолдер deathpoint, возможно это надо делать через него. Но так и не разобрался как именно?
Код:
PVP_DEATH:
  deathjail:
    flags: []
    actions: []
    reactions: []
 
Интересует PVP_DEATH
думаю в этом случае нужен активатор pvp_respawn, а не этот, а вместо %arg1% плейсхолдер %targetplayer%, остальное как в первом примере.
позже, будет время, попробую накидать образец, если никто не подскажет до меня, сейчас занят...
 
Краткое описание ReActions
1. Принцип работы
Плагин позволяет привязывать дополнительные функции — активаторы к кнопкам, регионам WorldGuard.У активатора есть: флаги (flags), действия (actions) и противодействия (reactions)При взаимодействии игрока с активатором (нажатие кнопки, вход в соответствующий регион) происходит проверка флагов и если они все возвращают истину (true), то выполняется набор действий (actions). Если флаги не прошли проверку - выполяются "противодействия".


2. Активаторы
Каждый активатор представляет собой набор действий, выполняемых в зависимости от каких-то условий. При этом у некоторых видов активаторов могут быть дополнительные параметры. К примеру, активатор "кнопка", естественно характеризуется координатами кнопки, а параметр клика по мобу - именем и типом моба.
Описание активаторов можно посмотреть тут или тут.



3. Набор флагов - проверка условий
Флаги - это условия. В каждом активаторе может быть множество флагов. При выполнении активатора все они последовательно проверяются. Проверка успешна, если все флаги вернули положительный результат (тогда выполняется набор "действий"). Если хоть один флаг проверку не прошел, то проверка флагов считается не пройденной (и тогда выполняется набор "реакций").


Перечень и описание флагов приведены тут.


4. Действия и Противодействия - Actions and Reactions

Действия и реакции — это собственно то что делает плагин.
Действия выполняются когда все флаги активатора выдают ответ true, противодействия - если хоть один из флагов выдает false
Перечень возможностей для действий и противодействий абсолютно одинаков. Т.е. можно делать значительные ветвления.
К примеру, описать, что при нажатии на кнопку днём игрок будет телепортироваться в определенное место, а ночью - в другое.

Перечень возможных действий указан тут.


5. Плейсхолдеры

Плейсхолдеры - это специальные текстовые поля, которые заменяются на свои соответствия, вычисляемые динамически.


Например, плейсхолдер %player% будет заменен именем игрока по отношению к которому выполняется активатор. Это можно использовать в различных действиях, в т.ч. в действии MESSAGE:

MESSAGE=%player% Привет!

Перечень и описание плейсхолдеров приведены тут

Хочу спросить, нужно сделать так что бы при смерти зомби, скелета или крипера, на месте смерти спавнились ещё два тех же моба, которые после смерти уже ничего не спавнять. Т.е. один враждебный моб это три моба... Это можно реализовать?
 
Добрый день! А можно ли в этом плагине заспавнить моба, у которого будет, скажем, 200 ХП, чтобы он не мог двигаться, но мог стрелять. А потом, когда его убьют, выполнилось бы действие?
Хотелось бы добавить возможность работы с мобами: изменять из движение, добавить действие при убийстве и тд. Очень нужно и практично
 
Добрый день! А можно ли в этом плагине заспавнить моба, у которого будет, скажем, 200 ХП, чтобы он не мог двигаться, но мог стрелять. А потом, когда его убьют, выполнилось бы действие? --- Сообщения объединены: Сегодня, в 03:17, предыдущее сообщение: Вчера, в 02:41 --- Хотелось бы добавить возможность работы с мобами: изменять из движение, добавить действие при убийстве и тд. Очень нужно и практично
На счёт ReActions - не уверен, но есть один прикольный плагин... http://www.rubukkit.org/threads/fun...-0-6-sozdanie-podzemelij-1-6.25086/?attempt=1 вообщем, так.
 
Добрый день! А можно ли в этом плагине заспавнить моба, у которого будет, скажем, 200 ХП, чтобы он не мог двигаться, но мог стрелять. А потом, когда его убьют, выполнилось бы действие?
Хотелось бы добавить возможность работы с мобами: изменять из движение, добавить действие при убийстве и тд. Очень нужно и практично

Полностью всё это не реализовать при помощи ReActions. Жизнь задать можно, выполнить что-то при убийстве определенного моба (в т.ч. уникального - определяется по имени моба) можно. Но вот заморозить - нет, манипулировать движением тоже.

Вообще, такое обращение с мобом - это тема отдельного плагина. Возможно когда-то к этому можно будет вернуться и сделать взаимодействие ReActions с таким плагином.

Ну а вообще, были всякие плагины на мобов (вот и @Danil007524 предлагает вариант). Технически ничего не мешает спавнить такого моба командой из ReActions задавать ему имя (главное чтобы указание имени поддерживал плагин), а потом при помощи ReActions ловить убийство именно этого моба (опять же определяем по имени).
 
@fromgate, раньше в теме Вы говорили, что у Вас пока нету времени и обновления пока не выходят. Теперь у меня появились вопросы: Будут ли вообще выходить обновления? И есть ли у Вас время для этого? А то у меня есть пара предложений к плагину:
1. Можно добавить список команд, которые после срабатывания активатора начинают по очереди активироваться, строго в таком порядке, в каком их вбили в конфиг или командой.
2. Также можно сделать так, чтобы при ввода какой-нибудь фичи эти команды проигрывались бесконечно (то есть когда команды в списке закончились, они проигрываются сначала), а также при срабатывании ещё какого-нибудь активатора их проигрывание заканчивалось.
3. Для этих команд можно было бы добавить кулдаун, то есть после выполнения одной команды небольшой кулдаун, потом, после проигрывания другой, начинает проигрываться другой кулдаун и т.д.
Надеюсь понятно объяснил. :)
 
Полностью всё это не реализовать при помощи ReActions. Жизнь задать можно, выполнить что-то при убийстве определенного моба (в т.ч. уникального - определяется по имени моба) можно. Но вот заморозить - нет, манипулировать движением тоже.

Вообще, такое обращение с мобом - это тема отдельного плагина. Возможно когда-то к этому можно будет вернуться и сделать взаимодействие ReActions с таким плагином.

Ну а вообще, были всякие плагины на мобов (вот и @Danil007524 предлагает вариант). Технически ничего не мешает спавнить такого моба командой из ReActions задавать ему имя (главное чтобы указание имени поддерживал плагин), а потом при помощи ReActions ловить убийство именно этого моба (опять же определяем по имени).
А можете показать, как ловить событие о смерти?
 
Назад
Верх