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

FREE Thieving : 0.0.2 0.0.2

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

namespace Oxide.Plugins
{
    [Info("Thieving", "bsdinis", "0.0.2")]
    [Description("Drop random items from your victim when you hit them with a Torch.")]
    class Thieving : RustPlugin
    {
        void Loaded()
        {
            permission.RegisterPermission("thieving.use", this);
            permission.RegisterPermission("thieving.immune", this);
            permission.RegisterPermission("thieving.nocooldown", this);
        }
        List<ulong> cooldown = new List<ulong>();

        void OnMeleeAttack(BasePlayer attacker, HitInfo info)
        {
            if (attacker?.GetActiveItem().info.shortname != "torch" || !permission.UserHasPermission(attacker.UserIDString, "thieving.use") || cooldown.Contains(attacker.userID)) return;
            var victim = info?.HitEntity as BasePlayer;
            if (victim == null || !victim.userID.IsSteamId() || permission.UserHasPermission(victim.UserIDString, "thieving.immune")) return;
            List<Item> victimItems = new List<Item>();
            victimItems.AddRange(victim.inventory.containerMain.itemList);
            victimItems.AddRange(victim.inventory.containerBelt.itemList);
            victimItems.AddRange(victim.inventory.containerWear.itemList);
            var victimActiveItem = victim.GetActiveItem();
            if (victimActiveItem != null && victimItems.Contains(victimActiveItem)) victimItems.Remove(victimActiveItem);
            if (victimItems.Count < 1) return;
            int a = Random.Range(1, 3);
            for (int i = 0; i < a && victimItems.Count > 0; i++)
            {
                int r = Random.Range(0, victimItems.Count - 1);
                victimItems[r].DropAndTossUpwards(victim.transform.position);
                victimItems.Remove(victimItems[r]);
            }
            if (permission.UserHasPermission(attacker.UserIDString, "thieving.nocooldown")) return;
            cooldown.Add(attacker.userID);
            timer.Once(5f, () => cooldown.Remove(attacker.userID) );
        }
    }
}

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