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

FREE Infinity : 0.0.1 0.0.1

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
namespace Oxide.Plugins
{
    [Info("Infinity", "Nikita -", "0.0.1")]
    class Infinity : RustPlugin
    {

        /////#region Permissions/////

        private void Init()
        {
          permission.RegisterPermission("infinity.durability", this);
          permission.RegisterPermission("infinity.explosives", this);
          permission.RegisterPermission("infinity.rockets", this);
          permission.RegisterPermission("infinity.ammo", this);
          permission.RegisterPermission("infinity.thrown", this);
        }
        bool IsAllowed(BasePlayer player, string perm)
        {
            if (permission.UserHasPermission(player.userID.ToString(), perm)) return false;
            return true;
        }

        /////#endregion Permissions/////

        /////#region Weapon Hooks/////

        private void OnLoseCondition(Item item, ref float amount)
        {
            var player = item?.GetOwnerPlayer();
            if (player == null) return;
            if (IsAllowed(player, "infinity.durability")) return;
            player.GetActiveItem().condition = player.GetActiveItem().info.condition.max;
            item.condition = item.maxCondition;
        }


        private void OnWeaponFired(BaseProjectile projectile, BasePlayer player)
        {
            if (player == null) return;
            if (IsAllowed(player, "infinity.ammo")) return;
            if (projectile.primaryMagazine.contents > 0) return;
            projectile.primaryMagazine.contents = projectile.primaryMagazine.capacity;
            projectile.SendNetworkUpdateImmediate();
        }


        private void OnRocketLaunched(BasePlayer player)
        {
            if (player == null) return;
            if (IsAllowed(player, "infinity.rockets")) return;
            var weapon = player.GetActiveItem().GetHeldEntity() as BaseProjectile;
            if (weapon == null) return;
            if (weapon.primaryMagazine.contents > 0) return;
            weapon.primaryMagazine.contents = weapon.primaryMagazine.capacity;
            weapon.SendNetworkUpdateImmediate();
        }


        private void OnExplosiveThrown(BasePlayer player)
        {
            if (player == null) return;
            if (IsAllowed(player, "infinity.explosives")) return;
            var weapon = player.GetActiveItem().GetHeldEntity() as ThrownWeapon;
            if (weapon == null) return;
                weapon.GetItem().amount += 1;
        }


        private void OnMeleeThrown(BasePlayer player, Item item)
        {
            if (player == null) return;
            if (IsAllowed(player, "infinity.thrown")) return;
            Item targetItem = player.inventory.containerBelt.FindItemsByItemName(item.info.shortname);
            if (targetItem != null)
            {
                targetItem.amount += 1;
                return;
            }
            Item newItem = ItemManager.CreateByPartialName(item.info.shortname, 1);
            newItem.MoveToContainer(player.inventory.containerBelt);

            /////#endregion Weapon Hooks/////
        }
    }
}

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