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

FREE TimedCommands : 1.0.3 1.0.3

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

namespace Oxide.Plugins
{   
    
    [Info("Timed Commands", "Bilumer", "1.0.3")]
    [Description("Run commands at a random time")]
    class TimedCommands : RustPlugin
    {
        public int numberOfEvents = 1;
        public int eventNumber = 0;
        private ConfigData config;

        protected override void LoadDefaultConfig()
        {
            Puts("Creating new config file.");
            config = ConfigData.BaseConfig();
            numberOfEvents = config.ComList.Count;
        }

        protected override void LoadConfig()
        {
            base.LoadConfig();
            config = Config.ReadObject<ConfigData>();
            numberOfEvents = config.ComList.Count;
        }
        protected override void SaveConfig()
        {
            Config.WriteObject(config);
        }
        
        private class ConfigData
        {
            [JsonProperty(PropertyName = "Command List")]
            public List<string> ComList = new List<string>();

            [JsonProperty(PropertyName = "Longest Time In Seconds")]
            public float upper;

            [JsonProperty(PropertyName = "Shortest Time In Seconds")]
            public float lower;

            [JsonProperty(PropertyName = "In Order")]
            public bool order;

            public static ConfigData BaseConfig()
            {
                return new ConfigData()
                {
                    ComList = new List<string>{"randomCommand", "randomCommand1", "randomCommand2"},
                    upper = 500,
                    lower = 200,
                    order = true
                };
            }
        }
        
        void Loaded()
        {
         Timer() ;
        }

        void Timer()
        {
            float TimedCommands = UnityEngine.Random.Range(config.lower, config.upper);
            timer.Once(TimedCommands, () =>
            {
               CallCom();
            });
        }
        void CallCom()
        {
            eventNumber++;
            eventNumber = eventNumber % numberOfEvents;
            if (config.order) 
            {
                var command = config.ComList[eventNumber];
                covalence.Server.Command(command);
                Puts($"Command called '{command}'");
                Timer();
            }
            else 
            {
                var command = config.ComList[new System.Random().Next(config.ComList.Count())];
                covalence.Server.Command(command);
                Puts($"Command called '{command}'");
                Timer();
            }
            

        }
    }
}

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