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

FREE BarricadeLimit : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System.Collections.Generic;
using UnityEngine;
using Oxide.Core.Plugins;
using Rust;

namespace Oxide.Plugins
{
    [Info("BarricadeLimit", "sdapro", "1.0.0")]
	//YouTube https://www.youtube.com/channel/UCaatLYzqycP6He7TEbK-IDA
	//https://t.me/+jb13FvJyK4o5MTli
    class BarricadeLimit : RustPlugin
    {
        private Dictionary<ulong, List<BaseEntity>> barricades = new Dictionary<ulong, List<BaseEntity>>();
        private Dictionary<string, int> barricadeLimits = new Dictionary<string, int>()
        {
            { "assets/prefabs/deployable/barricades/barricade.cover.wood.prefab", 4 },
            { "assets/prefabs/misc/xmas/icewalls/icewall.prefab", 2 },
            { "assets/prefabs/deployable/drone/drone.deployed.prefab", 1 },
            { "assets/prefabs/deployable/barricades/barricade.stone.prefab", 2 },
            { "assets/prefabs/deployable/barricades/barricade.sandbags.prefab", 2 },
            { "assets/prefabs/building/wall.external.high.wood/wall.external.high.wood.prefab", 50 },
            { "assets/prefabs/building/wall.external.high.stone/wall.external.high.stone.prefab", 50 },
            { "assets/prefabs/misc/xmas/icewalls/wall.external.high.ice.prefab", 50 },
            { "assets/prefabs/building/gates.external.high/gates.external.high.stone/gates.external.high.stone.prefab", 2 },
            { "assets/prefabs/building/gates.external.high/gates.external.high.wood/gates.external.high.wood.prefab", 2 }
        };

        private int GetBarricadeLimit(string prefabName)
{
    if (barricadeLimits.ContainsKey(prefabName))
        return barricadeLimits[prefabName];
    else
        return 0;
}

void OnEntityBuilt(Planner planner, GameObject gameObject)
{
    if (planner == null || gameObject == null)
        return;

    BasePlayer player = planner.GetOwnerPlayer();
    if (player == null)
        return;

    string prefabName = gameObject.name;
    int prefabLimit = GetBarricadeLimit(prefabName);

    if (prefabLimit <= 0)
        return;

    ulong playerId = player.userID;

    if (!barricades.ContainsKey(playerId))
        barricades[playerId] = new List<BaseEntity>();

    List<BaseEntity> playerBarricades = barricades[playerId];
    if (playerBarricades.Count >= prefabLimit)
    {
        BaseEntity oldBarricade = playerBarricades[0];
        oldBarricade.Kill();
        playerBarricades.RemoveAt(0);
    }

    BaseEntity newBarricade = gameObject.ToBaseEntity();
    playerBarricades.Add(newBarricade);
}
    }
}

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