- Баллы
- 173
- Имя в Minecraft
- fromgate
@Jeff_Michael по моему я знаю в чём причина. Постараюсь исправить.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Был бы очень признателен Вам.@Jeff_Michael по моему я знаю в чём причина. Постараюсь исправить.
Я бы сделал так:Парни, как ограничить команду give?
Что бы у опр. группы, эта команда могла выполняться раз в 5 минут?
COMMAND:
give_perm:
override: true
regex: false
command: give
flags:
- PERM=give.delay
actions:
- CANCEL_EVENT=true
- EXECUTE=activator:give_delay
EXEC:
give_delay:
flags:
- DELAY_PLAYER=id:give_delay
actions:
- CMD=give %arg1% %arg2% %arg3% %arg4% %arg5% %arg6% %arg7% %arg8% %arg9% %arg10%
- DELAY_PLAYER=id:give_delay time:5m
reactions:
- CANCEL_EVENT=true
- 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
Ой, спасибо тебе огромное! Сейчас чекним..Был бы очень признателен Вам.
Я бы сделал так:
Код:COMMAND: give_perm: override: true regex: false command: give flags: - PERM=give.delay actions: - CANCEL_EVENT=true - EXECUTE=activator:give_delay EXEC: give_delay: flags: - DELAY_PLAYER=id:give_delay actions: - CMD=give %arg1% %arg2% %arg3% %arg4% %arg5% %arg6% %arg7% %arg8% %arg9% %arg10% - DELAY_PLAYER=id:give_delay time:5m reactions: - CANCEL_EVENT=true - 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
Выдаёте все права для ввода команды /give и пользователь может вводить команду сколько угодно, выдаёшь к этому набору ещё и пермы give.delay и тогда пользователь сможет вводить команду лишь через каждые 5 минут.
Если надо именно группе присвоить данную функцию, то меняете флаг PERM=give.delay на флаг GROUP=НазваниеГруппы
Хм... При вводе команды /give Angelock 264 64 или /give 264 64 в ответ - "Неизвестное название предмета %arg2%Был бы очень признателен Вам.
Я бы сделал так:
Код:COMMAND: give_perm: override: true regex: false command: give flags: - PERM=give.delay actions: - CANCEL_EVENT=true - EXECUTE=activator:give_delay EXEC: give_delay: flags: - DELAY_PLAYER=id:give_delay actions: - CMD=give %arg1% %arg2% %arg3% %arg4% %arg5% %arg6% %arg7% %arg8% %arg9% %arg10% - DELAY_PLAYER=id:give_delay time:5m reactions: - CANCEL_EVENT=true - 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
Выдаёте все права для ввода команды /give и пользователь может вводить команду сколько угодно, выдаёшь к этому набору ещё и пермы give.delay и тогда пользователь сможет вводить команду лишь через каждые 5 минут.
Если надо именно группе присвоить данную функцию, то меняете флаг PERM=give.delay на флаг GROUP=НазваниеГруппы
Нашел проблему, кажется (но не решил). В логе сервера пишетУ меня всё отлично работает. Спавню свина через essentials /spawnmob pig 1
[21:43:58 ERROR]: Could not pass event MobKillEvent to ReActions v0.10.1
[21:43:58 ERROR]: Could not pass event MobKillEvent to ReActions v0.10.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit188.jar:git-Bukkit-efe04b8]
at me.fromgate.reactions.event.EventManager.raiseMobKillEvent(EventManager.java:112) [ReActions.jar:?]
at me.fromgate.reactions.RAListener.onDropLoot(RAListener.java:238) [ReActions.jar:?]
at sun.reflect.GeneratedMethodAccessor349.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.aufdemrand.sentry.SentryInstance.die(SentryInstance.java:556) [Sentry.jar:?]
at net.aufdemrand.sentry.SentryInstance.onDamage(SentryInstance.java:1232) [Sentry.jar:?]
at net.aufdemrand.sentry.SentryListener.onDamage(SentryListener.java:270) [Sentry.jar:?]
at sun.reflect.GeneratedMethodAccessor88.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEvent(CraftEventFactory.java:86) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:536) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:449) [craftbukkit188.jar:git-Bukkit-efe04b8]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:568) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.EntityLiving.d(EntityLiving.java:1092) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.EntityHuman.d(EntityHuman.java:853) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.java:733) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.EntityHuman.damageEntity(EntityHuman.java:794) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.EntityPlayer.damageEntity(EntityPlayer.java:481) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.citizensnpcs.npc.entity.EntityHumanNPC.damageEntity(EntityHumanNPC.java:106) [Citizens.jar:?]
at net.minecraft.server.v1_8_R3.EntityHuman.attack(EntityHuman.java:995) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.EntityPlayer.attack(EntityPlayer.java:1048) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1289) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.PacketPlayInUseEntity.a(SourceFile:52) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.PacketPlayInUseEntity.a(SourceFile:11) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit188.jar:git-Bukkit-efe04b8]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_60]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_60]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:673) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:335) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:629) [craftbukkit188.jar:git-Bukkit-efe04b8]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:537) [craftbukkit188.jar:git-Bukkit-efe04b8]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_60]
Caused by: java.lang.NullPointerException
at me.fromgate.reactions.actions.ActionItems.dropItems(ActionItems.java:324) ~[?:?]
at me.fromgate.reactions.actions.ActionItems.execute(ActionItems.java:65) ~[?:?]
at me.fromgate.reactions.actions.Action.executeAction(Action.java:66) ~[?:?]
at me.fromgate.reactions.actions.Actions.performAction(Actions.java:185) ~[?:?]
at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:176) ~[?:?]
at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:154) ~[?:?]
at me.fromgate.reactions.activators.MobKillActivator.activate(MobKillActivator.java:75) ~[?:?]
at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:231) ~[?:?]
at me.fromgate.reactions.activators.Activators.activate(Activators.java:330) ~[?:?]
at me.fromgate.reactions.RAListener.onMobKillActivator(RAListener.java:509) ~[?:?]
at sun.reflect.GeneratedMethodAccessor350.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[craftbukkit188.jar:git-Bukkit-efe04b8]
... 46 more
попробуй так:Хм... При вводе команды /give Angelock 264 64 или /give 264 64 в ответ - "Неизвестное название предмета %arg2%
COMMAND:
give_perm:
override: true
regex: false
command: cmd:give arg1:* arg2:* arg3:*
flags:
- PERM=give.delay
actions:
- CANCEL_EVENT=true
- EXECUTE=activator:give_delay
EXEC:
give_delay:
flags:
- DELAY_PLAYER=id:give_delay
actions:
- CMD=give %arg1% %arg2% %arg3%
- DELAY_PLAYER=id:give_delay time:5m
reactions:
- CANCEL_EVENT=true
- 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
Был бы очень признателен Вам.
Не помогает.... Теперь команда /give Angelock 264 бесконечно, а команда /give Angelock 264 64 вылазиет тоже сообщение что и выше описанное.попробуй так:
Код:COMMAND: give_perm: override: true regex: false command: cmd:give arg1:* arg2:* arg3:* flags: - PERM=give.delay actions: - CANCEL_EVENT=true - EXECUTE=activator:give_delay EXEC: give_delay: flags: - DELAY_PLAYER=id:give_delay actions: - CMD=give %arg1% %arg2% %arg3% - DELAY_PLAYER=id:give_delay time:5m reactions: - CANCEL_EVENT=true - 'MESSAGE=&6До следующего использования команды осталось: &e%delay-left-mm%мин. %delay-left-ss%сек.'
Писать код я тебе не буду, долго по времени, но если разбираешься в ReActions, то я думаю проблем не составитЕсть задумка - сделать миниигру, в которой будет 2 команды, и у одной команды (команда №2) будет король. Вообщем, суть вопроса - каждому игроку (кроме короля) даётся 3 жизни, и нужно сделать так, чтобы после трёх смертей игрока кикало (простите, если неправильно написал). А также чтобы всю команду №2 убивало, если король умирал. Так вот, как это всё организовать с помощью плагина ReActions?
Помогите пожалуйста.
Очень давно заметил, что в реакшнс есть проблема с плейсхолдерами. Я изобрел "костыль", но костыль есть костыль - сколько версий не ставил, время от времени проблема проскальзывает и приходится дописывать код. Как я решил - юзать переменные.Возникла проблема с WAIT. В активаторе вся её суть:
При написании в чат "T T 3" выводит:Код:MESSAGE: TT: mask: T T type: START source: CHAT_INPUT actions: - MESSAGE=%word3% - WAIT=2s - MESSAGE=%word3%
3
%word3%
MESSAGE:
TT:
mask: T T
type: START
source: CHAT_INPUT
actions:
- VAR_PLAYER_SET=id:ph_word3 value:{%word3%}
- MESSAGE=%varp:ph_word3%
- WAIT=2s
- MESSAGE=%varp:ph_word3%
Спасибо больше, а как насчёт короля?Писать код я тебе не буду, долго по времени, но если разбираешься в ReActions, то я думаю проблем не составит
Делай все через переменные - в начале игры дается 3 жизни, при смерти игрока переменная, допустим game_health, будет уменьшаться на 1. Также при смерти сделай флаг VAR_PLAYER_GREATER - сравнивай с числом 0.
+Если будет больше 0, то actions: var_player_dec id:game_health value:0, и tp к месту событий (только тут загвоздка, тп вроде бы не работает, пока игрок мертв, с этим не знаю че сделать, пока ниче не надумал).
-Если будет равно 0, то reactions - cmd kick %player%, плюс незабывай перед киком тпшнуть игрока куда-нибудь на выход, чтобы он на арене или где там у тебя не оставался. И немаловажно стереть все переменные.
Спасибо! Проблема устранена.Попробуйте последний билд, вроде починил.
https://circleci.com/gh/Redolith/ReActions/125
Странно, но у меня всё работает. Использую REA v.0.10.1 и spigot 1.12-R0.1-snapshot (последний билд)Хм... При вводе команды /give Angelock 264 64 или /give 264 64 в ответ - "Неизвестное название предмета %arg2%
Записываешь в переменную ники каждого игрока, состоящего в команде короля и при смерти короля убиваешь игроков, ники которых берутся из переменной.Спасибо больше, а как насчёт короля?
Это глупо - перед началом каждой игры вписывать ники раждого игрока команды №2Записываешь в переменную ники каждого игрока, состоящего в команде короля и при смерти короля убиваешь игроков, ники которых берутся из переменной.