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

FREE TimedEvents : 1.0.3 1.0.3

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

namespace Oxide.Plugins
{
    [Info("TimedEvents", "Akeno Himejima", "1.0.3", ResourceId = 0)]
    class TimedEvents : RustPlugin
    {
        #region Fields       
        private Timer xMas;
        private Timer helicopter;
        private Timer airDrop;
        #endregion

        #region Oxide Hooks
        void OnServerInitialized()
        {
            LoadVariables();
            InitializeTimers();
        }
        void Unload()
        {
            if (xMas != null)
                xMas.Destroy();
            if (helicopter != null)
                helicopter.Destroy();
            if (airDrop != null)
                airDrop.Destroy();
        }
        #endregion

        #region Functions
        void InitializeTimers()
        {
            InitHelicopter();
            InitAirdrop();
            InitXMas();
        }
        void InitHelicopter()
        {
            if (configData.TimeBetween_Helicopters <= 0) return;
            helicopter = timer.Every(configData.TimeBetween_Helicopters * 60, () =>
            {
                var heli = GameManager.server.CreateEntity("assets/prefabs/npc/patrol helicopter/patrolhelicopter.prefab", new Vector3(), new Quaternion(), true) as BaseHelicopter;
                if (heli != null)
                {
                heli.Spawn();
                }
            });
        }
        void InitXMas()
        {
            if (configData.TimeBetween_XMas <= 0) return;
            xMas = timer.Every(configData.TimeBetween_XMas * 60, () =>
            {
                rust.RunServerCommand("xmas.refill");
            });
        }
        void InitAirdrop()
        {
            if (configData.TimeBetween_Airdrops <= 0) return;
            airDrop = timer.Every(configData.TimeBetween_Airdrops * 60, () =>
            {
                var plane = (CargoPlane)GameManager.server.CreateEntity("assets/prefabs/npc/cargo plane/cargo_plane.prefab", new Vector3(), new Quaternion(), true);
                if (plane != null)
                {
                    plane.Spawn();
                }
            });
        }
        #endregion        

        #region Config        
        private ConfigData configData;
        class ConfigData
        {
            public int TimeBetween_Airdrops { get; set; }
            public int TimeBetween_Helicopters { get; set; }
            public int TimeBetween_XMas { get; set; }
        }
        private void LoadVariables()
        {
            LoadConfigVariables();
            SaveConfig();
        }
        protected override void LoadDefaultConfig()
        {
            var config = new ConfigData
            {
                TimeBetween_Airdrops = 0,
                TimeBetween_Helicopters = 0,
                TimeBetween_XMas = 0
            };
            SaveConfig(config);
        }
        private void LoadConfigVariables() => configData = Config.ReadObject<ConfigData>();
        void SaveConfig(ConfigData config) => Config.WriteObject(config, true);
        #endregion       
    }
}

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