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

FREE EasySkin : 1.0.0 1.0.0

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

namespace Oxide.Plugins
{
    [Info("Easy Skin", "Logan", "1.0.0")]
    class EasySkin : RustPlugin
    {
        public EasySkin easySkin;

        private ConfigData configData;
        class ConfigData
        {
            [JsonProperty(PropertyName = "Whitelisted Skins Only | If set to true, players only can use the whitelisted skins")]
            public bool WhitelistedSkinsOnly = false;
            [JsonProperty(PropertyName = "Whitelisted Skins | Skins that players are able to use")]
            public ulong[] WhitelistedSkins = {0};
            [JsonProperty(PropertyName = "Blacklisted Skins | Skins that players are not able to use")]
            public ulong[] BlacklistedSkins = { };
        }

        private bool LoadConfig()
        {
            try
            {
                configData = Config.ReadObject<ConfigData>();
            }
            catch
            {
                return false;
            }
            SaveConfig(configData);
            return true;
        }

        void Init()
        {
            permission.RegisterPermission("easyskin.admin", this);
            permission.RegisterPermission("easyskin.use", this);
            if (!LoadConfig())
            {
                Puts("Config file issue detected! Please delete the config file, or check for syntax errors and fix them!");
                return;
            }

            easySkin = this;
        }

        protected override void LoadDefaultConfig()
        {
            Puts("Creating new config file");
            configData = new ConfigData();
            SaveConfig(configData);
        }

        void SaveConfig(ConfigData config)
        {
            Config.WriteObject(config, true);
        }

        [ChatCommand("skin")] // Change skin to what command you would like it as
        void changeskin(BasePlayer player, string command, string[] args)
        {
            if (permission.UserHasPermission(player.userID.ToString(), "easyskin.use"))
            {
                if (args[0] != null)
                {
                    Item item = player.GetActiveItem();
                    uint skin = uint.Parse(args[0]);
                    if (item != null)
                    {
                        bool Pass = true;
                        if (configData.WhitelistedSkinsOnly)
                        {
                            Pass = false;
                            if (configData.WhitelistedSkins.Contains(skin))
                            {
                                Pass = true;
                            }
                        }
                        if (configData.BlacklistedSkins.Contains(skin))
                        {
                            Pass = false;
                        }


                        if (Pass)
                        {
                            item.skin = skin;
                            item.MarkDirty();
                            BaseEntity heldEntity = item.GetHeldEntity();
                            if (heldEntity != null)
                            {
                                heldEntity.skinID = skin;
                                heldEntity.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
                            }
                        }
                    }
                }
            }
            else
            {
                SendReply(player, "You do not have permission to use this command!");
            }
        }

        [ChatCommand("cscreload")]
        void cscReload(BasePlayer player)
        {
            if (permission.UserHasPermission(player.userID.ToString(), "easyskin.admin"))
                LoadConfig();
        }
    }
}

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