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

Что точно должна обозначать N в плейсхолдер %groupNM% ??
с M всё понятно, это номер группы, на которые ты разделил свою регулярку. Но вот с N как-то не сростается. Если N по идее должна обозначать номер буквы в этой регулярке, тоесть
Вам необходимо просмотреть пример, который я недавно выкладывал. По идее, всё должно стать понятнее.
 
Вам необходимо просмотреть пример, который я недавно выкладывал. По идее, всё должно стать понятнее.
На это ушло 4 часа, но да. Осилил. Стало понятней.
Непонятно только как записывать, если случится такое что у тебя будет там... 15 порядков вхождения и 15 групп ??
%group1515%, что бы выбрать последнюю группу последнего порядка ??

P.S. мб стоит видо-модифицировать этот плейсхолдер, что б было интуитивно понятней? %group:N:M%
Может написать разработчику PH API что бы добавил ReActions в свой список плагинов, которые юзают это АПИ (+ предоставляют свае расширение) ? Будет дополнительный пиар...
 
build #116
  • Добавлено дополнение к действию FILE - копирование и перенос файлов.
  • FILE <action:[remove|copy|move]> <fileName> [fileNameTo]
  • Сейчас можно копировать и переносить файлы по одному.
  • Если директория назначения файла не существует, то она создаться автоматически
Код:
EXEC:
  copy:
    actions:
    - file=action:copy fileName:{/test/1/3/1.txt} fileNameTo:{/test/1/4/5/1.txt}
  move:
    actions:
    - file=action:move fileName:{/test/1/3/1.txt} fileNameTo:{/test/1/4/5/2.txt}

-------------------------
Такой формат уже можно применять, а также и такой: %group_N_M%
 
Последнее редактирование:
  • Добавлено дополнение к действию FILE - копирование и перенос файлов.
  • FILE <action:[remove|copy|move]> <fileName> [fileNameTo]
  • Сейчас можно копировать и переносить файлы по одному.
  • Если директория назначения файла не существует, то она создаться автоматически

А не планируется возможность коннекта РеАкшнс с каким-либо облаком (например ГуглДиск, DropBox...) что б была возможность сейвить туда бекапы ?
Есть ли способ сделать вывод значения плейсхолдера конкретной переменной видимым только игрокам, обладающим конкретным правом ?
 
Последнее редактирование:
Использую активатор 'MOB_KILL', с его помощью добавляю новый дроп для мобов ('ITEM_DROP'). Проблема в том, что это работает и для мобов из MythicMobs (далее MM). Можно ли добавить поддержку этого плагина? Что-то вроде этого:
Будет ли работать для мобов из MM:
Код:
MOB_KILL: (+ MOB_DAMAGE)
  Mob_1:
    mythic-mobs: true/false
Проверка флагом типа моба из MM:
Код:
    flags:
    - MYTHIC_MOB=Ghost (название моба из MM)
Можно и в активаторы добавить поддержку:
Код:
    actions:
    - MOB_SPAWN=mythic-mob:Ghost
    - ITEM_DROP=mythic-item:GhostSword (название предмета из MM)
Если нет, то придётся убирать ванильных мобов и спавнить точно таких же при помощи MM, новый дроп там же им прописывать :oops:
 
Вопрос: как проверить есть ли игрок на сервере ??
(Очень актуально!)

Предложение: Когда выполняеш EXEC активатор для игрока (с указанием его имени), то если этого игрока нет на сервере, активатор будет проигнорирован. Предлогаю изменить это, иначе непонятно как вобше взаимодействовать с оффлайн игроками.
• Добавить селектору игроков опции: [ selectOfflineOnly / selectOnlineOnly / selectAll ]

Предложение: сделать, что бы функция плейсхолдера CALC допускала пробелы! Иногда уравнения выходят очень длинными и их сложно читать из за слитности и отсутствия пробелов.

2 небольшых, но технически важных предложения:
1.
Сделать, что бы временный плейсхолдер %group:N:M% игнорировался, когда совпадения нет, вместо того, что бы отсылать его в сыром виде.
2. Сделать возможность допускать пробелы в списке игроков (player:игрок1, игрок2)
Почему это важно:
В дополнении к PlaceholderAPI есть пару плейсхолдеров, которые выводят списки игроков по некоторым параметрам. И выводях их в таком виде:
Игрок1, Игрок2, Игрок3
Бывает надо использовать этот список в качестве, например, при использовании exec активатора. Но это невозможно по причинам отсутствия функций, которые я описал выше.
И если пункт №2 ещё как то можна обойти, отфильтровав список через REGEX действие и удалив из него пробелы, то с %group:N:M% так не получится, потому что ты не знаеш сколько будет игроков в этом списке и сколько порядков вхождения тебе надо указывать. Можна указать например 15 порядков (с запасом), но если лист будет состоять лишь из 10-ти игроков, последние 5 будут записаны в виде сырого %group:N:M% плейсхолдера. По этому надо что бы он игнорировался, если совпадений нет!
Так-же и с плейсхолдером переменных надо сделать. Что бы игнорировать его, а не отправлять в виде текста плейсхолдера (для этого же существует плейсхолдер %raw:<>%).


Баг:
Селектор игрока player:{perm:<перм>} не работает, а аналогичный селектор player:{group:<группа>} учитывает как первый. Тоесть вместо группы на самом деле ищет пермишен...
БАҐ:
При использовании EXEC + MESSAGE активаторов
(/exec test)
Код:
EXEC:
  test:
    actions:
    - 'EXECUTE=activator:theActivator  player:all'

  theActivator:
    actions:
    - 'BROADCAST=qwerty'



MESSAGE:
  qqq:
    source: ALL
    type: EQUAL
    mask: 'qwerty'
    actions:
    - 'CANCEL_EVENT=true'
    - 'BROADCAST=%message% 123'

У нас по идее должен отослатся один меседж "qwerty 123", если на сервере 1 игрок. 2 таких меседжа, если 2 игрока. 3 - если 3 и так дале...
Но в реальности получается так:
Если 1 игрок - отсылает 1 меседж.
Если 2 игрока - отсылает 4 меседжа
Если 3 - отсылает 9...
При 4-х игроках и дальше не тестил, но тенденция довольно странная, согласитесь. Однозначно это баг!

 
Последнее редактирование:
БАҐ:
При использовании EXEC + MESSAGE активаторов
(/exec test)
У нас по идее должен отослатся один меседж "qwerty 123", если на сервере 1 игрок. 2 таких меседжа, если 2 игрока. 3 - если 3 и так дале...
Но в реальности получается так:
Если 1 игрок - отсылает 1 меседж.
Если 2 игрока - отсылает 4 меседжа
Если 3 - отсылает 9...
При 4-х игроках и дальше не тестил, но тенденция довольно странная, согласитесь. Однозначно это баг!

Не баг. MESSAGE работает для каждого игрока отдельно, а не от лица сервера.
На сервере 2 игрока, от лица каждого отсылается qwerty - в чате 2 qwerty.
Оба игрока принимают оба qwerty - итого словилось 4 раза(по 2 на каждого игрока).
В итоге у тебя и получается - 4 'qwerty 123'
 
Можно пожалуйста добавить активатор при теллепортации игрока. Заранее спасибо)
 
Можно пожалуйста добавить активатор при теллепортации игрока. Заранее спасибо)
Ну если у тебя игроки к примеру телепортируются какой-то командой, то ты можеш привязать дополнительное действие к этой команде... И ненадо никаких активаторов
 
Коллеги, приветствую!

Не окажете ли помощь в составлении одного нехитрого активатора?

Задача: нужно сделать так, чтобы при регистрации игрока с ником,
содержащим (в любом месте ника) определенный контекст "...abcd..." над этим игроком
выполнялось действие (ну, например, банить игроков, выбирающих для ников неприличные слова).

Я сделал такой активатор:

JOIN:
Launcher:
regex=true
join-state: FIRST %player% CONTAINS "abcd"
actions:
- CMD_OP=(здесь команда бана)

...но ок выполняет команду, не взирая на контекст. Буду признателен за помощь )


Спасибо!

Не знаю, нужно ли ещё, но на будущее
YAML:
JOIN:
  AntiJoin:
    join-state: FIRST
    actions:
    - if_else=if:{/^(?i).*(abcd).*$/.test("%player_name%")} then:run:{actions:{action1:{cmd_console=команда банана}}} else:{}
Если у игрока в нике есть ABCD(не важно какого регистра), то врубается команда бана через консоль.
А вообще, лучше не делать таких наворотов - в том-же AuthMe есть возможность проверки ника на регулярное выражение
 
Как в активаторе MESSAGE сделать такую маску, которая реагировала бы сразу на несколько слов, (например word1, word2 word3) независимо от того, где и в каком порядке они стоят. А так-же, как сделать что бы этот активатор срабатывал если найдет хотя бы 1 или 2 таких слова в тексте (опять же, независимо от порядка)?
Есть ли возможность выловить из PEx'а чат-формат игрока??
@Kixot14
В текущий вариант всё что касается NBT прикрутить не получится. Я планировал сделать отдельный плагин (даже написал его - там в помимо прочего было что-то вроде базы данных предметов), но так и не допилил взаимодействие ReActions и этого плагина.

Есть сдвиги в этом направлении ?
Как проверить, есть ли в радиусе игрока другие игроки ??
 
Последнее редактирование:
А как сделать через Reactions вечный торт? Ну... то есть ты голоден, ты его начал есть, но он как буд-то не съедается, а голод востанавливается. Я знаю как так сделать только через командный блоки (с помощью команды /setblock). Но как это сделать с помощью Reactions?
 
А как сделать через Reactions вечный торт? Ну... то есть ты голоден, ты его начал есть, но он как буд-то не съедается, а голод востанавливается. Я знаю как так сделать только через командный блоки (с помощью команды /setblock). Но как это сделать с помощью Reactions?

Точно так же ;)
Активатор клика по блоку (спасибо @maxdikiy) и установка нового блока торта на этом же месте.
 
Точно так же ;)
Активатор клика по блоку (спасибо @maxdikiy) и установка нового блока торта на этом же месте.
Пока словил вас, скажите, планируется ли в ближайшем времени флаг на проверку кол-ва игроков в радиусе вокруг другого игрока ?



@fromgate, Там походу достаточно легко эта проверка делается
Вот, нашел такой кусок кода
JavaScript:
public ArrayList<Player> getNearbyPlayers(Player pl){
        ArrayList<Player> nearby = new ArrayList<Player>();
        double range = 50;
        for (Entity e : pl.getNearbyEntities(range, range, range)){
            if (e instanceof Player){
                nearby.add((Player) e);
            }
        }
        return nearby;
    }
Было бы отличным вариантом сделать действие для поиска игроков в указаном радиусе вокруг цели, а затем выводить результат этого поиска на плейсхолдер (как действие REGEX выводит результат обработки текста через плейсхолдер %group%). И выводить либо в формате списка игроков, либо просто числом, на выбор...
А затем уже этот плейсхолдер можна было бы проверять через флаг COMPARE (но желательно добавить так-же и COMPARE_GREATER, LOWER (как в переменных есть такое))
 
Вообщем тема такая:
начну с основы. Minecraft Версия 1.7.10. Ядро :This server is running Thermos | 1.7.10-R0.1-SNAPSHOT | 1.7.10-1614.58 (MC: 1.7.10)
ReActions 116 последний билд с https://circleci.com/gh/Redolith/ReActions
Код:
[02:54:28] [Server thread/INFO]: Wolfys issued server command: /ra add BUTTON spawnex
[02:54:28] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ra' in plugin ReActions v0.9.11
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PluginCommand.class:1.7.10-1614.58]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[SimpleCommandMap.class:1.7.10-1614.58]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[CraftServer.class:1.7.10-1614.58]
    at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:1370) [nh.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:1107) [nh.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:38) [ir.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:53) [ir.class:?]
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:245) [ej.class:?]
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:181) [nc.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:1023) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:432) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:841) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:693) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Player.getTargetBlock(Ljava/util/Set;I)Lorg/bukkit/block/Block;
    at me.fromgate.reactions.commands.CmdAdd.execute(CmdAdd.java:42) ~[?:?]
    at me.fromgate.reactions.commands.Cmd.executeCommand(Cmd.java:57) ~[?:?]
    at me.fromgate.reactions.commands.Commander.onCommand(Commander.java:59) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PluginCommand.class:1.7.10-1614.58]
    ... 13 more
Смотрю на кнопку и пишу команду /ra add BUTTON spawn
через консоль к примеру создание реакций на регионы работает. Как пофиксить? и вопрос поддержку Custom NBT у предметов не завезли?)
Такая же ошибка на версии ReActions v0.9.11
Код:
[14:15:11] [Server thread/INFO]: Wolfys issued server command: /ra add BUTTON spawnex
[14:15:11] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ra' in plugin ReActions v0.9.11
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PluginCommand.class:1.7.10-1614.58]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[SimpleCommandMap.class:1.7.10-1614.58]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[CraftServer.class:1.7.10-1614.58]
    at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:1370) [nh.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:1107) [nh.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:38) [ir.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:53) [ir.class:?]
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:245) [ej.class:?]
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:181) [nc.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:1023) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:432) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:841) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:693) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Player.getTargetBlock(Ljava/util/Set;I)Lorg/bukkit/block/Block;
    at me.fromgate.reactions.commands.CmdAdd.execute(CmdAdd.java:70) ~[?:?]
    at me.fromgate.reactions.commands.Cmd.executeCommand(Cmd.java:57) ~[?:?]
    at me.fromgate.reactions.commands.Commander.onCommand(Commander.java:61) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PluginCommand.class:1.7.10-1614.58]
    ... 13 more
[14:15:22] [Server thread/INFO]: [ReActions] Methods "getItemInHand" and "getItemInMainHand" are not declared in PlayerInventory class
[14:15:34] [Server thread/INFO]: Wolfys issued server command: /ra add BUTTON spawnex
[14:15:34] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ra' in plugin ReActions v0.9.11
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PluginCommand.class:1.7.10-1614.58]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[SimpleCommandMap.class:1.7.10-1614.58]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[CraftServer.class:1.7.10-1614.58]
    at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:1370) [nh.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:1107) [nh.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:38) [ir.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:53) [ir.class:?]
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:245) [ej.class:?]
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:181) [nc.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:1023) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:432) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:841) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:693) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Player.getTargetBlock(Ljava/util/Set;I)Lorg/bukkit/block/Block;
    at me.fromgate.reactions.commands.CmdAdd.execute(CmdAdd.java:70) ~[?:?]
    at me.fromgate.reactions.commands.Cmd.executeCommand(Cmd.java:57) ~[?:?]
    at me.fromgate.reactions.commands.Commander.onCommand(Commander.java:61) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PluginCommand.class:1.7.10-1614.58]
    ... 13 more
[14:16:45] [Server thread/INFO]: Wolfys issued server command: /ra add BUTTON spawnex
[14:16:45] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ra' in plugin ReActions v0.9.11
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[PluginCommand.class:1.7.10-1614.58]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[SimpleCommandMap.class:1.7.10-1614.58]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:740) ~[CraftServer.class:1.7.10-1614.58]
    at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:1370) [nh.class:?]
    at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:1107) [nh.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:38) [ir.class:?]
    at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(C01PacketChatMessage.java:53) [ir.class:?]
    at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:245) [ej.class:?]
    at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:181) [nc.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:1023) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:432) [lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:841) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:693) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Player.getTargetBlock(Ljava/util/Set;I)Lorg/bukkit/block/Block;
    at me.fromgate.reactions.commands.CmdAdd.execute(CmdAdd.java:70) ~[?:?]
    at me.fromgate.reactions.commands.Cmd.executeCommand(Cmd.java:57) ~[?:?]
    at me.fromgate.reactions.commands.Commander.onCommand(Commander.java:61) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[PluginCommand.class:1.7.10-1614.58]
    ... 13 more

протоколлиб обновил до версии 3.7.0
 
@Wolfys
В API вашего сервера, отсутсвует ряд используемых методов. Почему их там нет — не знаю. Они относятся к Bukkit API и по логике удалять их самое странное дело. На совести разработчиков термоса.
 
@fromgate
Я тоже сначала подумал что может быть дело в ядре. Поставил KCauldron и поставил туда эту же версию плагина.
Ошибка такая же. 2 автора удалили API ? странно.
А теперь смотрим вот этот скриншот:
http://clip2net.com/s/3L8slIE и видим что кнопка создалась спокойно.
Вопрос почему тогда на новой версии не работает??
Кстати в консоле также не каких ошибок от ReActions нету. Хотелось бы новую версию :(
 
Баг: параметр group, в селекторе игрока, определяется как пермишен. А пермишен не актуальный.
Можна ли выбрать всех игроков, имеющих конкретный пермишен, но за исключением того, кто спровоцировал активатор ??
 
Последнее редактирование:
У меня такой вопрос по плагину. Можно ли проверить группу пользователя с помощью него? Мне нужно выполнить несколько действий:

1. Проверить группу пользователя на участие в группе "группа1"
1.1. Если группа совпадает с группой "группа1", то выполнить пункт 2
1.2. Если группа не совпадает то выдать текст: Сначала получите группу "группа1"
2. Проверить наличие предметов (несколько позиций по несколько предметов, возьмём Седло и 32Угля)
2.1. Если предметы в наличии, то забрать указанные предметы, затем установить (set) группу пользователю на %группа2, затем выдать текст: Поздравляем с получением группы "группа2"!
2.2. Если предметов нет в наличии, то выдать текст: У вас недостаточно предметов для получения группы "группа2".


Смогу ли я с помощью этого плагина провести эти операции, или хотя бы их аналоги? Конечный результат должен быть такой: Пользователю был повышена группа с предыдущей на последующую за определённое кол-во предметов.
П.С. Если можно, то для "юзверей" пояснение. Спасибо =)
 
Предложение: Расширить возможности селектора игроков. Добавить ему оператор AND,
что бы к примеру селектор: player:{loc:%player_loc% radius:20 perm:qwerty}
выбирал только тех игроков, которые в радиусе 20 от игрока, и имеют право:qwerty. Сейчас же оно или-или, тоесть достаточно лишь одного условия что бы селектор сработал. Очень сильно обламывает...
Заметил что некоторые (а может и все) временные плейсхолдеры исчезают после действия 'WAIT'. Это баг или так и должно быть?? Если да, то зачем
 
Назад
Верх