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

FREE SpawnToRoad : 0.0.1 0.0.1

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

namespace Oxide.Plugins
{
    [Info("SpawnToRoad", "Mercury", "0.0.1")]
    [Description("Модальное меню")]
    class SpawnToRoad : RustPlugin
    {
        public List<float> RandomShift = new List<float>
        {
            9f,
            -9f,
            -9.5f,
            9.5f,
            8f,
            -8f,
            10f,
            -10f
        };
        public List<Vector3> SpawnPoints = new List<Vector3>();

        #region Hooks
        private void OnServerInitialized() => NextTick(() => { GetRoads(); Puts($"Найдено позиций : {SpawnPoints.Count}"); });
        object OnPlayerRespawn(BasePlayer player)
        {
            Vector3 NewPositionSpawn = SpawnPoints.GetRandom();
            BasePlayer.SpawnPoint spawnPoint = new BasePlayer.SpawnPoint();
            spawnPoint.pos = NewPositionSpawn;
            return spawnPoint;
        }
        #endregion

        #region Metods

        bool GetCheckPositiont(Vector3 Position)
        {
            if (Physics.CheckSphere(Position, 15f, LayerMask.GetMask("Construction", "Default", "Deployed", "Trigger")))
                return false;
            return true;
        }

        void GetRoads()
        {
            foreach (PathList x in TerrainMeta.Path.Roads)
                foreach (var point in x.Path.Points.Where(p => GetCheckPositiont(p)))
                {
                    Vector3 SpawnPosition = new Vector3(point.x + RandomShift.GetRandom(), point.y, point.z + RandomShift.GetRandom());
                    SpawnPosition.y = TerrainMeta.HeightMap.GetHeight(SpawnPosition);
                    SpawnPoints.Add(SpawnPosition);
                }
        }

        #endregion
    }
}

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