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

Жаль, что нету такого плагина на версию Minecraft'a 1.5.2 :cry:

Действительно очень. Правда, в первую очередь, жаль, что Вы:
1. Не попробовали плагин
2. Не посмотрели список поддерживаемых версий на странице закачки:

reactions152.png
 
@azat4610
Смотрел. Кавычка закрывающая в одной строке не стояла, из-за этого обратывался не весь файл.
Положите в папку плагина, после апдейта на следующую версию (когда она выйдет) этот файл можно будет удалить.

https://dl.dropboxusercontent.com/u/64799811/ReActions/russian.lng
Меня давно просили добавить меню реализуемое через инвентарь. Честно говоря было лень. А вот сейчас вспомнил и сделал буквально за несколько минут.

 
Не использовал еще плагин, есть такой вопрос. Можно ли проверить, находится ли игрок в регионе вообще, а не в конкретном? И да, не хватает флагов "блок, на который смотрит игрок имеет id a:b" и "блок, на который смотрит игрок имеет координаты от x1 до x2, от y1 до y2, от z1 до z2". Также не хватает такой же проверки координат самого игрока (пригодилось бы, например, для проверки условий того, что игрок находится в определенном помещении без возни с WG-регионами или в сочетании с направлением для некоторых квестов). И, если я правильно помню, в баккит ПКМ по блоку и ПКМ по воздуху - разные события, в ReActions, если я правильно понял, они используются оба в одном активаторе ITEM_CLICK, может быть, стоит разнести?
 
@Orbis
1. Пока нет, но можно будет добавить
2. Блок на который смотрит игрок - скорее всего добавлен в виде внутренней переменной в некоторых действиях.
3. По поводу описания территорий координатами. Вообще в планах сделать универсальное представление территорий. Чтобы в любом активаторе/флаге можно было сослаться на территорию (будь то регион, линия, сфера вокруг точки, территория города Towny или фракции Factions). Там же будут территории описываемые координатами.
4. Проверка координат в планах есть. Но вообще, практика показывает, что с регионами возни как раз меньше. Прообраз ReActions (тогда он назывался PowerFields :)) поддерживал только указание территорий в виде координат.
5. Разносить ITEM_CLICK не буду (событие, кстати там одно, просто если RIGHT_CLICK_AIR и RIGHT_CLICK_BLOCK). Скорее всего здесь будет локальная переменная указывающая на то, что кликнули.
Поскольку пока переменные не поддерживают сравнение локаций и типов блока - это пока не сильно актуально. Но вообще думаю, что потом будет реализовано.
 
Подскажите пожалуйста, как сделать так чтоб флаг sql_check проходил проверку если в ячейке определенное число или числа большие определенного числа?
 
@bugagav

SQL_CHECK просто проверяет отрабатывает ли SQL запрос. Т.е. возвращает ли он хоть что-то.
Нужно при помощи SQL_SELECT записать в переменную результат запроса и уже потом сравнивать эту переменную.
 
@bugagav

SQL_CHECK просто проверяет отрабатывает ли SQL запрос. Т.е. возвращает ли он хоть что-то.
Нужно при помощи SQL_SELECT записать в переменную результат запроса и уже потом сравнивать эту переменную.

Спасибо за ответ. Просто я смотрел русскую страничку с флагами, а там флагов с переменными не оказалось.
 
SQL_CHECK - это флаг.
SQL_SELECT - это действие.

Флаг - проверяет что либо и выдает ответ true/false

А действие - просто выполняется
 
Здравствуйте, только 2 дня как начал ознакамливаться с плагином, поэтому прошу маленькую консультацию, есть арена "Паркур", создал активатор, RGENTER, при ввходе в регион паркура, у всех игроков, кроме определенной групы отключается режим бога и полет, не зависимо был он или нет, ну то есть вводится консольная команда, выглядит это примерно так:
mparkur:
region: mparkur
flags:
- '!GROUP=admin'
actions:
- cmd_console=fly %player% off
- cmd_console=god %player% off
reactions: []
это работает так как мне нужно, но этого немного не достаточно, так как вы сами понимаете, это паркур, а у некоторых игроков есть возможность телепортироваться по координатам или та же команда /back, что скажем в данном случае абсолютно неуместно. Я попытался также добавить сюда команду, чтобы при любом проникновении в регион игроков переносило в начало арены, то есть локацию parkur, то есть добавил к выше показанным действиям еще одно:
но к сожалению, в данном случае, при входе игроков в этот регион, процесс отключения полета и режима бога зацикливается и после повторения в несколько тысяч раз серер не выдерживает и ложится.

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

И еще, может я где то пропустил, нет ли флагов на проверку игровых режимов у игрока, ГМ-1/0, режим бога, полет?
 
Последнее редактирование:
Доброго времени суток, столкнулся сегодня с одной проблемкой :)
27139ac43a.png

Старался для первого раза делать также, как в вашем видео, но при нажатии ПКМ с предметом в руках абсолютно ничего не происходит! (название предмета и ID пробовал по разному, один раз в точности повторил всё, как было в видео)
Причём пробовал один раз делать регион, с Velocity vector:*.*.* - не работало совсем, подбрасывало меня только при написании "Velocity" без "vector".
Надеюсь я понятно всё расписал :)
 
В приведённом активаторе я вижу:
1. item: Руна$MAP2 - пропущено двоеточие, соответственно парсер не может опознать предмет. Попробуйте "item: Руна$MAP:2"

2. Два метода Velocity. Подозреваю, что второй (без указания вектора) просто обнуляет направление движения. Точнее гляну позже - надо будет подсмотреть код.
 
В приведённом активаторе я вижу:
1. item: Руна$MAP2 - пропущено двоеточие, соответственно парсер не может опознать предмет. Попробуйте "item: Руна$MAP:2"

2. Два метода Velocity. Подозреваю, что второй (без указания вектора) просто обнуляет направление движения. Точнее гляну позже - надо будет подсмотреть код.
Очень странно вышло, когда я прописывал первый раз с двоеточием не работало. Попробовал исправить в конфиге - работает! Спасибо за ответ :)
 
Возможно ли делать сложные условия? По принципу:
Если (условие1 и условия2) или (условие3 и условие4) то, действие1, а когда условие5 или условие6 то действие2, иначе действие3

Или, добавить флаг "активатор", то есть создается новый активатор, в котором флагом является выполнение другого активатора, ну как то так )))
 
@Desperado Ура! :)

@Korvinius
Значит так.
Набор флагов - это фактически такая конструкция:

EСЛИ условие1 И условие2 И.. условиеN

Кроме того, есть флаг... FLAG который возвращает true когда хоть один из флагов в конструкции отработал успешно. Т.е. по сути это конструкция:
FLAG (EСЛИ условие1 ИЛИ условие2 ИЛИ.. условиеN)

Вот в общем на основе этого можно комбинировать. Делать полноценный анализ логических выражений... пока не планирую.

В тоже время, вспоминая Машину Тьюринга, можно сказать, что тут есть всё что нужно.

Вообще я планировал как-то сделать что-то вроде SWITCH/СASE но.... пока не придумал как его красиво описать.
 
Предлагаю добавить активатор разрушения/установки определенного блока и активатор убийства определенного моба.
 
@Korvinius
Значит так.
Набор флагов - это фактически такая конструкция:
спасибо большое за подсказку, я как то не заметил этот флаг FLAG

(куда из форума исчезла кнопочка "спасибо"? осталась только "пожаловаться" :confused:)

А второй пункт по поводу флага "активатор"? С его помощью, конструкцию можно было бы усложнить в разы...
Наверное я не точно объяснил о флаге "активатор" смысл в том, что, если есть действие: Выполнение активатора (EXECUTE) то почему бы не быть флагу, который бы проверял не вызван ли этот активатор другим активатором, этим самым (EXECUTE), если это так, ответ был бы истина, в противном случае ложь.

Кроме этого, наверное было бы не лишним добавить действия и флаги с опытом, на подобии действий и флагов с деньгами :oops:
 
Последнее редактирование:
@Korvinius
Спасибо за идеи ;) Вообще использовать в качестве флагов сами активаторы либо действия я уже думал. Думал даже унифицировать всё. Но на текущий момент времени, нельзя судить по результатам выполнения активатора выполнены ли те или иные флаги. Фактически результат работы активатор имеет иное назначение - через него определяется необходимость отмены "родительского" события (когда это поддерживается). Усложнять активатор сейчас я не вижу необходимости. У меня в планах есть переработка активаторов, но до этого когда руки дойдут не знаю.

Ну а пока... на девбаките был поставлен очередной рекорд по рассмотрению апдейта (видно долго пытались разобраться в коде ;)) - пять дней и новая версия доступна к скачиванию.

Что примечательно, эта версия поставила собственный рекорда ReActions - в первый день её скачали 30 раз. Раньше 30 скачиваний набиралось за месяц.

Итак:


v0.9.2
  • Добавлен новый активатор FCT_CREATE. Этот активатор привязан к событию создания фракции. Добавляется командой: /react add FCT_CREATE <ActivatorId>. В данном активаторе используется локальный плейсхолдер %faction% который содержит название созданной фракции
  • Добавлен новый активатор FCT_DISBAND. Этот активатор инициируется, соответственно, при роспуске фракции. Команда для добавления активатора: /react add FCT_DISBAND <ActivatorId>. Локальный плейсхолдер %faction% здесь указывает на распущенную фракцию.
  • Добавлено новое действие: MENU_ITEM. Отображает меню (GUI инвентаря). Само меню может быть описано как в виде параметров к действию, так и указывать на сохраненное меню.
  • Добавлен движок меню. Новые команды:
    • /react add menu <MenuId> [Size] [Title]
    • /react set id:<MenuId> <param>:<value>, where param could be: size, title, item1, ..., itemN, activator1, ..., activatorN.
    • /react remove menu <MenuId>
    • /react list menu [page] [mask]
    • /react info menu <MenuId>

http://dev.bukkit.org/bukkit-plugins/reactions/files/23-reactions-v0-9-2/
 
И снова здравствуйте))

Есть следующая конструкция:
Этот активатор перемещает игроков на арену, при этом выдавая им жемчужину эндера
tp-parkur:
region: tp-parkur
flags:
- '!GROUP=4mo'
actions:
- item_give=368
- TP=parkur
reactions: []
все в этом активаторе работает, нет никаких проблем.

Следующий активатор должен:
1. проверять наличие у игрока жемчуга эндера,
2. если есть, тогда у игрока отключается полет и режим бога
3. изымается жемчуг эндера,
4. а если жемчуга эндера нет, то игрок должен перемещаться в локацию spawn

mparkur:
region: mparkur
flags:
- item_inventory=368
actions:
- cmd_console=god %player% off
- cmd_console=fly %player% off
- item_remove=368
- item_remove_inventory=368
reactions:
- TP=spawn
но, он работает не полностью, то есть наличие жемчуга проверяется, если есть пункт 2. выполняется, а п. 3 нет, если жемчуга нет, не выполняются ни п. 2, ни п. 4.

Не подскажете что не правильно?
 
Если нет жемчуга (это ж 368-й итем? я не помню? ;)) то должно телепортировать на spawn.

А если есть то тогда выполнять команды и убирать итем. Не убирает вообще? Вечером попробую этот активатор, напишу.
 
Назад
Верх