C#:
using System.Collections.Generic;
namespace Oxide.Plugins;
[Info("FAdminUnlock", "fufeldev", "1.0.0")]
public class FAdminUnlock : RustPlugin
{
private readonly HashSet<ulong> enabled = new HashSet<ulong>();
[ChatCommand("aunlock")]
private void AUnlockCommand(BasePlayer player, string command, string[] args)
{
if (!CanUse(player)) return;
if (enabled.Remove(player.userID))
{
SendReply(player, "Админ-открытие замков выключено.");
return;
}
enabled.Add(player.userID);
SendReply(player, "Админ-открытие замков включено.");
}
private object CanUseLockedEntity(BasePlayer player, BaseLock baseLock)
{
if (player != null && baseLock != null && enabled.Contains(player.userID) && IsAdmin(player)) return true;
return null;
}
private void Unload()
{
enabled.Clear();
}
private bool CanUse(BasePlayer player)
{
if (player == null) return false;
if (IsAdmin(player)) return true;
SendReply(player, "Нет доступа.");
return false;
}
private bool IsAdmin(BasePlayer player)
{
return player != null && (player.IsAdmin || player.net?.connection != null && player.net.connection.authLevel > 0);
}
}