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

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

побочный эффект - если активатор создан для уже существующей команды, то он будет отменять ее в 100% случаев, даже без действия cancel_event

Странно, вчера бился чтобы избавиться от этого "эффекта" и вроде избавился. Похоже, что не до конца :)
ValeraSTK, нашёл глюк. Я осуществлял поиск существования команды.... у плагина ReActions. Ибо тестировал на /react :)

Сейчас проверяются все команды:
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
0.6.1/2
Ссылка для закачки - та же, с дропбокса

Добавлено:
- Активатор COMMAND получил дополнительный вариант работы. Если команду описать в формате:
cmd:<команда> arg1:<значения аргумента 1> arg2:<значения аргумента 2> и т.д.
То активатор будет выполняться только при СТРОГОМ соответствии:
команда активатора (cmd) = введенной команде
значение arg1 = введенному аргументу №1
значение arg2 = введенному аргументу №2

К примеру, cmd:react arg1:help заработает только если игрок введёт /react help
сmd:react
— /react, но по /react help - не сработает

Кроме того, некоторым агрументам можно задавать "любое значение" посредством символа "*".
К примеру, cmd:react arg1:help arg2:* сработает и по /react help 1 и /react help 2 и /react help activator

Старый синтаксис (когда просто указывается начало строки) тоже работает:
Параметр активатора: react help — отработает и при /react help 1 и /react help и /react help skfhaljfhslkjfhlsf
 
предположительно не работает флаг PVP - всегда возвращает false.
 
ValeraSTK, спасибо, погляжу вечером.
 
Версия с последней ссылки на дропбокс плюет вот этим http://pastebin.com/4gPNNSis
Вообще пока никаких идей. Этот код не менялся в принципе.
Версия с последней ссылки на дропбокс плюет вот этим http://pastebin.com/4gPNNSis
Бился-бился.. не смог воспроизвести. Что в активаторе происходит (там какой-то ITEM_CLICK выполняется)
 
вот более подробно, из лога http://pastebin.com/gkexKt8P

Это началось после новой версии, сами активаторы я не менял. Т.е. на прежней с такими же активаторами ошибки не было.
 
  • New action: EXECUTE_STOP — stops execution of delayed EXEC-activator. Parameters: player:<player> activator:<exec-activator>
Я попытался реализовать кое какую логику используя это действие, и что то пошло не так. Опишу логику которую хотел реализовать - есть какое то действие, для примёра возьмём просто кнопку, игроки могут нажимать её, и действие должно выполнится только через 5 секунд после последнего нажатия, при условии что за эти 5 секунд больше никто не нажмёт на кнопку. Как я это хотел сделать:
Код:
BUTTON:
  test:
    world: world
    x: 234
    y: 77
    z: 282
    flags:
    actions:
    - EXECUTE_STOP=activator:test1
    - MESSAGE=&2ACTIONS
    - EXECUTE=activator:test1 delay:5
    reactions:
На деле получилось вот что: при одном нажатии и ожидании 5ти секунд test1 не срабатывал, при двух нажатиях - срабатывал один раз, при трёх и более - всегда срабатывал 2 раза.
В чём проблема, и как можно реализовать вышеописанную логику, но так что бы она не глючила?
 
Последнее редактирование:
Sasha2dx, ValeraSTK,
Я всё прочитал, но до выходных добраться вряд ли получится.
вот более подробно, из лога http://pastebin.com/gkexKt8P

Это началось после новой версии, сами активаторы я не менял. Т.е. на прежней с такими же активаторами ошибки не было.

Ага, я в новую версию добавил новые стёкла для выбивания ;) Поэтому при стрельбе происходит проверка на блоки, которых в 1.6 не было :)

Щас должно быть лучше.
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
 
У меня вопрос есть, активатор REGION_LEAVE должен срабатывать если игрок в нём разлогинился?
 
Последнее редактирование:
А почему fromgate все еще без статуса девелоппера? ^^
 
Вообще не должен срабатывать. При входе срабатывает REGION_ENTER, потому есть явная проверка в PlayerJoinEvent. А вот разлогинивание пользователя никак не отлавливаю. Т.е. если отрабатывает - то это какой-то побочный эффект связанный с плагинами авторизации. Допустим игрока портает на спавн и он покидает регион.
 
Последнее редактирование:
Ну это просто, я так понимаю ты сооружаешь что то типа арены с жизнями, когда игрок попадает на аену любым из способов - создаёшь для него персональную переменную, и после каждой смерти увеличиваешь или уменьшаешь её на единицу, так же запуская после смерти активатор проверяющий (флагом) какое у него там уже число, и срабатывающий, если уже наступил нужный момент. Ну собстно и всё.
спасибо, но есть проблемка - сделал, при каждой смерти уменьшается значение на 1 - все как и нужно...

Сделал проверку по плите: если значение меньше 0 - выводится одно сообщение, если значение больше 0 - другое!

Код:
    flags:
    - VAR_PLAYER_LOWER=id:life value:0
    actions:
    - MESSAGE=ooopppps game over!
    reactions:
    - MESSAGE=nice game

У меня значение уже достигло -1, но все еще выводится сообщение nice game
 
спасибо, но есть проблемка - сделал, при каждой смерти уменьшается значение на 1 - все как и нужно...

Сделал проверку по плите: если значение меньше 0 - выводится одно сообщение, если значение больше 0 - другое!

Код:
    flags:
    - VAR_PLAYER_LOWER=id:life value:0
    actions:
    - MESSAGE=ooopppps game over!
    reactions:
    - MESSAGE=nice game

У меня значение уже достигло -1, но все еще выводится сообщение nice game
Из того что я заметил - этот флаг не работает с отрицательными значениями, всегда возвращает фалсе (должны работать или нет - хз), сделай так что бы значения меньше нуля не использовались. Например замени value:0 на value:2 и должно заработать когда значение достигнет 1.
 
Sasha2dx, действительно не работает с отрицательными? Проверю ;) Сделаю чтобы работал
 
есть идеи как можно "заморозить" игрока? Запретить ему двигаться несколько секунд.

+

при выдаче денег пишет ошибку: не удалось пополнить ваш счет

Снимок экрана 2014-01-27 в 19.08.50.png
 
Последнее редактирование:
есть идеи как можно "заморозить" игрока? Запретить ему двигаться несколько секунд.

Можно например поставить его в активатор регион который будет постоянно телепортировать его в одну точку несколько секунд под ряд, и/или установить скорость его движения на 0 через эссентиалс, так он даже ходить не смоет, но сможет вертеть башкой, и прыгать, не идеально, но за неимением лучших вариантов - можно использовать.;)
 
Можно например поставить его в активатор регион который будет постоянно телепортировать его в одну точку несколько секунд под ряд, и/или установить скорость его движения на 0 через эссентиалс, так он даже ходить не смоет, но сможет вертеть башкой, и прыгать, не идеально, но за неимением лучших вариантов - можно использовать.;)
точняк))) спасибо) поставить задержку с действием на 10 секунд)) а во время задержки поставить в регион с телепортом))

но вот, то, что не могу выдавать игроку деньги, напрягает



P.S да уже пора целое вики делать по плагину)))
 
snake302, с деньгами непонятно. Vault + плагин экономики стоит? При инициализации плагина не ругается, что vault/экономика не найдена?
Можно например поставить его в активатор регион который будет постоянно телепортировать его в одну точку несколько секунд под ряд, и/или установить скорость его движения на 0 через эссентиалс, так он даже ходить не смоет, но сможет вертеть башкой, и прыгать, не идеально, но за неимением лучших вариантов - можно использовать.;)

Кстати, можно эффектом SLOW (или как он там называется) уменьшить скорость. Essentials для этого не обязательно, действие POTION :)
Таки да, и флаг VAR_COMPARE тоже бы проверить:), он всегда false возвращает.

https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
Вроде должен теперь сравнивать как надо.
Кроме того, теперь поддерживаются и отрицательные значения для числовых переменных (сравнение, сложение, вычитание)
 
Последнее редактирование:
snake302, с деньгами непонятно. Vault + плагин экономики стоит? При инициализации плагина не ругается, что vault/экономика не найдена?
Нет, не ругается, стоит только Vault самой последней версии. Утром еще раз проверю
кстати я не могу выдать лук с зачарованием, пробовал
261*1,название на английском:3
261*1,название на английском с большой буквы:3
261*1,цифры(вроде 13 было, бесконечность которое):3

Выдает обычный лук и длинную ошибку в консоли, не могу понять, что не так?!
С деньгами так и не разобрался, ругается:
2014-01-28_12.53.22.png


+ не работает ITEM_GIVE - выдает только предмет, никаие опции, кроме количества - не работают (ни цвет, ни зачарование)
 
Назад
Верх