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

FREE BarricadeToHighWallReplacer : 1.1.2 1.1.2

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

namespace Oxide.Plugins
{
    [Info("BarricadeToHighWallReplacer", "YourName", "1.1.2")]
    [Description("Replaces double wooden barricades with high external wooden walls for players with permission.")]
    class BarricadeToHighWallReplacer : RustPlugin
    {
        // Название разрешения
        private const string PermissionUse = "barricadetohighwallreplacer.use";

        void Init()
        {
            // Регистрируем разрешение при загрузке плагина
            permission.RegisterPermission(PermissionUse, this);
        }

        void OnEntityBuilt(Planner planner, GameObject gameObject)
        {
            // Проверяем, что игрок построил объект
            BaseEntity entity = gameObject.GetComponent<BaseEntity>();
            if (entity == null || entity.PrefabName != "assets/prefabs/deployable/barricades/barricade.cover.wood_double.prefab")
                return;

            // Получаем игрока, который построил баррикаду
            BasePlayer player = planner.GetOwnerPlayer();
            if (player == null || !permission.UserHasPermission(player.UserIDString, PermissionUse))
                return;

            // Убираем баррикаду
            entity.Kill();

            // Создаём высокую внешнюю деревянную стену (High External Wooden Wall)
            Quaternion rotation = gameObject.transform.rotation;
            Vector3 position = gameObject.transform.position;
            BaseEntity wallEntity = GameManager.server.CreateEntity("assets/prefabs/building/wall.external.high.wood/wall.external.high.wood.prefab", position, rotation);

            if (wallEntity == null)
                return;

            // Устанавливаем владельца стены (чтобы можно было удалить)
            wallEntity.OwnerID = player.userID;

            // Игнорируем долгую установку (устанавливаем сразу)
            wallEntity.skinID = 0; // Убедимся, что используется стандартный скин
            wallEntity.SendNetworkUpdateImmediate();

            // Размещаем стену
            wallEntity.Spawn();

            // Воспроизводим звук удара молотка по металлу
            Effect.server.Run("assets/bundled/prefabs/fx/build/hammer_metal.prefab", wallEntity.transform.position);
        }
    }
}

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