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

@fromgate, ITEM_UNWEAR не работает вообще:
Код:
  Test-Command:
    override: true
    regex: false
    command: cmd:test
    flags: []
    actions:
    - cancel_event=true
    - ITEM_UNWEAR=slot:slot:helmet item-action:drop
    - ITEM_UNWEAR=slot:slot:chestplate item-action:drop
    - ITEM_UNWEAR=slot:slot:leggins item-action:drop
    - ITEM_UNWEAR=slot:slot:boots item-action:drop
    - message=+
    reactions: []
И одно действие со slot:auto тоже не работает. Надел сет алмазки - ничего с ней не происходит.
 
@Lyosha12
slot:slot - зачем? slot:helmet и т.д. Это у меня где написано так? Надо исправлять.

Перезалил девбилд http://adf.ly/1K0nlW
0.9.5/12
Поработал с селектором игроков и действием MESSAGE.
Теперь должно работать как надо. Раньше, кстати, селектор работал, но в MESSAGE не работала конструкция
player:{region: и т.п}
Сейчас работает и так и так. Т.е. можно просто писать MESSAGE region:xxx и MESSAGE player:{region:xxx}

Группы и пермишены тоже можно перечислять через запятую.

Да. И ещё раньше если не находился ни один игрок - добавлялся текущий. Сейчас этого нет.
 
Упс. Спасибо, посмотрим.
Да, мой недосмотр. Работает хорошо:
Код:
    - ITEM_UNWEAR=slot:helmet item-action:drop
    - ITEM_UNWEAR=slot:chestplate item-action:drop
    - ITEM_UNWEAR=slot:leggins item-action:drop
    - ITEM_UNWEAR=slot:boots item-action:drop

Но что делает аргумент auto? Указывал - результата ноль:
Код:
    - ITEM_UNWEAR=slot:auto item-action:undress

Группы и пермишены тоже можно перечислять через запятую.
Инверсия в селекторе работает?
 
@Lyosha12
auto - это если нужно снять какой-то предмет, в любом слоте. Теоретически можно любой предмет запихнуть в любой слот. Тогда нужно указать item:<> - какой предмет снимаем, slot:auto (или вообще не указывать) и этот предмет будет искаться в любом слоте.

Инверсию для селектора я ещё не придумал ;)
Кстати, сообщение об ошибке пропало?
 
Я тут подумал: если есть возможность указать вероятность выдачи предмета, то как обрадовать других (то есть огорчить, что не они получили эксклюзив :D)? Можете ли припилить действие MESSAGE или BroadCast? :D
Конечно, можно выдавать контрольный предмет и через EXEC искать его, удалять... Но хочется же быстро :D
Кстати, сообщение об ошибке пропало?
Да, ещё раз спасибо. Новую подверсию 12 поставлю ночью, когда игроки уйдут.
 
Я тут подумал: если есть возможность указать вероятность выдачи предмета, то как обрадовать других (то есть огорчить, что не они получили эксклюзив :D)? Можете ли припилить действие MESSAGE или BroadCast? :D
Конечно, можно выдавать контрольный предмет и через EXEC искать его, удалять... Но хочется же быстро :D

Да, ещё раз спасибо. Новую подверсию 12 поставлю ночью, когда игроки уйдут.

Ну у всех действий есть временная переменная %item_str% - она содержит "текстовое" описание предмета (если у предмета есть название - то это название предмета + количество, если название нет - то тип предмета). Правда все навороченности (энчанты и т.п.) не отображаются.
 
@fromgate, поставил подверсию 12 - "всё" перестало работать без ошибок: телепорты в локации, сообщения, действие ITEM_UNWEAR...
Хотя нет... Команда не работает, в которой снятие предмета... Таймер его снимает так же исправно, но ни одно сообщение не отправляется.
@fromgate, а когда будет активатор обычной смерти игрока, саму смерть можно будет отменить, чтобы она не зачлась в ScoreboardStats, например?
@fromgate, ещё хочу попросить, чтобы Вы не замещали побочные версии. А то хотел сменить обратно на 11 - а ссылка та же, что и на 12. Спасла только корзина :(
 
@lyosha
Точно сервер перезагружался?

По активатору на смерть добавить попробую, но вот событие смерти отменить не поучится. Считать будет все равно
 
Перезагружал для установки 12. Для 11 поскупился перезагрузкой и нормально обратно встал. Видимо, PlugMan хорошо справляется с работой.
 
@Lyosha12
из-за него вылезают подобные непонятки:
@fromgate, опять ошибка забила лог на 110 метров:
Код:
2015-07-06 07:24:07 [SEVERE] Could not pass event EntityDamageByEntityEvent to ReActions v0.9.5/9
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
    at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEvent(CraftEventFactory.java:94)
    at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:398)
    at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:423)
    at net.minecraft.server.v1_5_R3.EntityLiving.damageEntity(EntityLiving.java:691)
    at net.minecraft.server.v1_5_R3.EntityAnimal.damageEntity(SourceFile:119)
    at net.minecraft.server.v1_5_R3.EntityHuman.attack(EntityHuman.java:874)
    at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:1124)
    at net.minecraft.server.v1_5_R3.Packet7UseEntity.handle(SourceFile:36)
    at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:215)
    at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:115)
    at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35)
    at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnection.java:72)
    at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:583)
    at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227)
    at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472)
    at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404)
    at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.NoSuchMethodError: org.bukkit.event.entity.EntityDamageEvent.setDamage(D)V
    at me.fromgate.reactions.event.EventManager.raiseMobDamageEvent(EventManager.java:431)
    at me.fromgate.reactions.RAListener.onMobDamageByPlayer(RAListener.java:247)
    at sun.reflect.GeneratedMethodAccessor646.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
    ... 21 more

В версии 0.9.5/9 была исправлена ошибка которая приводит к этому сообщению. Она осталась именно благодаря том, что не было произведено нормальной загрузки плагина. Фактиески использовался соответствующий класс (и наверняка не один) от старой версии.
0.9.5/13
http://adf.ly/1K0nlW
Переработана работа с селектором игроков (снова). Нужно для будущих свершений ;)
 
@fromgate, я немного подзабыл команду установки переменной, а в документации нету...
/ra set var id:... player:... а значение как? Если пишу value:..., то вместо указанного мною устанавливается пустота...
 
@fromgate, 0.9.5/14:
upload_2015-7-8_1-2-47.png
И не телепортирует в локации
Код:
    - TP=loc:Dropper-%CALC:%varp:Dropper-LVL%+1%
Специально перезагрузил!
Ааа... параметр так и называется "наклон"? http://reactions.fromgate.ru/sound.htm
- SOUND=sound:BAT_LOOP volume:3 pitch:1 loc:%PLAYER_LOC% - звук раздатчика. И так со всеми звуками. Что я не так делаю?
 
Аааа! Снова плейсхолдеры!
Исправил.
http://adf.ly/1K0nlW

По поводу звука - ошибка в документации, должно быть "type:" вместо "sound:". Тоже исправил.
 
как можно проверить сколько игроков в регионе?
 
как можно проверить сколько игроков в регионе?
Флаг REGION_PLAYERS


Обновление:
0.9.5/16
- Активатор PVP_DEATH - теперь поддерживает "причину смерти". Сам активатор переименован и называется PLAYER_DEATH (по идее должна отработать замена, в крайнем случае придётся переименовать).
Поддерживаются следующие значения для определения причины: PVP (от рук игрока), PVE (от рук моба), OTHER (от других причин) и... ANY (любая из этих трёх).
В файле это отражается в виде параметра "death-cause".
Если причина смерти - PVE или PVP, то в активаторе создаются временные плейсхолдеры: %killer-type% и %killer-name%

У кого есть возможность - просьба проверить, чтобы какие-то недосмотры не проникли в релиз.
 
как всегда обращаюсь за помощью, я опять накосячил
reg:
world: world
x: 1439
y: 67
z: -635
flags:
- DELAY_PLAYER=id:reg [player:%PLAYER_NAME%] [set-time:3d]
actions:
- SIGN_SET_LINE=loc:world,1438,68,-643 line4:%PLAYER_NAME%
- DELAY_PLAYER=reg time:3d player
reactions:
- MESSAGE=&6Ты уже зарегистрировался!
На табличке ничего не появляется и с кулдауном проблемы
 
Хелп, плз! Некоторые активаторы почему-то создают (да используют) разные варианты персональных переменных - с регистром и без! Может можно (я надеюсь) где-то в настройках это отключить? Потому что по какому принципу именно та или иная переменная относится фактически к разным игрокам - не ясно.
bandicam 2015-07-08 14-18-19-275.png (на скрине отображается мой ник с учетом регистра и без (MrStefanie и mrstefanie)

Когда-то поддерживались только целые числа, но я столкнулся с тем, что всё же периодически возникает потребность в дробных переменных.
да, кстати, забыл написать - там не только в этом соль. Вот у меня команда /biz buyprod - закупить продукты. Если закупать 0.1 - то к общему количеству продуктов все равно прибавится 1. То бишь ".0" остается всегда, дробные к нему не прибавляются при помощи var_inc
На табличке ничего не появляется и с кулдауном проблемы
попробуй так:
Код:
reg:
world: world
x: 1439
y: 67
z: -635
flags:
- DELAY_PLAYER=id:reg player:%PLAYER_NAME% set-time:3d
actions:
- 'SIGN_SET_LINE=loc:world,1438,68,-643 line4:{%PLAYER_NAME%}'
- DELAY_PLAYER=id:reg time:3d
reactions:
- MESSAGE=&6Ты уже зарегистрировался!
И перепроверь координаты таблички в "SIGN_SET_LINE" а то я как-то тоже себе всю голову сломал, а оказалось в X на 1 ошибся :D
И кстати просмотрел - в флаге лучше убрать "set-time", так как есть действие "DELAY_PLAYER".
подробнее о моей проблеме - действие VAR_SET/VAR_INC записывают переменные в ник без регистра(в моей случае "mrstefanie"), а плейсхолдер %varp:% берёт данные из ника с регистром (MrStefanie).Вот пример моих активаторов (я выкинул все лишнее и оставил самое главное):
Код:
  test:
    actions:
    - 'VAR_PLAYER_SET=id:hoteltext value:{Комната #1}'
    - 'VAR_PLAYER_SET=id:hoteldaytext value:{1}'
  Hotel:
    command: cmd:hotel
    flags:
    - '!var_player_compare=hotel/Нет'
    actions:
    - 'message=&6Отель - %varp:hoteltext%'
    - 'message=&6Дней оплачено: &3%varp:hoteldaytext%'
    reactions:
    - 'message=&6Отель - вы не снимаете номер.'
В чате при прописывании команды выдает %varp:hoteltext% и %varp:hoteldaytext% в открытом виде, потому что таких переменных у ника "MrStefanie" нет, однако у "mrstefanie" есть.Жуть какая-то...
 
Назад
Верх