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

Поподробнее напиши
повторюсь, я такого реализовать не пробовал, а о действии:
Очистка региона от мобов и предметов (REGION_CLEAR)
region_clear region:<Регион> type:<ТипОбъектов>
Удаляет в указанном WorldGuard-регионе валяющиеся предметы и мобов.
Параметры:
<Регион><WorldGuardРегион>Имя того региона, в котором будет проводиться очистка
<ТипОбъектов><ТипПредмета | items | ТипМоба | mobs | all>Удалять предметы определённого типа, все предметы, мобов определённого типа, всех мобов или вообще всё
 
повторюсь, я такого реализовать не пробовал, а о действии:
Спасибо, вопрос только - очистит ли оно уникальных мобов, ибо команда /killall с параметрами убивает всех, кроме моего наспавленного. Буду пробовать, отпишусь.
Еще вопрос: где-то можно взять полное руководство по плагину? а то, чую я - у меня много чего нету. Например - как дать уникальное имя дропу, выпадающему с моба. Спасибо.
 
Последнее редактирование:
На dropbox'е есть последняя моя попытка получить что-то вроде руководства. Пока на криворуком английском.

https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.chm
@Astrogen
Очистить регион (REGION_CLEAR)

REGION_CLEAR region:<регион> type:<типEntity>


Параметры:
<регион> - <Название региона для очистки>

<типEntity>
- items - удалить все предметы
- mobs - удалить всех мобов
- all - удалить всё
- <EntityType>[,<EntityType>..] - Список типов enity. Можно указывать как материалы так и названия мобов.
 
Премного Вами благодарен! (С) "Иван Васильевич"
Не сочтите за идиота, я уж всяко перепробовал - не могу дать имя сворду, выпадающему из моба, делаю все по инструкции. Может быть из-за того, что Spigot 1.8?
 
Последнее редактирование:
Я создал команду при написании которой срабатывает действие (допустим /port %player%). Можно ли как нибудь дать право писать эту команду только конкретному игроку, а не всем?
 
Я создал команду при написании которой срабатывает действие (допустим /port %player%). Можно ли как нибудь дать право писать эту команду только конкретному игроку, а не всем?

Во флагах можно проверять имя или пермишен.

Премного Вами благодарен! (С) "Иван Васильевич"
Не сочтите за идиота, я уж всяко перепробовал - не могу дать имя сворду, выпадающему из моба, делаю все по инструкции. Может быть из-за того, что Spigot 1.8?

А как вы это делаете, покажите
 
А как вы это делаете, покажите
Прошу прощения, затупил, надо было сразу написать. Варианты были такие:

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276@killspider$DAMAGE_ALL:5

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:killspider@ID:276$DAMAGE_ALL:5

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276 killspider@DAMAGE_ALL:5

и даже пробовал от балды:

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276@NAME:killspider, DAMAGE_ALL:5

Что-то я в синтаксисе явно не понял, вы поправьте, плиз. Спасибо.
 
Ребята добрые, спасайте!
В интернетах искал, решения не нашел :с
Дело в том, что с помощью ReActions создаю собственные команды. На телепорты, на вывод сообщение и т.д. и т.п. - не суть важно. У меня две проблемы, с которыми мне нужно решение:
1. Когда я ввожу команду /command мне к примеру отображается текст ТЕКСТ1. Когда я ввожу /command text2 мне отображается и ТЕКСТ2 и ТЕКСТ1. Нужно как-то сделать так, чтобы /command работал отдельно, но что-то не выходит :с
2. Самая главная моя проблема. Если на первую я могу закрыть глаза, то тут прям меня просто вымораживает. Не нашел решение. В общем, при прописывании, к примеру, /ololo 228 воспринимается как текст и соответсвенно активатор, поэтому с ReActions все ок, но сервер то видит слэш ("/") и воспринимает как команду, а так как такой нет выводит сообщение "Unknow command. Try /help и бла-бла-бла". Выглядит очень забавно, когда ты пишешь команду, сначала тебе говорят, что такой нет, а через миллисекунду ты уже телепортируешься в другой город, заплатив 200$. Выручайте, беда с этим(
 
Ребята добрые, спасайте!
В интернетах искал, решения не нашел :с
Дело в том, что с помощью ReActions создаю собственные команды. На телепорты, на вывод сообщение и т.д. и т.п. - не суть важно. У меня две проблемы, с которыми мне нужно решение:
1. Когда я ввожу команду /command мне к примеру отображается текст ТЕКСТ1. Когда я ввожу /command text2 мне отображается и ТЕКСТ2 и ТЕКСТ1. Нужно как-то сделать так, чтобы /command работал отдельно, но что-то не выходит :с
2. Самая главная моя проблема. Если на первую я могу закрыть глаза, то тут прям меня просто вымораживает. Не нашел решение. В общем, при прописывании, к примеру, /ololo 228 воспринимается как текст и соответсвенно активатор, поэтому с ReActions все ок, но сервер то видит слэш ("/") и воспринимает как команду, а так как такой нет выводит сообщение "Unknow command. Try /help и бла-бла-бла". Выглядит очень забавно, когда ты пишешь команду, сначала тебе говорят, что такой нет, а через миллисекунду ты уже телепортируешься в другой город, заплатив 200$. Выручайте, беда с этим(

1. У активатора COMMAND есть два формата описания команды. 1-й это просто маска текста команды, например "команда параметр1". Если использовать только такое описание - тогда действительно будет тот эффект, что при "команда параметр1" будет также отрабатывать и "команда".
Есть ещё вариант: "cmd:<команда> arg1:<параметр1> ... argN:<параметрN>
При этом в качестве параметров можно использовать и "*", т.е. если описать команду как: "cmd:give arg1:* arg2:IRON_SWORD", то этот активатор будет срабатывать и для команды /give fromgate IRON_SWORD и /give notch IRON_SWORD.
Соответственно (если я не путаю ;)), если указать просто "cmd:<команда>" без ссылки на параметры, то при наличии параметров этот активатор выполнятся не будет.

Примеры:
Код:
COMMAND:
  day_cmd:
    command: cmd:day
    flags: []
    actions:
    - cmd=time set 0
    reactions: []
  day_off:
    command: cmd:day arg1:off
    flags: []
    actions:
    - cmd=time set 18000
    reactions: []

P.S. Вообще всё мечтаю добавить сюда поддержку регулярных выражений - это будет удобнее... Когда-то я это сделаю ;)

2. Вообще по умолчанию, если в системе не найдена соответствующая команда, то событие должно отменяться. Если этого не происходит, можно добавить действие CANCEL_EVENT=true в активатор.Надпись "Unknown commad..." тогда пропадёт.
Прошу прощения, затупил, надо было сразу написать. Варианты были такие:

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276@killspider$DAMAGE_ALL:5

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:killspider@ID:276$DAMAGE_ALL:5

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276 killspider@DAMAGE_ALL:5

и даже пробовал от балды:

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276@NAME:killspider, DAMAGE_ALL:5

Что-то я в синтаксисе явно не понял, вы поправьте, плиз. Спасибо.

Killspider - это название?
Тогда должно быть что-то вроде:

- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:killspider$276@DAMAGE_ALL:5

Т.е. название идёт до ID предмета.
 
1.
Killspider - это название?
Тогда должно быть что-то вроде:
- MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:killspider$276@DAMAGE_ALL:5
Т.е. название идёт до ID предмета.

Спасибо, все заработало. Теперь буду знать.
 
Я такой нуб, что не могу сделать задержку *О*
Хелпайте, а то не понял как вообще DELAY и прочие юзать
у меня примерно так (несколько раз менял, так что не пинайте ногами за мою неумелость) ):
Код:
    actions:
    - 'MESSAGE=&2[Капитан корабля]: &fКорабль отправляется прямо сейчас!'
    - 'MESSAGE=&2[Капитан корабля]: &fКурс на МайнРиж!'
    - ACTION_DELAYED=2s TP=ShipMineRizh
    - ACTION_DELAYED=2s MONEY_PAY=40
    - ACTION_DELAYED=2s SOUND=SPLASH

Не работает sign_set_line. И %sign_loc% ставил, и отдельную локацию создавал - ни в какую не хочет! Что делать? Как правильно прописывать действие? (в yml файле)
P.S. мне нужно вывести на табличку значение переменной, если переменная изменилась.
 
Последнее редактирование:
Я такой нуб, что не могу сделать задержку *О*
Хелпайте, а то не понял как вообще DELAY и прочие юзать
у меня примерно так (несколько раз менял, так что не пинайте ногами за мою неумелость) ):
Код:
    actions:
    - 'MESSAGE=&2[Капитан корабля]: &fКорабль отправляется прямо сейчас!'
    - 'MESSAGE=&2[Капитан корабля]: &fКурс на МайнРиж!'
    - ACTION_DELAYED=2s TP=ShipMineRizh
    - ACTION_DELAYED=2s MONEY_PAY=40
    - ACTION_DELAYED=2s SOUND=SPLASH

Не работает sign_set_line. И %sign_loc% ставил, и отдельную локацию создавал - ни в какую не хочет! Что делать? Как правильно прописывать действие? (в yml файле)
P.S. мне нужно вывести на табличку значение переменной, если переменная изменилась.
У fromgate'а на канале было какое-то видео. Он вывел на табличку время в мире.
 
Я такой нуб, что не могу сделать задержку *О*
Хелпайте, а то не понял как вообще DELAY и прочие юзать
у меня примерно так (несколько раз менял, так что не пинайте ногами за мою неумелость) ):
Код:
    actions:
    - 'MESSAGE=&2[Капитан корабля]: &fКорабль отправляется прямо сейчас!'
    - 'MESSAGE=&2[Капитан корабля]: &fКурс на МайнРиж!'
    - ACTION_DELAYED=2s TP=ShipMineRizh
    - ACTION_DELAYED=2s MONEY_PAY=40
    - ACTION_DELAYED=2s SOUND=SPLASH

Не работает sign_set_line. И %sign_loc% ставил, и отдельную локацию создавал - ни в какую не хочет! Что делать? Как правильно прописывать действие? (в yml файле)
P.S. мне нужно вывести на табличку значение переменной, если переменная изменилась.

Про задержку опишите, что именно нужно получить.
DELAY (флаг и действие) - это можно сказать для управления cooldown'ами (О! Надо переименовать ;))
ACTION_DELAYED - это выполение через определенное время. Но у Вас они прописаны неправильно. Должно быть так:
Код:
    - ACTION_DELAYED=time:2s action:{TP ShipMineRizh}
    - ACTION_DELAYED=time:2s action:{MONEY_PAY 40}
    - ACTION_DELAYED=time:2s action:{SOUND SPLASH}


Для изменяющейся переменной лучше всего использовать активатор VARIABLE, который срабатывает при смене значения переменной. Например так:
Код:
VARIABLE:
  vartest:
  variable-id: vartest
  personal: false
  flags: []
  actions:
    - sign_set_line=line3:{Переменная:} loc:world,-49.0,67.0,417.0,0.0,0.0
    - sign_set_line=line2:%var:vartest% loc:world,-49.0,67.0,417.0,0.0,0.0
    - sign_set_line=line3:{Время:} loc:world,-49.0,67.0,417.0,0.0,0.0
    - sign_set_line=line4:%time_server:HH:mm:SS% loc:world,-49.0,67.0,417.0,0.0,0.0
  reactions: []
 
Для изменяющейся переменной лучше всего использовать активатор VARIABLE, который срабатывает при смене значения переменной. Например так:
Код (Text):

  1. VARIABLE:
  2. vartest:
  3. variable-id: vartest
  4. personal: false
  5. flags: []
  6. actions:
  7. - sign_set_line=line3:{Переменная:} loc:world,-49.0,67.0,417.0,0.0,0.0
  8. - sign_set_line=line2:%var:vartest% loc:world,-49.0,67.0,417.0,0.0,0.0
  9. - sign_set_line=line3:{Время:} loc:world,-49.0,67.0,417.0,0.0,0.0
  10. - sign_set_line=line4:%time_server:HH:mm:SS% loc:world,-49.0,67.0,417.0,0.0,0.0
  11. reactions: []
Вообще сигн сет лайн отказывается работать. Что бы я не делал, куда бы я его не пихал - вообще ни в какую. Не знаю с чем это может быть связано... Это жутко бесит, потому что это КРАЙНЕ нужная мне функция, в общем вот мой код, вроде как все верно, триста раз все переписывал - не помогает вообще. Кстати, если это вдруг играет значение - у меня 0.9.2 версия плагина, в версиях выше отказываются работать телепорты.
Код:
  Бизнес1Слот1:
    command: cmd:biz arg1:1 arg2:slot1 arg3:*
    flags:
    - VAR_COMPARE=biz001/%player%
    actions:
    - var_set=id:biz001s1 value:%arg3%
    - 'message=&e[biz]Вы установили цену. Теперь она составляет: %var:biz001s1%$'
    - 'sign_set_line=world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %var:biz001s1%'
    reactions:
    - message=&eВы не владеете этим бизнесом.
p.s. кстати, не мешало бы обновить описание флагов, активаторов и прочего на bukkit dev, насколько я понял, там процентов 40 из всего существующего, а чтобы узнать все, нужно шурудить всю эту тему, а это напряжно.
 
Вообще сигн сет лайн отказывается работать. Что бы я не делал, куда бы я его не пихал - вообще ни в какую. Не знаю с чем это может быть связано... Это жутко бесит, потому что это КРАЙНЕ нужная мне функция, в общем вот мой код, вроде как все верно, триста раз все переписывал - не помогает вообще. Кстати, если это вдруг играет значение - у меня 0.9.2 версия плагина, в версиях выше отказываются работать телепорты.
Код:
  Бизнес1Слот1:
    command: cmd:biz arg1:1 arg2:slot1 arg3:*
    flags:
    - VAR_COMPARE=biz001/%player%
    actions:
    - var_set=id:biz001s1 value:%arg3%
    - 'message=&e[biz]Вы установили цену. Теперь она составляет: %var:biz001s1%$'
    - 'sign_set_line=world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %var:biz001s1%'
    reactions:
    - message=&eВы не владеете этим бизнесом.
p.s. кстати, не мешало бы обновить описание флагов, активаторов и прочего на bukkit dev, насколько я понял, там процентов 40 из всего существующего, а чтобы узнать все, нужно шурудить всю эту тему, а это напряжно.

У Вас в SIGN_SET_LINE не указан параметр loc. Т.е. ReActions не знает о какой табличке идёт речь и пропускает её. Надо так:

sign_set_line=loc:world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %var:biz001s1%


То что касается телепортов, то это очень странно. Код действия телепортации не менялся очень давно. Последнее, что я сделал - это учел возможность того, что ряд активаторов может срабатываться в результате телепортации (например телепортация в регион) и в этом случае нужно работать с событием телепортации (и меня пункт приземления), а не вызывать телепорт внутри телепорта.

Покажите активатор, который там у Вас не работает и в каком случае это происходит.
По поводу документации. К сожалению, от её наполнения я получаю меньше радости, чем от написания плагинов - вот и результат. При этом, средства предоставляемые BukkitDev очень неудобны для создания документации большого объема.
Я решил сделать всё на основе chm файла и у меня уже есть процентов на 90 законченный английский вариант.
Надеюсь когда-то это будет 100% и я смогу приступить к русскому варианту.

https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.chm
 
Вставил "loc:" - не помогло. Вообще не врубаюсь в чем проблема %_%
Вот такая шняга происходит, когда активатор юзаю upload_2015-5-2_20-30-58.png
Попробывал сменить версию майна с 1.5.2 до 1.6.4. заработало! с: Только вот не хочет переменную ставить...А это беда, потому что проблему мою это, считайте, не решило... пишу так:
Код:
    - 'sign_set_line=loc:world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %arg3%$'
. Пишется только "Цена:" и все :с
Все, заработало. Добавил фигурные скобки. Ну что ж...Теперь придется обновлять всякое прочее дерьмо под версию 1.6.4, ничего не поделаешь. ReActions мне важнее, на нем весь сервер стоит)
Есть какая-то возможность выдавать случайное число? Мне вот к примеру надо, чтобы спавнилось 7-12 свиней и в переменную вписывалось также от 7 до 12 (одинаковые числа должны быть, крч).
Ахаха, уже сам нашел :D абсолютно на бум воткнул %random:7-12% и заработало :D
А вот с %CALC% реально проблемы. Нужно умножить переменную на 100 - но если использую этот %CALC% в мессадже или же непосредственно в нужном мне MONEY_GIVE - действие просто не производится, т.е. текст не выводится/деньги даже не пытаются перевестись
 
@MrStefanie2007

По поводу ошибки на скриншоте. Это ошибка присущая весрии 0.9.2. Исправлена, в последней её точно нет.
Суть в том, что там ошибочно подцепился класс от плагина PlayEffect, и если в системе он стоит, то ошибка себя не проявляет.

Тоже самое, касательно MONEY_GIVE - надо пробовать последнюю версию.
Ну и показывайте конкретные примеры. Я тоже буду пробовать - вдруг ещё какой-то нюанс вылезет.
 
@fromgate, можете назвать примерное время интенсивного продолжения работы над плагином? Больше волнуют фиксы, которые в тикетах, чем обновления...
 
@fromgate, можете назвать примерное время интенсивного продолжения работы над плагином? Больше волнуют фиксы, которые в тикетах, чем обновления...

Ну самое главное и ленивое я сделал - на днях обновил FakePlayersOnline. Сейчас как раз сосредоточился на ReActions. Точнее на функции, которая будет полезна и в нём и одном из моих будущих плагинов.
Это касается возможности "сохранения" предметов. Т.е. можно будет вполне взять предмет в руках и сохранить его в переменную. А потом восстановить или выдать копию другому игроку.

Параллельно буду смотреть на сообщения в тикетах на DBO и выкладывать обновления сюда. Первое на очереди - перепроверить модуль разбора координат.
 
Назад
Верх