Вопрос: как проверить есть ли игрок на сервере ??
(Очень актуально!)
Предложение: Когда выполняеш 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-х игроках и дальше не тестил, но тенденция довольно странная, согласитесь. Однозначно это баг!