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

FREE UItems : 1.2 1.2

Нет прав для скачивания
C#:
using Newtonsoft.Json;
using Oxide.Core.Libraries.Covalence;

namespace Oxide.Plugins
{
    [Info("UItems","Baks","1.2")]
    public class UItems:RustPlugin
    {
        #region var

        private string pluginPrefix = "uitems";

        #endregion

        #region config

        class PluginConfig
        {
            [JsonProperty("Привилегия для Инструментов")]
            public string ToolsPerm;
            [JsonProperty("Привилегия для Оружия")]
            public string WeaponPerm;
            [JsonProperty("Привилегия для Одежды")]
            public string AttirePerm;
            [JsonProperty("Привилегия для Патронов")]
            public string AmmunitionPerm;
            [JsonProperty("Привилегия для Ракет")]
            public string RocketPerm;
        }

        private PluginConfig config;
        
        private void Init()
        {
            config = Config.ReadObject<PluginConfig>();
            Config.WriteObject(config);
        }

        protected override void LoadDefaultConfig()
        {
            Config.WriteObject(new PluginConfig
            {
                ToolsPerm = ".tools",
                AttirePerm = ".attire",
                WeaponPerm = ".weapon",
                AmmunitionPerm = ".ammo",
                RocketPerm = ".rocket"
            }, true);
            
        }

        #endregion

        #region hooks

        void OnServerInitialized()
        {
            LoadConfig();
            permission.RegisterPermission(pluginPrefix+config.AmmunitionPerm,this);
            permission.RegisterPermission(pluginPrefix+config.ToolsPerm,this);
            permission.RegisterPermission(pluginPrefix+config.AttirePerm,this);
            permission.RegisterPermission(pluginPrefix+config.RocketPerm,this);
            permission.RegisterPermission(pluginPrefix+config.WeaponPerm,this);
            
        }

        void OnLoseCondition(Item item, ref float amount)
        {
            if (item == null) return;
            BasePlayer player = item.GetOwnerPlayer();
            if (player == null) return;
                switch (item.info.category)
            {
                case ItemCategory.Tool:
                    if (permission.UserHasPermission(player.UserIDString,pluginPrefix+config.ToolsPerm)) item.RepairCondition(amount);
                    break;
                case  ItemCategory.Attire:
                    if (permission.UserHasPermission(player.UserIDString,pluginPrefix+config.AttirePerm)) item.RepairCondition(amount);
                    break;
                case  ItemCategory.Weapon:
                    if (permission.UserHasPermission(player.UserIDString,pluginPrefix+config.WeaponPerm)) item.RepairCondition(amount);
                    break;
            }
        }
        object OnAmmoUnload(BaseProjectile projectile, Item item, BasePlayer player)
        {
            if (!permission.UserHasPermission(player.UserIDString,pluginPrefix+config.AmmunitionPerm)) return null;
            return false;
        }

        private void OnWeaponFired(BaseProjectile projectile, BasePlayer player)
        {
            if (!permission.UserHasPermission(player.UserIDString,pluginPrefix+config.AmmunitionPerm)) return;
            projectile.primaryMagazine.contents = projectile.primaryMagazine.capacity;
            projectile.SendNetworkUpdateImmediate();
        }

        private void OnRocketLaunched(BasePlayer player)
        {
            if (!permission.UserHasPermission(player.UserIDString,pluginPrefix+config.RocketPerm)) return;
            var heldItem = player.GetActiveItem();
            if (heldItem == null) return;
            var weapon = heldItem.GetHeldEntity() as BaseProjectile;
            if (weapon == null)
            {
                return;
            }
            weapon.primaryMagazine.contents = weapon.primaryMagazine.capacity;
            weapon.SendNetworkUpdateImmediate();
        }

        #endregion
        
    }
}

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