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

FREE ChangeIcon : 1.2.0 1.2.0

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

namespace Oxide.Plugins
{
    [Info("Change Icon", "Kalvi", "1.2.0")]
    [Description("Set a customizable icon for all non user messages")]

    class ChangeIcon : CovalencePlugin
    {
        #region Config
        
        private Configuration _configuration;
        
        private class Configuration
        {
            [JsonProperty(PropertyName = "User SteamID")]
            public ulong SteamAvatarUserID = 76561198272553228; // Default SteamID
        }
        
        protected override void LoadDefaultConfig()
        {
            PrintWarning("Creating a new configuration file");
            _configuration = new Configuration();
        }
        
        protected override void LoadConfig()
        {
            base.LoadConfig();
            _configuration = Config.ReadObject<Configuration>();
            SaveConfig();
        }
        
        protected override void SaveConfig() => Config.WriteObject(_configuration);
        
        #endregion

        #region Initialization

        private void Init()
        {
            permission.RegisterPermission("changeicon.admin", this);
        }

        #endregion

        #region Commands
        
        [Command("changeicon")]
        private void ChangeIconCommand(IPlayer player, string command, string[] args)
        {
            if (!player.HasPermission("changeicon.admin"))
            {
                player.Reply(Lang("NoPermission", player.Id));
                return;
            }

            if (args.Length == 1 && ulong.TryParse(args[0], out ulong steamID))
            {
                _configuration.SteamAvatarUserID = steamID;
                SaveConfig();
                player.Reply(Lang("IconChanged", player.Id, steamID));
            }
            else if (args.Length == 1 && args[0].ToLower() == "reload")
            {
                LoadConfig();
                player.Reply(Lang("ConfigReloaded", player.Id));
            }
            else
            {
                player.Reply(Lang("Usage", player.Id));
            }
        }
        
        #endregion

        #region Hooks 
        
        private void OnBroadcastCommand(string command, object[] args)
        {
            TryApplySteamAvatarUserID(command, args);
        }
        
        private void OnSendCommand(Connection cn, string command, object[] args)
        {
            TryApplySteamAvatarUserID(command, args);
        }
        
        private void OnSendCommand(List<Connection> cn, string command, object[] args)
        {
            TryApplySteamAvatarUserID(command, args);
        }

        #endregion

        #region Helpers

        private void TryApplySteamAvatarUserID(string command, object[] args)
        {
            if (args == null || _configuration == null) 
                return;
            
            if (args.Length < 2 || (command != "chat.add" && command != "chat.add2")) 
                return;

            ulong providedID;
            if (ulong.TryParse(args[1].ToString(), out providedID) && providedID == 0)
                args[1] = _configuration.SteamAvatarUserID;
        }

        private string Lang(string key, string userId = null, params object[] args)
        {
            return string.Format(lang.GetMessage(key, this, userId), args);
        }

        #endregion

        #region Lang

        protected override void LoadDefaultMessages()
        {
            lang.RegisterMessages(new Dictionary<string, string>
            {
                ["NoPermission"] = "<color=#FF0000>You do not have permission to use this command.</color>",
                ["IconChanged"] = "<color=#00FF00>Steam ID has been changed to: {0}</color>",
                ["InvalidSteamID"] = "<color=#FF0000>Invalid Steam ID.</color>",
                ["ConfigReloaded"] = "<color=#00FF00>Configuration reloaded.</color>",
                ["Usage"] = "<color=#FFFF00>Usage: /changeicon <SteamID> or /changeicon reload</color>"
            }, this);
        }

        #endregion
    }
}

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