-
Notifications
You must be signed in to change notification settings - Fork 50
Особенности интеграции с другими плагинами
Есть несколько видов наиболее встречающихся ошибок при настройке конфигурации DiscordSRV:
- Наименование чата в конфиге DiscordSRV должно совпадать с наименованием в конфиге в Chatty, и оба должны быть в lower case (например, "global")
- В конфиге DiscordSRV указывается "префикс" для определения чата (например, "!"). Этот параметр нужно оставить пустым, т.к. нужный чат определяется через интеграцию с Chatty, а префиксный восклицательный знак на этом этапе уже пропадает
Так как в личных сообщениях может появиться необходимость использовать их сразу для обоих участников диалога, обычный вариант плейсхолдеров здесь не подходит. Их необходимо немного модифицировать:
%from:player_health%
Таким образом должен выглядеть плейсхолдер, для которого будет использован отправитель сообщения. Аналогичным образом модифицируется плейсхолдер для получателя:
%to:player_health%
Так, можно сделать следующий формат личных сообщений:
{from-prefix}{from-name}{from-suffix} &c(%from:player_health% hp) &8-> &r{to-prefix}{to-name}{to-suffix} &c(%to:player_health% hp)&8: &f{message}
Мы видим, что плейсхолдеры с префиксами from:
и to:
будут определяться для отправителя и получателя соотвтетственно. Этот синтаксис работает исключительно для личных сообщений, во всех остальных местах работает обычный формат.
Плагин поддерживает двусторонние заменители (releational placeholders) из PlaceholderAPI. Эти заменители можно использовать в двух местах: форматы чатов и личные сообщения.
Они предназначены для того, чтобы выводить информацию, которая запрашивается исходя из связи двух игроков друг с другом, например:
- расстояние игроков между друг другом
- отношения в клане (подчинённый/командующий)
- союзник/враг/нейтральный
...и многое-многое другое. Достаточно малочисленное количество плагинов поддерживает эту функцию, но если вы разрабатываете собственный проект не только при помощи публичных ресурсов, вы можете интегрировать поддержку relational placeholders в своих плагины, и Chatty сможет их отображать.
В Chatty синтаксис двусторонних плейсхолдеров соответствует обычному: %rel_placeholder%. Для проверки работоспособности можно использовать команду плагина PlaceholderAPI: /papi parserel (подробнее здесь).
Может возникнуть ситуация, что порядок игроков важен для ваших двусторонних плейсхолдеров (например, для игрок B для игрока A будет командиром, а игрок A для игрока B - подчинённым). Если вы заметили, что этот порядок обратный, это можно исправить при помощи параметра relational-placeholders-order
в конфигурации settings.yml
.