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

FREE BetterBatteries : 1.0.1 1.0.1

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

namespace Oxide.Plugins
{
    [Info("Better Batteries", "Orange", "1.0.1")]
    [Description("Allows players to get better batteries")]
    public class BetterBatteries : RustPlugin
    {
        #region Vars

        private const string permUse = "InfiniteBatteries.use";

        #endregion
        
        #region Config

        private static ConfigData config;
        
        private class ConfigData
        {    
            [JsonProperty(PropertyName = "Make batteries infinite capacity")]
            public bool capacity;

            [JsonProperty(PropertyName = "Make batteries increaced power")]
            public bool output;
            
            [JsonProperty(PropertyName = "Make all batteries better")]
            public bool all;
        }
        
        private ConfigData GetDefaultConfig()
        {
            return new ConfigData
            {
                capacity = false,
                output = false,
                all = false
                
            };
        }
        
        protected override void LoadConfig()
        {
            base.LoadConfig();
   
            try
            {
                config = Config.ReadObject<ConfigData>();
            }
            catch
            {
                LoadDefaultConfig();
            }

            SaveConfig();
        }

        protected override void LoadDefaultConfig()
        {
            PrintError("Configuration file is corrupt(or not exists), creating new one!");
            config = GetDefaultConfig();
        }

        protected override void SaveConfig()
        {
            Config.WriteObject(config);
        }

        #endregion

        #region Oxide Hooks

        private void OnServerInitialized()
        {
            permission.RegisterPermission(permUse, this);
            
            if (config.all)
            {
                ChangeAllBatteries();
            }
        }
        
        private void OnEntitySpawned(BaseNetworkable a)
        {
            var entity = a.GetComponent<ElectricBattery>();
            if (entity == null) {return;}

            if (HasPerm(entity.OwnerID.ToString()) || config.all)
            {
                ChangeBattery(entity);
            }
        }

        #endregion

        #region Helpers

        private bool HasPerm(string id)
        {
            return permission.UserHasPermission(id, permUse);
        }

        #endregion

        #region Core

        private void ChangeBattery(ElectricBattery battery)
        {
            if (config.capacity)
            {
                battery.maxCapactiySeconds = 86399;
                battery.capacitySeconds = battery.maxCapactiySeconds;
            }

            if (config.output)
            {
                battery.maxOutput = 10000;
            }
        }

        private void ChangeAllBatteries()
        {
            foreach (var battery in UnityEngine.Object.FindObjectsOfType<ElectricBattery>())
            {
                ChangeBattery(battery);
            }
        }
        #endregion
    }
}

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