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

FREE LadderFlyhack : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using UnityEngine;
using VLB;

namespace Oxide.Plugins
{
    [Info("LadderFlyhack", "Razor", "1.0.0")]
    [Description("Fix Ladder Flyhack Violation")]
    public class LadderFlyhack : RustPlugin
    {
        #region Init/Unload
        private void Init() => Unsubscribe(nameof(OnEntitySpawned));

        private void OnServerInitialized()
        {
            foreach (var entity in BaseNetworkable.serverEntities)
            {
                var miningQuarry = entity as MiningQuarry;
                if (miningQuarry == null)
                    continue;

                OnEntitySpawned(miningQuarry);
            }

            Subscribe(nameof(OnEntitySpawned));
        }

        private void Unload()
        {
            foreach (var entity in BaseNetworkable.serverEntities)
            {
                var quarry = entity as MiningQuarry;
                if ((object)quarry == null || quarry.isStatic)
                    continue;

                FlyHackFix.RemoveFromEntity(quarry);
            }
        }
        #endregion

        #region Hooks
        private void OnEntitySpawned(MiningQuarry entity)
        {
            if (!entity.isStatic)
                FlyHackFix.AddToEntity(entity);
        }
        #endregion

        #region QuarryTrigger
        private class FlyHackFix : MonoBehaviour
        {
            public static void AddToEntity(BaseEntity entity)
            {
                BaseEntity test = null;
                var companion = entity.gameObject.AddComponent<FlyHackFix>();
                var gameObject = entity.gameObject.CreateChild();
                gameObject.layer = (int)Rust.Layer.Trigger;
                companion._child = gameObject;
                var collider = gameObject.GetOrAddComponent<BoxCollider>();
                collider.isTrigger = true;

                if (entity.name.Contains("pumpjack"))
                {
                    gameObject.transform.localPosition = new Vector3(-3.85f, 3.03f, 1.65f);
                }
                else
                {
                    gameObject.transform.localPosition = new Vector3(1.55f, 6.03f, -2.01f);
                }

                collider.size = new Vector3(0.90f, 10.27f, 0.50f);
                TriggerLadder triggerLadder = gameObject.AddComponent<TriggerLadder>();
                triggerLadder.interestLayers = Rust.Layers.Mask.Player_Server;
                triggerLadder.Type = TriggerLadder.LadderType.Rungs;
                triggerLadder.name = "ladder trigger";
                collider.name = "ladder trigger";
            }

            public static void RemoveFromEntity(BaseEntity entity)
            {
                DestroyImmediate(entity.gameObject.GetComponent<FlyHackFix>());
            }

            private GameObject _child;

            private void OnDestroy()
            {
                DestroyImmediate(_child);
            }
        }
        #endregion
    }
}

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