Esempio n. 1
0
        /// <summary>
        /// 市民に武器をもたせる
        /// </summary>
        /// <param name="ped">市民</param>
        /// <returns>装備した武器</returns>
        private Weapon GiveWeaponTpPed(Ped ped)
        {
            try
            {
                if (!ped.IsSafeExist())
                {
                    return(Weapon.UNARMED);
                }
                //市民の武器を変更して良いか調べる
                if (!chaosChecker.IsPedChangebalWeapon(ped))
                {
                    return(Weapon.UNARMED);
                }

                //車に乗っているなら車用の武器を渡す
                var weapon = ped.IsInVehicle()
                    ? CurrentWeaponProvider.GetRandomDriveByWeapon()
                    : CurrentWeaponProvider.GetRandomWeaponExcludeClosedWeapon();

                var weaponhash = (int)weapon;

                ped.SetDropWeaponWhenDead(false); //武器を落とさない
                ped.GiveWeapon(weaponhash, 1000); //指定武器所持
                ped.EquipWeapon(weaponhash);      //武器装備
                return(weapon);
            }
            catch (Exception e)
            {
                LogWrite("AttachPedWeaponError!" + e.Message);
            }
            return(Weapon.UNARMED);
        }
Esempio n. 2
0
        /// <summary>
        /// 市民に武器をもたせる
        /// </summary>
        /// <param name="ped">市民</param>
        /// <returns>装備した武器</returns>
        private void GiveWeaponTpPed(Ped ped)
        {
            if (!ped.IsSafeExist())
            {
                return;
            }

            //車に乗っているなら車用の武器を渡す
            var weapon = Enum.GetValues(typeof(WeaponHash))
                         .Cast <WeaponHash>()
                         .OrderBy(c => random.Next())
                         .FirstOrDefault();

            var weaponhash = (int)weapon;

            ped.SetDropWeaponWhenDead(false); //武器を落とさない
            ped.GiveWeapon(weaponhash, 1000); //指定武器所持
            ped.EquipWeapon(weaponhash);      //武器装備
        }