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

FREE UberGun : 1.0.0 1.0.0

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

namespace Oxide.Plugins
{
    [Info("UberGun", "Synvy", "1.0.0")]
    [Description("Allows players with permission to shoot rockets from the Snowball Gun!")]
    public class UberGun : RustPlugin
    {
        #region Initialize

        private const string _perm = "ubergun.use";
        private string rocket_basic = "assets/prefabs/ammo/rocket/rocket_basic.prefab";

        private void Init()
        {
            permission.RegisterPermission(_perm, this);
        }

        #endregion Initialize

        #region Hooks

        private void OnWeaponFired(BaseProjectile weapon, BasePlayer player, ItemModProjectile ammo, ProtoBuf.ProjectileShoot projectiles)
        {
            if (player != null && HasPerm(player.UserIDString, _perm) && IsHoldingSnowballGun(player))
            {
                var rocket = GameManager.server.CreateEntity(rocket_basic, player.eyes.position, new Quaternion());

                if (rocket_basic != null)
                {
                    rocket.creatorEntity = player;
                    rocket.SendMessage("InitializeVelocity", player.eyes.HeadForward() * 2000f);
                    rocket.OwnerID = player.userID;
                    rocket.Spawn();
                    rocket.ClientRPC(null, "RPCFire");
                }

                var heldWeapon = weapon.GetItem();
                heldWeapon.condition = heldWeapon.info.condition.max;

                if (weapon.primaryMagazine.contents <= 0)
                {
                    weapon.primaryMagazine.contents = weapon.primaryMagazine.capacity;
                    weapon.SendNetworkUpdateImmediate();
                } 
            }

            return;
        }

        #endregion Hooks

        #region Helpers

        private bool HasPerm(string id, string perm) => permission.UserHasPermission(id, perm);

        private bool IsHoldingSnowballGun(BasePlayer player)
        {
            var heldItem = player.GetActiveItem()?.info.shortname ?? "null";
            return heldItem == "snowballgun";
        }

        #endregion Helpers
    }
}

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

Другие ресурсы пользователя 15FPS

Сверху