---
name: "forceWeaponFire"
type: command
status: ok
groups: ["Unit Control", "Weapons"]
arma3_since: "0.50"
locality: {"argument": "local", "effect": "global", "server_exec": false}
source: https://community.bistudio.com/wiki/forceWeaponFire
revid: 379422
updated: 2026-10-31T00:04:25Z
---

# forceWeaponFire

*Command · Unit Control, Weapons · Arma 3 v0.50*

Locality: arguments **local** · effect **global**

## Description

The unit will be forced to fire weapon from the given muzzle. The weapon will not fire if firemode passed as parameter is not supported by the given muzzle. The muzzle could belong to a vehicle weapon and unit in this case will be the unit operating this weapon. Doesnt't seem to work for units in FFV positions. Works on [player](../commands/player.md). See also: [BIS_fnc_fire](../functions/BIS_fnc_fire.md)

## Syntax

```sqf
unit forceWeaponFire [muzzle, firemode]
```

**Parameters:**

- `unit`: [Object](../topics/Object.md) - unit alone or in vehicle
- `muzzle`: [String](../topics/String.md)
- `firemode`: [String](../topics/String.md) - common options are "Single", "Burst", "FullAuto". For the full list of a weapon firemodes:

  ```sqf
  hint str (getArray (configFile >> "CfgWeapons" >> currentWeapon player >> "modes"));
  ```

  If *modes[]* param in config for the weapon says *{"this"}*, then the same classname as for the weapon param ([currentWeapon](../commands/currentWeapon.md) [player](../commands/player.md)) should be used as firemode param.

**Returns:** [Nothing](../topics/Nothing.md)

## Examples

### Example 1

```sqf
_unit forceWeaponFire ["arifle_MX_F", "Single"];
_unit forceWeaponFire ["hgun_ACPC2_F", "hgun_ACPC2_F"];
_unit forceWeaponFire ["HandGrenadeMuzzle","HandGrenadeMuzzle"];
_unit forceWeaponFire ["MiniGrenadeMuzzle","MiniGrenadeMuzzle"];
_unit forceWeaponFire ["HandGrenade_Stone","HandGrenade_Stone"];
_unit forceWeaponFire ["SmokeShellMuzzle","SmokeShellMuzzle"];
_unit forceWeaponFire ["ChemlightGreenMuzzle","ChemlightGreenMuzzle"];
_unit forceWeaponFire ["IRGrenade","IRGrenade"];
_unit forceWeaponFire ["Laserdesignator","Laserdesignator"];
```

### Example 2

```sqf
gunner blackfoot forceWeaponFire ["gatling_20mm", "close"];
```

## See also

[currentWeapon](../commands/currentWeapon.md) · [currentWeaponMode](../commands/currentWeaponMode.md) · [setWeaponReloadingTime](../commands/setWeaponReloadingTime.md) · [selectWeapon](../commands/selectWeapon.md) · [fire](../commands/fire.md) · [doFire](../commands/doFire.md) · [commandFire](../commands/commandFire.md) · [canFire](../commands/canFire.md) · [fireAtTarget](../commands/fireAtTarget.md) · [commandArtilleryFire](../commands/commandArtilleryFire.md) · [commandSuppressiveFire](../commands/commandSuppressiveFire.md) · [doArtilleryFire](../commands/doArtilleryFire.md) · [doSuppressiveFire](../commands/doSuppressiveFire.md) · [isManualFire](../commands/isManualFire.md) · [BIS_fnc_fire](../functions/BIS_fnc_fire.md)

## Community notes

**Killzone_Kid** — 2013-08-25

Here is a neat workaround trick for firemode change from a script:

```sqf
_weapon = currentWeapon player;
_ammo = player ammo _weapon;
player setAmmo [_weapon, 0];
player forceWeaponFire [_weapon, "FullAuto"];
player setAmmo [_weapon, _ammo];
```

---

**ffur2007slx2_5** — 2014-04-14

(A3 1.16) [forceWeaponFire](../commands/forceWeaponFire.md) is no longer only limited to units, but can remote aircrafts weapon firing as well. Passed source unit should be the correct one who controls the weapon, if passed mode is "this", use the weapon name instead:

```sqf
_weapon = (weapons _veh) select 3;
_mode = (getArray (configFile >> "cfgweapons" >> _weapon >> "modes")) select 0;
if (_mode == "this") then {_mode = _weapon;};
(driver _veh) forceWeaponFire [_weapon, _mode];
//Force a CAS fire a rocket.
```

Currently this command is not available for land vehicle remote fire.

---

**Benargee** — 2014-09-02

Similar to Killzone_Kid's note, This fires the units current weapon in its current firemode.

```sqf
_unit forceWeaponFire [weaponState _unit select 1, weaponState _unit select 2];
```

---

**Killzone_Kid** — 2015-01-03

fireAtTarget command can be used to force fire gunner weapon in vehicles. A gunner must be present.

```sqf
_veh fireAtTarget [objNull];
```

Will fire one shot even if player is gunner.
[fire](../commands/fire.md) command can also be used to fire vehicle weapon, like smoke launcher for example:

```sqf
vehicle player fire "SmokeLauncher";
```

And if this doesn't work, it is possible to force fire via action

```sqf
tank action ["UseWeapon", tank, commander tank, 0];
```

<sub>Source: [BI Community Wiki — forceWeaponFire](https://community.bistudio.com/wiki/forceWeaponFire) (revision 379422).</sub>
