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

FREE NeverWear : 0.1.4 0.1.4

Нет прав для скачивания
C#:
using System.Collections.Generic;

namespace Oxide.Plugins
{
    [Info("NeverWear", "k1lly0u", "0.1.4", ResourceId = 1816)]
    class NeverWear : RustPlugin
    {
        void Loaded() => RegisterPermissions();
        void OnServerInitialized() => LoadVariables();
        private void RegisterPermissions()
        {
            permission.RegisterPermission("neverwear.use", this);
            permission.RegisterPermission("neverwear.attire", this);
            permission.RegisterPermission("neverwear.weapons", this);
            permission.RegisterPermission("neverwear.tools", this);
        }
        private bool HasPerm(BasePlayer player, string perm)
        {
            if (permission.UserHasPermission(player.UserIDString, perm)) return true;
            return false;
        }
        void OnLoseCondition(Item item, ref float amount)
        {
            if (item != null)
            {
                BasePlayer player;
                if (item.GetOwnerPlayer() == null)
                {
                    if (item?.info == null) return;
                    if (!item.info.shortname.Contains("mod")) return;
                    player = item?.GetRootContainer()?.GetOwnerPlayer();
                    if (player == null)
                        return;
                }
                else player = item.GetOwnerPlayer();
                if (player != null)
                {
                    var def = ItemManager.FindItemDefinition(item.info.itemid);
                    if ((configData.useWhiteList && configData.WhitelistedItems.Contains(def.shortname) && HasPerm(player, "neverwear.use"))
                        || (def.category == ItemCategory.Weapon && configData.useWeapons && HasPerm(player, "neverwear.weapons"))
                        || (def.category == ItemCategory.Attire && configData.useAttire && HasPerm(player, "neverwear.attire"))
                        || (def.category == ItemCategory.Tool && configData.useTools && HasPerm(player, "neverwear.tools")))
                        if (item.hasCondition)
                            item.RepairCondition(amount);
                }
            }          
            return;
        }

        #region Config        
        private ConfigData configData;
        class ConfigData
        {
            public bool useWeapons { get; set; }
            public bool useTools { get; set; }            
            public bool useAttire { get; set; }
            public bool useWhiteList { get; set; }
            public List<string> WhitelistedItems { get; set; }
        }
        private void LoadVariables()
        {
            LoadConfigVariables();
            SaveConfig();
        }
        protected override void LoadDefaultConfig()
        {
            var config = new ConfigData
            {
                useTools = true,
                useAttire = false,
                useWeapons = false,
                useWhiteList = false,
                WhitelistedItems = new List<string>
                {
                    "hatchet",
                    "pickaxe",
                    "rifle.bolt",
                    "rifle.ak"
                }
            };
            SaveConfig(config);
        }
        private void LoadConfigVariables() => configData = Config.ReadObject<ConfigData>();
        void SaveConfig(ConfigData config) => Config.WriteObject(config, true);
        #endregion
    }
}

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

Другие ресурсы пользователя 15FPS

Сверху