Войти или зарегистрироваться

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

Поскольку это работает на командных блоках, то можно сделать то же что на видео соединяя реакшенс и команды от консоли, которые на видео были записанны в командные блоки, подставляя значение игрока плейсхолдером, иногда это действительно необходимо так как на одних командных блоках не добится чего то чего надо. Но в целом логика этого творения на видео очень сложная, так как я хоть и занимаюсь подобными извращениями постоянно :D но с ходу не понял что к чему прикрутить что бы оно заработало точно как на видео.

И ещё хотел заметить, в реакшенс как оказалось нехватает действия по добавлению пермишенса, не критично это так как есть переменные и добавления группы, но всё же. И напишу о найденном баге: из чата невозможно добавить действие телепорта в противодействия, почему-то, когда добавлял прямо в конфиг - то всё работало.
И ещё когда создаю таймер серверного(не игрового) времени, то в конфиге он записывается в таймер игрового времени, работает при этом или нет - не могу сказать так как не разобрался как там время указывать пока что.)
Проблема в том, что это 1.8, там используется @e. А так механизм даже чересчур прост
 
Доброго времени суток. Заметил, что действием invitemrmv не убрать дверь с инвентаря игрока =) Ставлю на кнопку, но ничего не происходит. У меня одного так?
 
Acca, дверь? Покажите код. Дело в том, что есть итем дверь и блок - дверь. У них соответственно разные id.
 
  • Нравится
Реакции: Acca
Есть вопрос, флаг - VAR_COMPARE=tp1/0 ведь должен возвращать true, если tp1 = 0 ? Если да, то почему может не возвращать?:confused: Переменная точно существует и точно равна 0, других флагов нету...
 
Последнее редактирование:
Sasha2dx, потестирую сегодня. Вроде нормально работало, но на переменные большой статистики ещё нет :)
 
Это шедевр,с ним можно воплотить все мечты в реальность,только вот я чуть криворук,но это поправимо,автору лайк :)
 
Был бы счастлив если описание переменных вошло в главный пост :)
 
Не работает EXECUTE

при попытке выполнить команду пишет: Не удалось выполнить активатор (параметры activator:Game)

Создавал actions с ним же:

Код:
    actions:
    - EXECUTE=activator:Game

и для пробы реактионс:

Код:
    reactions:
    - EXECUTE=activator:Game

вообще не реагирует =(
еще вопрос, что бы создать распределение по командам (половина игроков в одной, половина в другой)
нужно использовать флаг CHANCE 50? action и реактион
У меня актион случается чаще реактиона, это норма?
 
Был бы счастлив если описание переменных вошло в главный пост :)
Я тоже ;) Постараюсь добраться до этого в ближайшее время.

Не работает EXECUTE

при попытке выполнить команду пишет: Не удалось выполнить активатор (параметры activator:Game)

Создавал actions с ним же:

Код:
    actions:
    - EXECUTE=activator:Game

Раз пишет - значит пытается выполнить, но не получается.
Что делает активатор Game?
Можно его код привести полностью?
Потом нужно указать по отношению к кому выполняется.
Например:
world:Nether
или
player:fromgate
или
player:all
или
player:null


и для пробы реактионс:

Код:
    reactions:
    - EXECUTE=activator:Game

вообще не реагирует
... Ну так действие-то отработалось ;) Пусть и выдало ошибку.

еще вопрос, что бы создать распределение по командам (половина игроков в одной, половина в другой)
нужно использовать флаг CHANCE 50? action и реактион
У меня актион случается чаще реактиона, это норма?

Если chance 50 выдает чаще true чем false - это ни о чем не говорит. Чистый random. В какой-то момент может быть наоборот. А сделаете пару тысяч проверок получите примерно 50/50
Чтобы делить поровну можно попытаться использовать переменные.
К примеру - добавил игроку - установил переменную.
Добавляешь следующего - проверяешь, если переменная есть то: 1. игрок - во вторую команду, 2. переменная удаляется.
Так по очереди все добавятся равнозначно.

Можно конечно смешать CHANCE и переменные для подсчета и добиться нужного количества. Но я не берусь сейчас рисовать соответствующие активаторы, но то что можно - это 100% :)
 
Прояснилось что то насчёт флага VAR_COMPARE? У меня он совсем не работает. :oops:
 
Появилось предложение по улучшению незаслуженно забытого активатора COMMAND.

1) Научить его понимать подкоманды, и при необходимости заставлять работать только с конкретной командой.
Пример: сейчас если задать активатор для команды /help, то он активатор будет срабатывать и на /help 2 и /help 3. А что если нужно только для основной команды? или наоборот, только для /help 3?

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

1) Научить его понимать подкоманды, и при необходимости заставлять работать только с конкретной командой.
Пример: сейчас если задать активатор для команды /help, то он активатор будет срабатывать и на /help 2 и /help 3. А что если нужно только для основной команды? или наоборот, только для /help 3?

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

ValeraSTK, сейчас как раз бьюсь с этим активатором.

п.2 у меня в планах уже давно. Причем в более обширном представлении. Поскольку почти все активаторы обрабатывают те или иные события, а эти события можно отменить, то логично было бы сделать действие позволяющее их отменять. Это потребает немного изменить логику обработки активаторов, но результат будет такой, что это оправдано. Можно будет не только блокировать выполнение команд, а скажем открывание дверей, сундуков и, в перспективе, получение урона при определенных условиях.

По поводу п.1, в том виде в котором он есть сейчас это немного сложно, но вообще я хотел сделать подержку аргументов (в виде плейсхолдеров arg1, arg2 и т.д.) тогда, подумаю как это можно будет реализовать.
Пример: сейчас если задать активатор для команды /help, то он активатор будет срабатывать и на /help 2 и /help 3. А что если нужно только для основной команды? или наоборот, только для /help 3?

Кстати, сейчас можно сделать отдельно активаторы на команды "/help 1", "/help 2" и "/help 3". Работать будут. Но вот если задать ещё и просто "/help" - то он будет срабатывать совместно с каждым. Т.е. будет отрабатывать по /help 1 два активатора и "/help" и "/help 1"
 
а нельзя к каждому экшону добавлять delay?

Например:

- message=&cНачало игры через 30 секунд delay=10s
- message=&cНачало игры через 20 секунд delay=5s
- message=&cНачало игры через 15 секунд delay=5s
- message=&cНачало игры через 10 секунд delay=5s
и так далее

или же спавним моба, и через X-время убираем и т.д.
хотелось бы увидеть пример работы с переменными VAR_PLAYER
 
snake302, пока нет. Но я подумаю как это лучше реализовать.
Изначально планировалось сделать действие DELAY=<время>
с тем, чтобы можно было использовать конструкции:
- message=&cНачало игры через 30 секунд
- pause=10s
- message=&cНачало игры через 20 секунд
- pause=10s
- message=&cНачало игры через 10 секунд
- pause=5s
- message=&cНачало игры через 10 секунд
- pause=2s
- message=&c3
- pause=1s
- message=&c2
- pause=1s
- message=&c1
- pause=1s
- message=&6Поехали!!!
Но пока я до этого не добрался (чтобы такое реализовать нужно переделать движок выполнения активаторов). Пока это всё заменяется наличием в действии EXEC параметра delay.
 
Еще вопросик, как можно реализовать - несколько жизней, игрок умер раз - заспавнился, два - заспавнился, три - все.
В конце можно делай поставить, с реактионом - телепортом, но как сами жизни, что-то не представляю
 
snake302, это вот переменные, о которых Вы спрашивали, можно с на их основе попробовать. Но я всё ни как не доберусь их проверить и небольшое описание написать.
 
Еще вопросик, как можно реализовать - несколько жизней, игрок умер раз - заспавнился, два - заспавнился, три - все.
В конце можно делай поставить, с реактионом - телепортом, но как сами жизни, что-то не представляю
Ну это просто, я так понимаю ты сооружаешь что то типа арены с жизнями, когда игрок попадает на аену любым из способов - создаёшь для него персональную переменную, и после каждой смерти увеличиваешь или уменьшаешь её на единицу, так же запуская после смерти активатор проверяющий (флагом) какое у него там уже число, и срабатывающий, если уже наступил нужный момент. Ну собстно и всё.
 
v0.6.1/1 (девбилд)
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

- Добавлено действие CANCEL_EVENT (параметр - true). Отменяет "родительское" событие из CraftBukkit. Т.е. к примеру, есть событие нажатия на кнопку, котороая допустим подает сигнал на редстоун. Кнопку может нажать каждый, но вы хотите ограничить по времени. Ставим delay и на реакцию - CANCEL_EVENT=true. Т.е. фактически можно использовать для создания привата на определенных условиях: платный вход в дверь и т.п.
Пока моно отменять: нажатие на кнопку, рычаг, открывание любого типа дверей и команду.
- Теперь активатор COMMAND привязанный к несуществующей команде не выдает после выполнения сообещние о том, что команда не существует.
 
v0.6.1/1 (девбилд)
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

- Добавлено действие CANCEL_EVENT (параметр - true). Отменяет "родительское" событие из CraftBukkit. Т.е. к примеру, есть событие нажатия на кнопку, котороая допустим подает сигнал на редстоун. Кнопку может нажать каждый, но вы хотите ограничить по времени. Ставим delay и на реакцию - CANCEL_EVENT=true. Т.е. фактически можно использовать для создания привата на определенных условиях: платный вход в дверь и т.п.
Пока моно отменять: нажатие на кнопку, рычаг, открывание любого типа дверей и команду.
- Теперь активатор COMMAND привязанный к несуществующей команде не выдает после выполнения сообещние о том, что команда не существует.
побочный эффект - если активатор создан для уже существующей команды, то он будет отменять ее в 100% случаев, даже без действия cancel_event
 
Назад
Верх