using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Core.Libraries.Covalence;
namespace Oxide.Plugins
{
[Info("GoldRustTagChecker", "KET", "1.0.0")]
class GoldRustTagChecker : RustPlugin
{
private List<string> bannedWords = new List<string>
{
// Запрещенные слова
"#myrust",
"#darkrust", "#DARKRUST", "#DarkRust", "#dark rust", "#Dark Rust", "#DARK RUST", "#DaRkRuSt", "#dArKrUsT",
// Другие запрещенные слова
// ...
};
void OnPlayerConnected(IPlayer player)
{
RemoveBannedWordsFromName(player);
}
void OnPlayerRespawned(IPlayer player)
{
timer.Once(0.5f, () => RemoveBannedWordsFromName(player));
}
void RemoveBannedWordsFromName(IPlayer player)
{
string playerName = player.Name;
foreach (string word in bannedWords)
{
string regexPattern = $@"\s{Regex.Escape(word)}\b|\b{Regex.Escape(word)}\b";
if (Regex.IsMatch(playerName, regexPattern, RegexOptions.IgnoreCase))
{
string newNick = Regex.Replace(playerName, regexPattern, "", RegexOptions.IgnoreCase).Trim();
player.Name = newNick; // Устанавливаем новое имя игроку
Puts($"Запрещенное слово '{word}' удалено из ника игрока {playerName}");
return; // Выходим из цикла, если слово удалено
}
}
}
}
}