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

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

@fromgate, есть предложение по улучшению действия MESSAGE. Т.е. не совсем улучшения, а добавления новых действий: MSGACT - показывать выбранное сообщение в Action Bar'е. MSGTITLE - показывать сообщение в Title. (с параметром SubTitle, разумеется.). В общем, всё.
 
@fromgate, есть предложение по улучшению действия MESSAGE. Т.е. не совсем улучшения, а добавления новых действий: MSGACT - показывать выбранное сообщение в Action Bar'е. MSGTITLE - показывать сообщение в Title. (с параметром SubTitle, разумеется.). В общем, всё.

Будет. Но когда - пока не знаю.
 
@fromgate, есть предложение по улучшению действия MESSAGE. Т.е. не совсем улучшения, а добавления новых действий: MSGACT - показывать выбранное сообщение в Action Bar'е. MSGTITLE - показывать сообщение в Title. (с параметром SubTitle, разумеется.). В общем, всё.
Пока что можно заменить командами. Сам текст можно создать здесь: https://www.minecraftjson.com/
 
Опять вылезла эта ошибка:
Код:
[17:12:51 ERROR]: Could not pass event PlayerJoinEvent to ReActions v0.9.9/4
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[server11358.jar:git-Spigot-db6de12-3f3c65f]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server11358.jar:git-Spigot-db6de12-3f3c65f]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.PlayerList.onPlayerJoin(PlayerList.java:298) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.PlayerList.a(PlayerList.java:157) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.LoginListener.b(LoginListener.java:144) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.LoginListener.c(LoginListener.java:54) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:231) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.ServerConnection.c(ServerConnection.java:148) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:814) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [server11358.jar:git-Spigot-db6de12-3f3c65f]
        at java.lang.Thread.run(Unknown Source) [?:1.7.0_67]
Caused by: java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:839) ~[?:1.7.0_67]
        at java.util.HashMap$KeyIterator.next(HashMap.java:874) ~[?:1.7.0_67]
        at me.fromgate.reactions.util.waiter.ActionsWaiter.refresh(ActionsWaiter.java:77) ~[?:?]
        at me.fromgate.reactions.RAListener.onPlayerJoin(RAListener.java:323) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_67]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_67]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_67]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_67]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[server11358.jar:git-Spigot-db6de12-3f3c65f]
        ... 14 more
>
[17:12:51 INFO]: XX_Max_XX[/93.79.218.158:27225] logged in with entity id 30666 at ([middle]37624.0341855228, 79.0, -38418.317706293186)
>
 
Привет, как сделать так, что бы NPC выдавали рандомные сообщения?
Код:
 message:%RANDOM:{Привет, я - Стражник}, 123%
Не работает. Выдает такое: "{Привет" / " я - Стражник}" / "123"
Нужно что бы целую фразу выдавал. Что не так?
 
День добрый :-)
Ребят, кто пользуется флагом regon_member для проверки состоит игрок в регионе или нет?
Вылетает ошибка в консоль при этом флаге, пробывал разные версии WG6+, работал только на WG5.9...

ядро spigot: последний билд 1.8.8
worldguard: 6.1.2-1652
worldedit: 6.1.1-3459

Код:
[22:10:36] [Server thread/ERROR]: Could not pass event RegionEvent to ReActions v0.9.9
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at me.fromgate.reactions.event.EventManager.setFutureRegionCheck(EventManager.java:336) [ReActions.jar:?]
    at me.fromgate.reactions.event.EventManager.access$3(EventManager.java:325) [ReActions.jar:?]
    at me.fromgate.reactions.event.EventManager$4.run(EventManager.java:341) [ReActions.jar:?]
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_73]
Caused by: java.lang.NoSuchMethodError: com.sk89q.worldguard.LocalPlayer.getAssociation(Lcom/sk89q/worldguard/protection/regions/ProtectedRegion;)Lcom/sk89q/worldguard/domains/Association;
    at me.fromgate.reactions.module.wgbridge.WGBridge6x.isPlayerIsMember(WGBridge6x.java:159) ~[?:?]
    at me.fromgate.reactions.externals.RAWorldGuard.isPlayerIsMember(RAWorldGuard.java:132) ~[?:?]
    at me.fromgate.reactions.flags.FlagRegion.checkFlag(FlagRegion.java:44) ~[?:?]
    at me.fromgate.reactions.flags.Flags.check(Flags.java:111) ~[?:?]
    at me.fromgate.reactions.flags.Flags.checkFlag(Flags.java:137) ~[?:?]
    at me.fromgate.reactions.flags.Flags.checkAllFlags(Flags.java:151) ~[?:?]
    at me.fromgate.reactions.flags.Flags.checkFlags(Flags.java:143) ~[?:?]
    at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:144) ~[?:?]
    at me.fromgate.reactions.activators.RegionActivator.activate(RegionActivator.java:62) ~[?:?]
    at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:230) ~[?:?]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:288) ~[?:?]
    at me.fromgate.reactions.RAListener.onRegion(RAListener.java:394) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor68.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_73]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_73]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[vanilla.jar:git-Spigot-e4d4710-e1ebe52]
    ... 13 more

Сам активатор:
Код:
REGION:
  qqq:
    region: world.test
    flags:
    - REGION_MEMBER=world.test
    actions:
    - MESSAGE=test region member
 
@fromgate, пожалуйста, адаптируйте версию под 1.9! Лог заполняется неумолимо быстро и разрастается до мегабайтов! Без Вашего плагина мне жизнь совсем не мила :(
Код:
12.03 01:58:53 [Server] INFO ... 3 more
12.03 01:58:53 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
12.03 01:58:53 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftTask.run(CraftTask.java:71)
12.03 01:58:53 [Server] INFO at me.fromgate.reactions.MetricsLite$1.run(MetricsLite.java:173)
12.03 01:58:53 [Server] INFO at me.fromgate.reactions.MetricsLite.access$3(MetricsLite.java:278)
12.03 01:58:53 [Server] INFO at me.fromgate.reactions.MetricsLite.postPlugin(MetricsLite.java:285)
12.03 01:58:53 [Server] INFO Caused by: java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
12.03 01:58:53 [Server] INFO at java.lang.Thread.run(Thread.java:745)
12.03 01:58:53 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
12.03 01:58:53 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
12.03 01:58:53 [Server] INFO at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
12.03 01:58:53 [Server] WARN org.apache.commons.lang.UnhandledException: Plugin ReActions v0.9.9 generated an exception while executing task 525
12.03 01:58:53 [Server] WARN Exception in thread "Craft Scheduler Thread - 17"
Код:
[02:49:45] [Craft Scheduler Thread - 96/INFO]: [AuthMe] Traktor logged in!
[02:49:54] [Server thread/INFO]: Lyosha12 issued server command: /BAN Traktor Test 12 13 14
[02:49:54] [Server thread/ERROR]: Could not pass event ExecEvent to ReActions v0.9.9
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at me.fromgate.reactions.event.EventManager$1.run(EventManager.java:255) [ReActions.jar:?]
    at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftTask.run(CraftTask.java:71) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:729) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
    at java.lang.Thread.run(Thread.java:745) [?:1.7.0_80]
Caused by: java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
    at me.fromgate.reactions.actions.ActionBroadcast.execute(ActionBroadcast.java:33) ~[?:?]
    at me.fromgate.reactions.actions.Action.executeAction(Action.java:73) ~[?:?]
    at me.fromgate.reactions.actions.Actions.performAction(Actions.java:182) ~[?:?]
    at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:176) ~[?:?]
    at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:147) ~[?:?]
    at me.fromgate.reactions.activators.ExecActivator.activate(ExecActivator.java:28) ~[?:?]
    at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:230) ~[?:?]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:288) ~[?:?]
    at me.fromgate.reactions.RAListener.onRegionLeave(RAListener.java:410) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_80]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_80]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_80]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_80]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[custom_server.jar:git-Spigot-b1c1b55-7d73fbb]
Код:
COMMAND:
  Ban:
    override: true
    regex: true
    command: (?i)(ban \S+ .+)
    flags:
    - PERM=essentials.ban
    actions:
    - cancel_event=true
    - VAR_SET=id:Ban_NickAdm value:%player%
    - VAR_SET=id:Ban_NickPlr value:%arg1%
    - VAR_SET=id:Ban_Reason value:{%args1%}
    - execute=activator:EXEC_Ban player:%var:Ban_NickPlr%
EXEC:
  EXEC_Ban:
    actions:
    - broadcast=&c&l➡ &b%var:Ban_Reason% &eзабанил &a%var:Ban_NickPlr% &bна %varp:%arg1%%ч
    - broadcast=&c&l➡ &eПричина:&c %var:Ban_Reason%
 
Последнее редактирование:
Обязательно адаптирую, планирую заняться сегодня... Но....
 
@Lyosha12
Поможете мне? Выше написал что нужно... Спасибо.
 
@Lyosha12
Поможете мне? Выше написал что нужно... Спасибо.
Но Вы же сами определили ошибку. Если где-то работает, а где-то нет, то это уже версия сопутствующего плагина виновата, а не ReActions.
Привет, как сделать так, что бы NPC выдавали рандомные сообщения?
Код:
 message:%RANDOM:{Привет, я - Стражник}, 123%
Не работает. Выдает такое: "{Привет" / " я - Стражник}" / "123"
Нужно что бы целую фразу выдавал. Что не так?
Можно сделать рандомизацию из переменных. Загнать нужные фразы в них и в выдаче их игроку поступить так:
- MESSAGE=%var:NPC-Text-%random:1-30%%
 
Помогите решить проблему.

Вот мой активатор:

COMMAND:
'1':
override: true
regex: false
command: test
flags:
- ITEM_INVENTORY=type:EMERALD 1
actions:
- MESSAGE=&e+
reactions:
- MESSAGE=&c-

Вот мой итем: (mythicmobs)

Emerand:
Id: 388
Data:
Amount: 1
Display: '&6[Обмен] &2Изумруд'
Options:
HideFlags: true
Lore:
- '§6Описание:'
- §71
- §71
- §71

===================

Если в инвентаре есть обычный изумруд, то активатор работает.
Если в инвентаре изумруд от mythicmobs, то активатор не работает.
Даже если использую - ITEM_INVENTORY=type:EMERALD name:{&6[Валюта] &2Изумруд} и удаляю описание предмета (lore). Почему так?

Можно ли сделать так, чтобы он принял предмет с любым именем?
 
Последнее редактирование:
@Lyosha12
Не мог бы ты подкинуть каких-нибудь туториалов про var? А то я не очень понял, даже с документацией...
 
Помогите решить проблему.

Вот мой активатор:

COMMAND:
'1':
override: true
regex: false
command: test
flags:
- ITEM_INVENTORY=type:EMERALD 1
actions:
- MESSAGE=&e+
reactions:
- MESSAGE=&c-

Вот мой итем: (mythicmobs)

Emerand:
Id: 388
Data:
Amount: 1
Display: '&6[Обмен] &2Изумруд'
Options:
HideFlags: true
Lore:
- '§6Описание:'
- §71
- §71
- §71

===================

Если в инвентаре есть обычный изумруд, то активатор работает.
Если в инвентаре изумруд от mythicmobs, то активатор не работает.
Даже если использую - ITEM_INVENTORY=type:EMERALD name:{&6[Валюта] &2Изумруд} и удаляю описание предмета (lore). Почему так?

Можно ли сделать так, чтобы он принял предмет с любым именем?
name:.*
Если нужно - lore:.*
Должно работать
name:.*
Если нужно - lore:.*
Должно работать
Извиняюсь, но точно не помню. Если выше написанное работать не будет -
name:{.*}
lore:{.*}
Если и так не будет (хотя должно) - без .
name:{*}
 
@Lyosha12
Не мог бы ты подкинуть каких-нибудь туториалов про var? А то я не очень понял, даже с документацией...
Тоже долго сторонился переменных. Но в них нет ничего сложного. Они являются основой любого серьёзного кода. Переменные в ReActions могут хранить что угодно: строки или числа.

Чтобы записать что-то в переменную, нужно выполнить действие установки личной или глобальной переменной (VAR_SET или VAR_PLAYER_SET). В установке есть 2 параметра: id и value. Если id - это название переменной (id:Test, регистр не играет роли), то value - то, что будет хранить переменная. Если нужно хранить строку, а не значение, то поступают так: value:{несколько слов}. Если написать без фигурных скобок, то в переменную будет занесено только первое слово.

Например, если значение - это количество запусков активатора, то оно будет содержать число, которое будет увеличиваться при запуске аткиватора. Например, сделать это можно так: VAR_INC=id:Test. Такое действие будет увеличивать (инкрементировать, если на языке программистов) значение переменной. ReActions может делать это, даже если переменная ещё не создана. Начальное значение, как помню, - 1. Аналогично действует INC_DEC, только в обратную сторону - уменьшает на единицу.

Теперь, чтобы подставить значение переменной в текст, например, нужно написать так: %var:Test% - для глобальной переменной или %varp:Test% - для персональной.

К примеру, я хочу изменить поведение команды /ban в Essentials. Для этого я использовал бы 2 активатора:
Код:
COMMAND:
  Ban:
    override: true
    regex: true
    command: (?i)(ban \S+ .+)
    flags:
    - PERM=essentials.ban
    actions:
    - cancel_event=true
    - VAR_SET=id:Ban_NickAdm value:%player%
    - VAR_SET=id:Ban_NickPlr value:%arg1%
    - VAR_SET=id:Ban_Reason value:{%args1%}
    - execute=activator:EXEC_Ban player:%var:Ban_NickPlr%
EXEC:
  EXEC_Ban:
    actions:
    - broadcast=&c&l➡ &b%var:Ban_Reason% &eзабанил &a%var:Ban_NickPlr% &bна %varp:%arg1%%ч
    - broadcast=&c&l➡ &eПричина:&c %var:Ban_Reason%

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

Надеюсь, читать документацию по переменным в ReActions стало легче :)
 
@Lyosha12
Спасибо за такое объяснение! Не мог бы ты мне рассказать, что означает в command "(?i)(ban \S+ .+)"
и что означают активаторы в команде бан. А запутался чутка.
Не могу понять значения value и их %args%
 
name:.*
Если нужно - lore:.*
Должно работать

Извиняюсь, но точно не помню. Если выше написанное работать не будет -
name:{.*}
lore:{.*}
Если и так не будет (хотя должно) - без .
name:{*}


name:{.*}
lore:{.*}

Помоги еще, если можешь. Какой код, чтобы команда отправляла ник игрока? ( cmd {player} ban )
 
(?i)(ban \S+ .+) - регулярное выражение. Модификатор (?i) (или квантифер, если угодно) означает, что к следующей скобке будет применено игнорирование регистра английских букв. Это значит, что активатор будет реагировать как на /ban ..., так и на /bAn...

\S+ - составная конструкция. Означает "Не пробел в любом количестве, но хотя бы один".

.+ - аналогичная составная конструкция, что означает "далее могут идти любые символы, но должен присутствовать хотя бы один.

Слово ban и пробелы являются постоянными (константами). Пробел так же можно заменить конструкцией \s.

cancel_event - отменить введённую команду, чтобы игрока не забанило преждевременно. Далее я заношу в переменные то, что получил из команды, а потом вызываю EXEC для того игрока, которому хочу выдать бан (ник должен быть первым аргументом, после нулевого аргумента - самой команды).


%args% - означает, что ReActions подставит вместо этой конструкции всё, что находится после нулевого аргумента, не включая его. %args1% - значит, что будет подставлено всё, что находится после первого аргумента, не включая его самого.
 
@Lyosha12
Ужас. Для меня это не понятно, пока что >:3
Не мог бы ты привести пример конкретно для моей ситуации?
Игрок кликает по НПС и ему пишется 1 из 2 (или более) текстов с задержкой 5 секунд (анти спав, т.e DELAY=5s)
@Lyosha12
Кстати, залил я твой EXEC и COMMAND себе и попытался прописать: /ban test 1 причина
Ничего не сработало!
 
@Lyosha12
Ужас. Для меня это не понятно, пока что >:3
Не мог бы ты привести пример конкретно для моей ситуации?
Игрок кликает по НПС и ему пишется 1 из 2 (или более) текстов с задержкой 5 секунд (анти спав, т.e DELAY=5s)
Если я напишу прямой код, то Вы вряд ли будете в нём разбираться и поставите на сервер как чёрный ящик.
Чтобы это сделать Вам нужно использовать активатор MOB_CLICK с соответствующим типом, именем моба. Далее к нему Вы должны приписать единственное действие MESSAGE, в котором будет содержаться то, что я написал ранее - %var:Test-%random:1-30%%.

ReActions может обрабатывать плейсхолдеры в плейсхолдерах. Это значит, что сначала он подставит случайное число от одного до 30, а потом подставит значение глобальной переменной, которое соответствует имени, полученному ранее.

Делайте и пишите, если что-то не будет получаться. Всегда лучше прийти самому к решению - потом же будет понятнее.
Кстати, залил я твой EXEC и COMMAND себе и попытался прописать: /ban test 1 причина
Ничего не сработало!
Не сработало по тому, что в конце активатора COMMAND я вызываю EXEC относительно того, к кому применяется бан. Если игрока нет, то и активатор, соответственно, не будет вызван.
name:.*
Если нужно - lore:.*
Должно работать

Извиняюсь, но точно не помню. Если выше написанное работать не будет -
name:{.*}
lore:{.*}
Если и так не будет (хотя должно) - без .
name:{*}
Чтобы это работало, нужно параметру regex в описании предмета установить значение true.
 
Назад
Верх