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

FREE SimpleSpawn : 1.6.0 1.6.0

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

namespace Oxide.Plugins
{
    [Info("SimpleSpawn", "YourName", "1.6.0")]
    [Description("Базовая система кастомного спавна")]
    public class SimpleSpawn : RustPlugin
    {
        private Vector3? _spawn;
        private const string PERM = "simplespawn.admin";

        void Init()
        {
            permission.RegisterPermission(PERM, this);
            try { _spawn = Interface.Oxide.DataFileSystem.ReadObject<SpawnData>(Name)?.Position; }
            catch { }
        }

        void OnPlayerInit(BasePlayer p) => Spawn(p);
        void OnPlayerRespawned(BasePlayer p) => Spawn(p);

        [ChatCommand("spawn")]
        void CmdSpawn(BasePlayer p, string cmd, string[] args)
        {
            if (!permission.UserHasPermission(p.UserIDString, PERM))
            {
                p.ChatMessage("Нет прав!");
                return;
            }

            if (args.Length == 0)
            {
                p.ChatMessage(_spawn.HasValue 
                    ? $"Точка спавна: {_spawn.Value}" 
                    : "Точка спавна не установлена");
                return;
            }

            switch (args[0].ToLower())
            {
                case "set":
                    _spawn = p.transform.position;
                    SaveData();
                    p.ChatMessage("Точка спавна установлена!");
                    break;
                case "none":
                    _spawn = null;
                    SaveData();
                    p.ChatMessage("Точка спавна сброшена");
                    break;
            }
        }

        void Spawn(BasePlayer p)
        {
            if (_spawn.HasValue && p.IsConnected)
                p.transform.position = _spawn.Value;
        }

        void SaveData() => Interface.Oxide.DataFileSystem.WriteObject(Name, new SpawnData { Position = _spawn ?? Vector3.zero });

        class SpawnData { public Vector3 Position { get; set; } }
    }
}

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