
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));
}
oxide.grant user %STEAMID% chatplus.hotpink
chatplus.name %STEAMID% chatplus.hotpink
oxide.grant user %STEAMID% chatplus.vip
chatplus.prefix %STEAMID% chatplus.vip
oxide.grant user %STEAMID% chatplus.blue
chatplus.message %STEAMID% chatplus.blue
[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) ? $"[+12][{PrefixColor}]{Prefix}[/#][/+]" : string.Empty;
[PluginReference]
private Plugin ChatPlus;
private bool IsPlayerMuted(BasePlayer player)
{
var result = ChatPlus?.CallHook("IsPlayerMuted", player.userID);
if (result is bool)
return (bool) result;
return false;
}
object OnChatPlusMessage(Dictionary<string, object> dict)
{
IPlayer player = (IPlayer) dict["Player"];
if (player == null)
{
PrintWarning("Unknown error - ChatPlus send the wrong data");
return null;
//Такой ситуации не должно быть вообще, но берёжного - бог бережёт.
}
string message = dict["Message"] as string;
string censored = dict["CensoredMessage"] as string;
string prefixes = dict["Prefixes"] as string;
PrintWarning($"Игрок {player.Name} отправил в чат текст \"{message}\". Цензура заменила его на \"{censored}\".");
//А теперь поменяем немного текст, если игрок - администратор.
if (player.IsAdmin)
dict["Message"] = "Я администратор, УРА!";
return dict;
}
{
"A. Автоматически блокировать чат за нецензурную лексику": false,
"B. Длительность блокировки чата за нецензурную лексику(в секундах)": 300,
"C. Причина мута при автоматической блокировке чата за нецензурную лексику": "Нецензурная лексика",
"D. Стандартная причина мута": "Не указана",
"E. Воспроизводить звук при получении личного сообщения": true,
"F. Полный путь к звуковому файлу": "assets/bundled/prefabs/fx/notice/stack.world.fx.prefab",
"G. Выключить заглавные буквы в чате": true,
"H. Настройки привелегий администраторов": {
"Замена имени администратора при блокировке чата(если включено)": "Модератор чата",
"Привилегия для включения режима администратора": "chatplus.adminmode",
"Привилегия для включения режима модератора": "chatplus.moderatormode",
"Привилегия для использования команды /mute": "chatplus.mute",
"Привилегия для использования команды /unmute": "chatplus.unmute",
"Привилегия для использования консольных команд на присваивание префикса и цветов": "chatplus.assign",
"Привилегия для полного отключения чата": "chatplus.muteall",
"Скрывать имена администраторов при блокировке чата": false,
"Формат чата режима администратор": {
"Формат имени": "[#a5e664]Администратор[/#]",
"Формат Сообщения": "{0}",
"SteamID икноки в чате": 0
},
"Формат чата режима модератор": {
"Формат имени": "[#a5e664]Модератор[/#]",
"Формат Сообщения": "{0}",
"SteamID икноки в чате": 0
}
},
"I. Цвет имен": [
{
"Аргумент": "default",
"Привилегия": "chatplus.default",
"Формат": "[#ffffff]{0}[/#]"
},
{
"Аргумент": "hotpink",
"Привилегия": "chatplus.hotpink",
"Формат": "[#FF69B4]{0}[/#]"
},
{
"Аргумент": "tomato",
"Привилегия": "chatplus.tomato",
"Формат": "[#FF6347]{0}[/#]"
}
],
"J. Префиксы": [
{
"Аргумент": "default",
"Привилегия": "chatplus.default",
"Формат": ""
},
{
"Аргумент": "vip",
"Привилегия": "chatplus.vip",
"Формат": "[#9370DB][VIP][/#]"
},
{
"Аргумент": "premium",
"Привилегия": "chatplus.premium",
"Формат": "[#00FF7F][Премиум][/#]"
}
],
"K. Цвет сообщений": [
{
"Аргумент": "default",
"Привилегия": "chatplus.default",
"Формат": "[#ffffff]{0}[/#]"
},
{
"Аргумент": "blue",
"Привилегия": "chatplus.blue",
"Формат": "[#64a5e6]{0}[/#]"
},
{
"Аргумент": "gold",
"Привилегия": "chatplus.gold",
"Формат": "[#DAA520]{0}[/#]"
}
],
"L. Список начальных букв нецензурных слов или слова целиком | список исключений": {
"ебля": [],
"пидор": [],
"сука": []
},
"M. Имя консоли при отправке личных сообщений и отключении чата из консоли": "Server Console",
"N. Формат отправки сообщений из консоли командой say": {
"Формат имени": "[+16][#00ff00]{0}[/#][/+]",
"Формат Сообщения": "[+16]{0}[/+]",
"SteamID икноки в чате": 0
},
"O. Отображать ли аватарки игроков при получении ЛС(только RUST)": true
}
Привет! Мы недавно переехали на новый стиль, поэтому возможны различные ошибки. Если вы заметили такую - пожалуйста, оставьте сообщение в этом разделе. Спасибо!