• Друзья, на пополнения счёта добавлены новые платежные методы FreeKassa, ЮМани, Perfect Money, Cryptomus (все виды криптовалют)

ChatPlus

ПРИВАТНЫЙ ChatPlus 1.8.4

Исправление v1.3.3 - теперь default видят только те, у кого на данный момент выбран не стандартный цвет\префикс
Сразу проскакивем два обновления:
1.3.2:
  • Переделана система логгирования, теперь так же ведётся лог личных сообщений(что крайне мешает когда ты переписываешься через консоль я подумаю как это сделать красивее).
  • Оптимизация функций, отвечающих за отображение иконок в личных переписках.
  • Проверка на консоль сервера вынесена отдельно
1.3.3:
  • Теперь в списках имён\префиксов\цветов сообщений отображается default, дабы игрок мог вернуть цвет к стандарту без команды /chat reset
Добавлена возможность отображение аватарок игрока при отправке личного сообщения(ТОЛЬКО Rust!)
ВНИМАНИЕ! Данное обновление очень сильно меняет языковые файл, так что их перед обновлением необходимо удалить, дабы плагин воссоздал их заново!
Список изменений в данной версии:
  • Добавлена возможность использовать PM через консоль и отвечать через r. Теперь вы можете отправлять личные сообщения игрокам из консоли, а они могут вам отвечать!
  • Исправлена ошибка в языковых файлах. Команд присваивания префикса\цветов имён\сообщений в чате
  • Полностью переписаны языковые файл (Изменён принцип форматирования на стандартизированное представление):<color=#HEX></color> заменено на [#HEX][/#] и <size=N></size> заменено на [+N][/+]
  • Добавлены новые строки файла конфигурации(пересоздавать ничего не нужно - они автоматически будут добавлены в конфиг при первом запуске обновлённой версии):
    • M. Имя консоли при отправке личных сообщений и отключении чата из консоли
      Имя консоли это то имя, которые будет выводиться при блокировке чата из консоли сервера а так же при команде global.say.
    • N. Формат отправки сообщений из консоли командой say
  • Так же теперь изменению подверглась команда global.say, которую, помимо консоли, могут вызывать администраторы из консоли игры:
    Теперь вы можете настроить формат вывода сообщений в чат при использовании данной команды!
    {0} - Это имя консоли, из пераметра выше. {1} - само сообщение.
    Если вы хотите заменить имя консоли только в выводе команды say - просто поменяйте {0} на любое статичный текст и всё!
Исправлена ошибка в символе, Rust заменено на RUST.
Из-за этого даже в игре Rust использовались мультиобразные вызовы, что приводило к отсутствию звуков личных сообщений и отсутствию иконок игроков в чате.
Так же исправлена возможность отправлять ЛС самому себе если отображаемое имя на сервере игры RUST отличается от фактического имени в базе.
Добавлен ResourceId
Добавлено логирование режимов администратора и модератора чата.
Плагин переведён на тип Covalence - Теперь он может работать не только в Rust-е. Требуется проверка на других играх.
Так же теперь плагин поддерживает стандартизированное форматирование ([#HEXCOLOR][/#] [+SIZE][/+])
Исправлена ошибка при удалении игрока из чёрного списка - теперь сообщение о том, что игрока удалили появляется в нужное время.
Если игрок указал неверный параметр в команде /chat, то ему будет выведена справка. Раньше не выводилось ничего.
Если у вас возникнут ошибки при обновлении до данной версии вы можете сделать следующие - очистить BlackList у каждого игрока в файле данных. Или просто удалите ChatPlus_Players.json из папки oxide/data.
Для полной совместимости с Clans Reborn вам нужно поправить функцию OnPluginLoaded в плагнине Clans:

Код:
             void OnPluginLoaded(Plugin plugin)
             {
                 if (plugin.Title != "Better Chat" || plugin.Title != "ChatPlus") return;
                 if (enableClanTagging) Interface.CallHook("API_RegisterThirdPartyTitle", this, new Func<IPlayer, string>(getFormattedClanTag));
             }
Удалена излишняя проверка.
Добавлен API API_RegisterThirdPartyTitle(Plugin plugin, Func<IPlayer, string> titleGetter) для того, чтобы сторонние плагины могли добавлять свои префиксы.
Пример использования:

Код:
[PluginReference] Plugin ChatPlus;
private string Prefix = [Alpha];
private string PrefixColor = "#FFAA00"
private List<IPlayer> PlayersWithPrefix = new List<IPlayer>();

void OnPluginLoaded(Plugin plugin)
{
    if (plugin.Title == "ChatPlus")
        SetPrefix();
}
void OnServerInitialized()
{
    if (ChatPlus)
        SetPrefix();
}

private void SetPrefix() => ChatPlus?.Call("API_RegisterThirdPartyTitle", new object[] { this, new Func<IPlayer, string>(GetPrefix) });
private string GetPrefix(IPlayer player) => PlayersWithPrefix.ContainsKey(player) ? $"<color={PrefixColor}>{Prefix}</color>" : string.Empty;
Стандартная причину блокировки чата(если не была указана при вводе команды) выведена в файл конфигурации.
  • Добавлены команды:
    • chatplus.message {steamid/ник} привилегия
    • chatplus.name {steamid/ник} привилегия
    • chatplus.prefix {steamid/ник} привилегия
  • Данные команды лишь УСТАНАВЛИВАЮТ префикс\цвета игроку. Для использования необходимо выдать игроку привилегии. Без привилегий команды работать НЕ будут. Для использования из консоли игрока требуется привилегия на присваивание префикса и цветов (chatplus.assign)
  • Добавлена возможность выдавать мут\использовать команды присваивания цветов\префикса игрокам, не находящимся на сервере.
  • Добавлена команда mutelist - выводит список текущих игроков, у которых заблокирован чат.
  • При отключении чата игроку сохраняется не только время, а так же то, кто заблокировал игроку чат и причина, что полностью отражается как в чате и заблокированного, так и при команде mutelist
  • Отныне при использовании команды mute причина и время опциональны - можно заблокировать человека навсегда, но с причиной.
  • Примеры:
    • "mute vlad" - блокировать игроку чат на всегда. Причина - Not specified
    • "mute vlad 1d" - блокировать чат игроку на 1 день. Причина - Not specified
    • "mute vlad Просто потому что я так решил." - блокировать чат игроку навсегда. Причина - "Просто потому что я так решил."
    • "mute vlad 1d Это весомая причина" - блокировать чат игроку на 1 день. Причина - "Это весомая причина"
  • Разделены привилегии на использование команд mute/unmute на две разные привилегии - chatplus.mute и chatplus.unmute соответственно.
  • Небольшая чистка и оптимизация кода.
Сверху