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

FREE SimpleAirdrop : 0.0.3 0.0.3

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
// https://static.imperialplugins.com/Legal/LICENSE.txt

// For personal use only, not to be copied, distributed, altered or sold.// ImperialPlugins.com

using System;
using Newtonsoft.Json;
using Oxide.Core.Configuration;
using UnityEngine;

namespace Oxide.Plugins
{
    [Info("Simple Airdrop", "Dana", "0.0.3")]
    [Description("Modifies the Airdrop fall speed.")]
    public class SimpleAirdrop : RustPlugin
    {
        private PluginConfig _pluginConfig;
        protected override void LoadConfig()
        {
            var configPath = $"{Manager.ConfigPath}/{Name}.json";
            var newConfig = new DynamicConfigFile(configPath);
            if (!newConfig.Exists())
            {
                LoadDefaultConfig();
                newConfig.Save();
            }
            try
            {
                newConfig.Load();
            }
            catch (Exception ex)
            {
                RaiseError("Failed to load config file (is the config file corrupt?) (" + ex.Message + ")");
                return;
            }

            newConfig.Settings.DefaultValueHandling = DefaultValueHandling.Populate;
            _pluginConfig = newConfig.ReadObject<PluginConfig>();
            if (_pluginConfig.Config == null)
            {
                _pluginConfig.Config = new SimpleAirdropConfig
                {
                    AirResistance = 2
                };
            }

            newConfig.WriteObject(_pluginConfig);
            PrintWarning("Config Loaded");
        }
        protected override void LoadDefaultConfig()
        {
            PrintWarning("Loading Default Config");
        }

        private void OnEntitySpawned(SupplyDrop entity)
        {
            if (_pluginConfig.Config.AirResistance <= 0)
            {
                entity.RemoveParachute();
                return;
            }
            var rigidbody = entity.GetComponent<Rigidbody>();
            if (rigidbody != null)
            {
                rigidbody.drag = _pluginConfig.Config.AirResistance < 0.6f ? 0.6f : _pluginConfig.Config.AirResistance;
            }
        }
        void OnAirdrop(CargoPlane plane, Vector3 dropPosition)
        {
             plane.secondsToTake = Vector3.Distance(plane.startPos, plane.endPos) / _pluginConfig.Config.PlaneSpeed;
        }
        private class PluginConfig
        {
            public SimpleAirdropConfig Config { get; set; }
        }
        private class SimpleAirdropConfig
        {
            [JsonProperty(PropertyName = "Supply Drop Air Resistance (Default 2)")]
            public float AirResistance { get; set; } = 2f;
            [JsonProperty(PropertyName = "Plane Speed (Default 50)")]
            public float PlaneSpeed { get; set; } = 50f;
        }
    }
}

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