C#:
using Oxide.Core;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("ModAdminChat", "ChatGPT", "1.1.3")]
[Description("Один чат /a для модеров и админов с цветным ником")]
public class ModAdminChat : RustPlugin
{
private const string AdminPermission = "modadminchat.admin";
private const string ModPermission = "modadminchat.mod";
private void Init()
{
permission.RegisterPermission(AdminPermission, this);
permission.RegisterPermission(ModPermission, this);
}
[ChatCommand("a")]
private void AdminChatCommand(BasePlayer player, string command, string[] args)
{
if (args.Length == 0)
{
SendReply(player, "Использование: /a сообщение");
return;
}
bool isAdmin = permission.UserHasPermission(player.UserIDString, AdminPermission);
bool isMod = permission.UserHasPermission(player.UserIDString, ModPermission);
if (!isAdmin && !isMod)
{
SendReply(player, "У вас нет доступа к админ-чату.");
return;
}
string message = string.Join(" ", args);
string prefix = isAdmin ? "[ADMIN]" : "[MODER]";
string nameColor = isAdmin ? "#ff3333" : "#33ff33"; // Красный и зелёный
string coloredName = $"<color={nameColor}>{player.displayName}</color>";
string formattedMessage = $"{prefix} {coloredName}: {message}";
foreach (var target in BasePlayer.activePlayerList)
{
if (permission.UserHasPermission(target.UserIDString, AdminPermission) ||
permission.UserHasPermission(target.UserIDString, ModPermission))
{
target.ChatMessage(formattedMessage);
}
}
}
}
}