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

FREE HelicopterInstantTakeoff : 0.0.9 0.0.9

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

namespace Oxide.Plugins
{
    [Info("Helicopter Instant Takeoff", "bsdinis", "0.0.9")]
    [Description("Allows helicopters to takeoff instantly when the engine starts.")]
    class HelicopterInstantTakeoff : RustPlugin
    {
        void Init()
        {
            try
            {
                config = Config.ReadObject<ConfigData>();
                if (config == null)
                {
                    throw new Exception();
                }
                else
                {
                    SaveConfig();
                }
            }
            catch
            {
                PrintError("CONFIG FILE IS INVALID!\nCheck config file and reload HelicopterInstantTakeoff.");
                Interface.Oxide.UnloadPlugin(Name);
                return;
            }

            if (!string.IsNullOrWhiteSpace(config.AirPermission) && !permission.PermissionExists(config.AirPermission))
            {
                permission.RegisterPermission(config.AirPermission, this);
            }
            if (!string.IsNullOrWhiteSpace(config.GroundPermission) && !permission.PermissionExists(config.GroundPermission))
            {
                permission.RegisterPermission(config.GroundPermission, this);
            }
        }

        ConfigData config;
        class ConfigData
        {
            public string AirPermission;
            public string GroundPermission;
        }

        protected override void LoadDefaultConfig()
        {
            config = new ConfigData
            {
                AirPermission = "helicopterinstanttakeoff.air",
                GroundPermission = "helicopterinstanttakeoff.ground"
            };
        }

        protected override void SaveConfig() => Config.WriteObject(config, true);

        bool DriverHasPermission(PlayerHelicopter heli, string perm)
        {
            List<BaseVehicle.MountPointInfo> mountPoints = heli.mountPoints;
            if (mountPoints == null || mountPoints.Count < 1)
            {
                return false;
            }
            BaseMountable mountable = mountPoints[0].mountable;
            if (mountable == null)
            {
                return false;
            }
            BasePlayer player = mountable._mounted;
            if (player == null || (!string.IsNullOrWhiteSpace(perm) && !permission.UserHasPermission(player.UserIDString, perm)))
            {
                return false;
            }
            return true;
        }

        object OnEngineStart(PlayerHelicopter heli)
        {
            if (!DriverHasPermission(heli, (!heli.Grounded() ? config.AirPermission : config.GroundPermission)))
            {
                return null;
            }
            heli.engineController.FinishStartingEngine();
            return false;
        }
    }
}

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