Иконка ресурса

FREE AntiAdminAbuse : 0.2 0.2

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System;
namespace Oxide.Plugins
{
    [Info("AntiAdminAbuse", "Norn", 0.2, ResourceId = 12693)]
    [Description("Prevent moderator abuse.")]
    public class AntiAdminAbuse : RustPlugin
    {
        object OnRunCommand(ConsoleSystem.Arg arg)
        {
            try
            {
                if (arg.cmd.isCommand && arg.cmd.namefull == "global.setinfo")
                {
                    if(arg.ArgsStr.Contains("global.god") && arg.ArgsStr.Contains("True"))
                    {
                        if (!Convert.ToBoolean(Config["Admin", "GodEnabled"]))
                        {
                            if ((BasePlayer.FindByID(arg.connection.userid).IsConnected()))
                            {
                                BasePlayer player = BasePlayer.FindByID(arg.connection.userid);
                                if (player != null)
                                {
                                    if (player.net.connection.authLevel >= Convert.ToInt32(Config["Admin", "MinLevel"]))
                                    {
                                        PrintToChat(player, Config["Messages", "NoGod"].ToString());
                                        if (Convert.ToBoolean(Config["Admin", "KickAdmin"])) { player.Kick(Config["Messages", "NoGodAllowed"].ToString()); }
                                        if (Convert.ToBoolean(Config["Admin", "PrintToConsole"])) { Puts(arg.connection.username + " [ " + arg.connection.userid + " ] has tried to enable GodMode via F1.[GOD]"); }
                                    }
                                }
                            }
                        }
                        return false;
                    }
                }
                if (arg.cmd.isAdmin && arg.cmd.isCommand)
                {
                    string command = arg.cmd.name.ToString().ToLower();
                    int authlevel = arg.connection.authLevel;
                    switch (command)
                    {

                            case "givearm":
                            {
                                if (authlevel >= Convert.ToInt32(Config["Admin", "MinLevel"]) && authlevel <= Convert.ToInt32(Config["Admin", "MaxLevel"]))
                                {
                                    if (Convert.ToBoolean(Config["Admin", "OnlyMaxCanSpawn"]))
                                    {
                                        if (authlevel != Convert.ToInt32(Config["Admin", "MaxLevel"]))
                                        {
                                            PrintToChat(BasePlayer.FindByID(arg.connection.userid), Config["Messages", "Disabled"].ToString());
                                            if (Convert.ToBoolean(Config["Admin", "PrintToConsole"]))
                                            {
                                                Puts(arg.connection.username + " [ " + arg.connection.userid + " ] has tried to spawn an item via F1.[ARM]");
                                            }
                                            return false;
                                        }
                                    }
                                }
                                break;
                            }
                            case "giveid":
                            {
                                if (authlevel >= Convert.ToInt32(Config["Admin", "MinLevel"]) && authlevel <= Convert.ToInt32(Config["Admin", "MaxLevel"]))
                                {
                                    if (Convert.ToBoolean(Config["Admin", "OnlyMaxCanSpawn"]))
                                    {
                                        if (authlevel != Convert.ToInt32(Config["Admin", "MaxLevel"]))
                                        {
                                            PrintToChat(BasePlayer.FindByID(arg.connection.userid), Config["Messages", "Disabled"].ToString());
                                            if (Convert.ToBoolean(Config["Admin", "PrintToConsole"]))
                                            {
                                                Puts(arg.connection.username + " [ " + arg.connection.userid + " ] has tried to spawn an item via F1.[ID]");
                                            }
                                            return false;
                                        }
                                    }
                                }
                                break;
                            }
                            case "givebp":
                            {
                                if (authlevel >= Convert.ToInt32(Config["Admin", "MinLevel"]) && authlevel <= Convert.ToInt32(Config["Admin", "MaxLevel"]))
                                {
                                    if (Convert.ToBoolean(Config["Admin", "OnlyMaxCanSpawn"]))
                                    {
                                        if (authlevel != Convert.ToInt32(Config["Admin", "MaxLevel"]))
                                        {
                                            PrintToChat(BasePlayer.FindByID(arg.connection.userid), Config["Messages", "Disabled"].ToString());
                                            if (Convert.ToBoolean(Config["Admin", "PrintToConsole"]))
                                            {
                                                Puts(arg.connection.username + " [ " + arg.connection.userid + " ] has tried to spawn an item via F1.[BP]");
                                            }
                                            return false;
                                        }
                                    }
                                }
                                break;
                        }
                    }
                }
            }
            catch { }
            return null;
        }
        protected override void LoadDefaultConfig()
        {
            Puts("No configuration file found, generating...");
            Config.Clear();

            // --- [ MESSAGES ] ---

            Config["Messages", "Disabled"] = "Spawning items has been <color=red>disabled</color> by the server owner.";
            Config["Messages", "NoGod"] = "God Mode has been <color=red>disabled</color> by the server owner.";
            Config["Messages", "NoGodAllowed"] = "God Mode is not allowed, even for administrators.";

            // --- [ ADMIN ] ---
            Config["Admin", "KickAdmin"] = false;
            Config["Admin", "PrintToConsole"] = true;
            Config["Admin", "MinLevel"] = 1;
            Config["Admin", "MaxLevel"] = 2;
            Config["Admin", "OnlyMaxCanSpawn"] = true;
            Config["Admin", "GodEnabled"] = false;
        }
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху