
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;
}
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;
}
Привет! Мы недавно переехали на новый стиль, поэтому возможны различные ошибки. Если вы заметили такую - пожалуйста, оставьте сообщение в этом разделе. Спасибо!