ChatPlus [Не поддерживается]

ChatPlus [Не поддерживается] 1.4.2

  • We have added support for the PayPal payment gateway to our site! 
    Мы добавили поддержку платежного шлюза PayPal на наш сайт!

Исправлен чат после обновления от 7-го ноября
Исправлена проверка исключений в списке нецензурных слов. Теперь должна работать корректно.
  • Убрана возможность форматирования текста игроками(перед форматированием сообщение очищается от тэегов)
  • Поправлена цензура чата. Теперь если исключение находиться на нулевой позиции оно так же будет учтено.
  • Исправлена ошибка из-за которой время блокировки чата не сохранялось при перезагрузках.
    Всем администраторам - пересмотрите список тех, кому блокировали чат. Возможно часть из этих блокировок уже давно должна была закончится =)
  • Добавлена новая строка в языковой файл - сообщение о том, что игрока нет в чёрном списке при использовании /chat ignore remove <name>
  • Исправлена ошибка, по которой сообщение в чат могло отправляться игроку, которого нет на сервере, что приводило к сбоям в работе плагина.
  • Проверка IsServerConsole по ID игрока заменена на поле IsServer класса IPlayer.
Исправлена ошибка в хуке
Добавлен API IsPlayerMuted(object ID) - вернёт true если игроку недоступен чат
Добавлен хук OnChatPlusMessage(Dictionary<string,object> dict), доступные параметры:
  • ["Player"] - Iplayer - игрок, написавший в чат
  • ["Message"] - string - его сообщение в чат
  • ["CensoredMessage"] - string - версия его сообщения с цензурой
  • ["Prefixes"] - string - все префиксы игрока, разделённые одним пробелом.
Добавлена возможность скрывать того, кто заблокировал чат игроку. В этом случае из файла конфигурации будет взято имя из параметра H - Замена имени администратора при блокировке чата, и использовано как имя заблокировавшего.
Убрана устаревшая функция Reply, принимающая как аргумент BasePlayer, упрощён доступ к данным пользователя в команде /chat
Попытка исправить NRE в SendChat при вызове SendConsoleCommand
Теперь верно получается языковой файл справки о команде /chat
Добавлено верное форматирование в функцию BroadcastChat - вывод сообщений в чат о мутах. Теперь она так же поддерживает стандартизированное форматирование.
Исправление 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 соответственно.
  • Небольшая чистка и оптимизация кода.