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

FREE EasyReload : 2.0.0 2.0.0

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System.Collections.Generic;
using System.Reflection;
using System;
using System.Data;
using UnityEngine;
using Oxide.Core;
using Rust;

namespace Oxide.Plugins
{
    [Info("Easy Reload", "LaserHydra", "2.0.0", ResourceId = 854)]
    [Description("Reload your plugins easily")]
    class EasyReload : RustPlugin
    {
        void Loaded()
        {
            if (!permission.PermissionExists("canReload")) permission.RegisterPermission("canReload", this);
        }
        [ChatCommand("reload")]
        void cmdReload(BasePlayer player, string cmd, string[] args)
        {
            string uid = Convert.ToString(player.userID);
            if (!permission.UserHasPermission(uid, "canReload"))
            {
                SendChatMessage(player, "RELOAD", "You have no permission to use this command!");
                return;
            }
            if (args.Length < 1)
            {
                SendChatMessage(player, "RELOAD", "Reloading plugins...");
                ConsoleSystem.Run.Server.Normal("oxide.reload *");
                SendChatMessage(player, "RELOAD", "All plugins reloaded!");

            }
            if (args.Length == 1)
            {
                string pluginname = GetPlugin(args[0], player, "RELOAD");
                string filename = GetPluginFile(pluginname);
                if (pluginname != "")
                {
                    ConsoleSystem.Run.Server.Normal("oxide.reload " + filename);
                    SendChatMessage(player, "RELOAD", "Reloaded plugin <color=orange>" + pluginname + "</color>!");
                }
            }
        }
        //--------------------------->   Player finding   <---------------------------//

        string GetPlugin(string searchedPlugin, BasePlayer executer, string prefix)
        {
            string targetPlugin = "";
            List<string> foundPlugins = new List<string>();
            string searchedLower = searchedPlugin.ToLower();
            foreach (var plugin in plugins.GetAll())
            {
                if (plugin.Author == "Oxide Team")
                {
                    continue;
                }

                string display = plugin.Title;
                string displayLower = display.ToLower();

                if (!displayLower.Contains(searchedLower))
                {
                    continue;
                }
                if (displayLower.Contains(searchedLower))
                {
                    foundPlugins.Add(display);
                }
            }
            var matchingPlugins = foundPlugins.ToArray();

            if (matchingPlugins.Length == 0)
            {
                SendChatMessage(executer, prefix, "No matching plugins found!");
            }

            if (matchingPlugins.Length > 1)
            {
                SendChatMessage(executer, prefix, "Multiple plugins found:");
                string multiplePlugins = "";
                foreach (string matchingplugin in matchingPlugins)
                {
                    if (multiplePlugins == "")
                    {
                        multiplePlugins = "<color=yellow>" + matchingplugin + "</color>";
                        continue;
                    }

                    if (multiplePlugins != "")
                    {
                        multiplePlugins = multiplePlugins + ", " + "<color=yellow>" + matchingplugin + "</color>";
                    }

                }
                SendChatMessage(executer, prefix, multiplePlugins);
            }

            if (matchingPlugins.Length == 1)
            {
                targetPlugin = matchingPlugins[0];
            }
            return targetPlugin;
        }

        string GetPluginFile(string pluginname)
        {
            string filename = "";
            foreach (var plugin in plugins.GetAll())
            {
                if (plugin.Author == "Oxide Team")
                {
                    continue;
                }

                string display = plugin.Title;

                if (display != pluginname)
                {
                    continue;
                }
                if (display == pluginname)
                {
                    filename = plugin.Name;
                    break;
                }
            }
            return filename;
        }

        //---------------------------->   Chat Sending   <----------------------------//

        void BroadcastChat(string prefix, string msg)
        {
            PrintToChat("<color=orange>" + prefix + "</color>: " + msg);
        }

        void SendChatMessage(BasePlayer player, string prefix, string msg)
        {
            SendReply(player, "<color=orange>" + prefix + "</color>: " + msg);
        }

        //---------------------------------------------------------------------------//
    }
}

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