/// <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); }
/// <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); //武器装備 }