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

FREE AirdropRandomizer : 0.1.1 0.1.1

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

namespace Oxide.Plugins
{
    [Info("Airdrop Randomizer", "k1lly0u", "0.1.1", ResourceId = 1898)]
    class AirdropRandomizer : RustPlugin
    {
        #region Fields
        private FieldInfo dropPosition;
        #endregion

        #region Oxide Hooks        
        void OnServerInitialized()
        {
            LoadVariables();
            dropPosition = typeof(CargoPlane).GetField("dropPosition", (BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic));
        }       
        void OnEntitySpawned(BaseEntity entity)
        {
            if (entity is CargoPlane)
                if (entity.GetComponent<CargoPlane>() != null)
                {
                    var plane = entity.GetComponent<CargoPlane>();                    
                    var location = (Vector3)dropPosition.GetValue(plane);
                    if (location != null)
                    {
                        var x = UnityEngine.Random.Range(location.x - configData.MaxDistance, location.x + configData.MaxDistance);
                        var z = UnityEngine.Random.Range(location.z - configData.MaxDistance, location.z + configData.MaxDistance);
                        plane.UpdateDropPosition(new Vector3(x, location.y, z));
                    } 
                }
        }       
        #endregion

        #region Config        
        private ConfigData configData;
        class ConfigData
        {
            public float MaxDistance { get; set; }
        }
        private void LoadVariables()
        {
            LoadConfigVariables();
            SaveConfig();
        }
        protected override void LoadDefaultConfig()
        {
            var config = new ConfigData
            {
                MaxDistance = 300f
            };
            SaveConfig(config);
        }
        private void LoadConfigVariables() => configData = Config.ReadObject<ConfigData>();
        void SaveConfig(ConfigData config) => Config.WriteObject(config, true);
        #endregion
    }
}

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