BIS fnc fire: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|= Game name" to "|Game name=")
m (Text replacement - "|arg= global|eff= global" to "|arg= global |eff= global")
 
(27 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{RV|type=function


{{Function|Comments=
|game1= arma3
____________________________________________________________________________________________
|version1= 1.74


| arma3 |Game name=
|gr1= Weapons


|1.73|Game version=
|gr2= Object Manipulation


|arg=global |= Arguments in MP
|gr3= Combat


|eff= global |= Effects in MP
|arg= global
____________________________________________________________________________________________
|eff= global


| Makes a unit or a vehicle fire given muzzle. Make sure that there is some ammo to fire, and, in case of a unit, the weapon with given muzzle is already selected. '''The function is global, so please do not put it in unit or vehicle init.'''
|descr= Makes a unit or a vehicle fire given muzzle. Make sure that there is some ammo to fire, and, in case of a unit, the weapon with given muzzle is already selected. It can be used to fire pretty much any muzzle on unit or vehicle from anywhere. Available weapons could usually be found with [[weapons]], [[weaponsTurret]] and [[allTurrets]] commands.


<br><br>The function can be used to fire pretty much any muzzle on unit or vehicle from anywhere. Available weapons could usually be found with [[weapons]], [[weaponsTurret]] and [[allTurrets]] commands. See examples below for possible use.
|mp= The function is global, it is not to be used in unit fields.


<br><br>Known issues: unit will not fire its weapon from FFV position. This is due to [[forceWeaponFire]] command ignoring units in FFV.|DESCRIPTION=
|pr= unit will not fire its weapon from FFV position. This is due to [[forceWeaponFire]] command ignoring units in FFV.
____________________________________________________________________________________________


| [entity, muzzle, turret] call [[BIS_fnc_fire]] |SYNTAX=
|s1= [entity, muzzle, turret] call [[BIS_fnc_fire]]
|p1= entity: [[Object]] - unit or vehicle|PARAMETER1=
|p2= muzzle: [[String]] -  muzzle name of the muzzle to fire|PARAMETER2=
|p3= turret (Optional): [[Array]] - turret path of the turret with given muzzle (vehicles only) |PARAMETER3=


|[[Boolean]] - in SP and on hosted server in MP or [[Nothing]] on client in MP. When boolean, [[true]] if all checks have passed and muzzle should have fired, [[false]] if there was a problem, for example:
|p1= entity: [[Object]] - unit or vehicle
 
|p2= muzzle: [[String]] -  muzzle name of the muzzle to fire
 
|p3= turret: [[Array]] - (Optional) turret path of the turret with given muzzle (vehicles only)
 
|r1= [[Boolean]] - in SP and on hosted server in MP or [[Nothing]] on client in MP. When boolean, [[true]] if all checks have passed and muzzle should have fired, [[false]] if there was a problem, like:
* no ammo
* no ammo
* non-existing muzzle
* non-existing muzzle
* the muzzle is on weapon that is not selected
* the muzzle is on a weapon that is not selected
* the weapon has no unit operating it |RETURNVALUE=
* the weapon has no unit operating it
____________________________________________________________________________________________


|x1= <code>marshall = "B_APC_Wheeled_01_cannon_F" [[createVehicle]] [[position]] [[player]];
|x1= <sqf>
[[createVehicleCrew]] marshall;
marshall = "B_APC_Wheeled_01_cannon_F" createVehicle position player;
createVehicleCrew marshall;


[marshall, "HE"] [[call]] [[BIS_fnc_fire]]; // fires HE muzzle of the main cannon
[marshall, "HE"] call BIS_fnc_fire; // fires HE muzzle of the main cannon
[marshall, "AP"] [[call]] [[BIS_fnc_fire]]; // fires AP muzzle of the main cannon
[marshall, "AP"] call BIS_fnc_fire; // fires AP muzzle of the main cannon
[marshall, "autocannon_40mm_CTWS"] [[call]] [[BIS_fnc_fire]]; // fires HE muzzle, because it is default
[marshall, "autocannon_40mm_CTWS"] call BIS_fnc_fire; // fires HE muzzle, because it is default
[marshall, "LMG_M200_body"] [[call]] [[BIS_fnc_fire]]; // fires machine gun
[marshall, "LMG_M200_body"] call BIS_fnc_fire; // fires machine gun
[marshall, "SmokeLauncher"] [[call]] [[BIS_fnc_fire]]; // fires smoke launcher
[marshall, "SmokeLauncher"] call BIS_fnc_fire; // fires smoke launcher
[marshall, "TruckHorn"] [[call]] [[BIS_fnc_fire]]; // beeps the horn</code> |=
[marshall, "TruckHorn"] call BIS_fnc_fire; // beeps the horn
</sqf>


|x2= <code>[bob, "SmokeShellMuzzle"] [[call]] [[BIS_fnc_fire]]; // bob throws smoke grenade, if he has one
|x2= <sqf>
[bob, "HandGrenadeMuzzle"] [[call]] [[BIS_fnc_fire]]; // bob throws hand grenade, if he has one</code> |=
[bob, "SmokeShellMuzzle"] call BIS_fnc_fire; // bob throws smoke grenade, if he has one
[bob, "HandGrenadeMuzzle"] call BIS_fnc_fire; // bob throws hand grenade, if he has one
</sqf>


|x3= <code>blackfoot = "B_Heli_Attack_01_dynamicLoadout_F" [[createVehicle]] [[position]] [[player]];
|x3= <sqf>
[[createVehicleCrew]] blackfoot;
blackfoot = "B_Heli_Attack_01_dynamicLoadout_F" createVehicle position player;
createVehicleCrew blackfoot;


[blackfoot, "missiles_DAGR"] [[call]] [[BIS_fnc_fire]]; // fires missiles
[blackfoot, "missiles_DAGR"]   call BIS_fnc_fire; // fires missiles
[blackfoot, "missiles_ASRAAM"] [[call]] [[BIS_fnc_fire]]; // fires missiles
[blackfoot, "missiles_ASRAAM"] call BIS_fnc_fire; // fires missiles
[blackfoot, "gatling_20mm"] [[call]] [[BIS_fnc_fire]]; // fires machine gun
[blackfoot, "gatling_20mm"]   call BIS_fnc_fire; // fires machine gun
[blackfoot, "CMFlareLauncher"] [[call]] [[BIS_fnc_fire]]; // fires chaff</code> |=
[blackfoot, "CMFlareLauncher"] call BIS_fnc_fire; // fires chaff
</sqf>


|x4= <code><nowiki>[</nowiki>[[vehicle]] mortargunner, "mortar_82mm"] [[call]] [[BIS_fnc_fire]]; // mortargunner fires mortar</code>|=
|x4= <sqf>[vehicle mortargunner, "mortar_82mm"] call BIS_fnc_fire; // mortargunner fires mortar</sqf>
____________________________________________________________________________________________
 
| [[fire]], [[fireAtTarget]], [[forceWeaponFire]]|SEEALSO=


|seealso= [[fire]] [[fireAtTarget]] [[forceWeaponFire]]
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Function Group: Combat|{{uc:fire}}]]
[[Category:Functions|{{uc:fire}}]]
[[Category:{{Name|arma3}}: Functions|{{uc:fire}}]]

Latest revision as of 01:28, 11 September 2023

Hover & click on the images for description

Description

Description:
Makes a unit or a vehicle fire given muzzle. Make sure that there is some ammo to fire, and, in case of a unit, the weapon with given muzzle is already selected. It can be used to fire pretty much any muzzle on unit or vehicle from anywhere. Available weapons could usually be found with weapons, weaponsTurret and allTurrets commands.
Execution:
call
Multiplayer:
The function is global, it is not to be used in unit fields.
Problems:
unit will not fire its weapon from FFV position. This is due to forceWeaponFire command ignoring units in FFV.
Groups:
WeaponsObject ManipulationCombat

Syntax

Syntax:
[entity, muzzle, turret] call BIS_fnc_fire
Parameters:
entity: Object - unit or vehicle
muzzle: String - muzzle name of the muzzle to fire
turret: Array - (Optional) turret path of the turret with given muzzle (vehicles only)
Return Value:
Boolean - in SP and on hosted server in MP or Nothing on client in MP. When boolean, true if all checks have passed and muzzle should have fired, false if there was a problem, like:
  • no ammo
  • non-existing muzzle
  • the muzzle is on a weapon that is not selected
  • the weapon has no unit operating it

Examples

Example 1:
marshall = "B_APC_Wheeled_01_cannon_F" createVehicle position player; createVehicleCrew marshall; [marshall, "HE"] call BIS_fnc_fire; // fires HE muzzle of the main cannon [marshall, "AP"] call BIS_fnc_fire; // fires AP muzzle of the main cannon [marshall, "autocannon_40mm_CTWS"] call BIS_fnc_fire; // fires HE muzzle, because it is default [marshall, "LMG_M200_body"] call BIS_fnc_fire; // fires machine gun [marshall, "SmokeLauncher"] call BIS_fnc_fire; // fires smoke launcher [marshall, "TruckHorn"] call BIS_fnc_fire; // beeps the horn
Example 2:
[bob, "SmokeShellMuzzle"] call BIS_fnc_fire; // bob throws smoke grenade, if he has one [bob, "HandGrenadeMuzzle"] call BIS_fnc_fire; // bob throws hand grenade, if he has one
Example 3:
blackfoot = "B_Heli_Attack_01_dynamicLoadout_F" createVehicle position player; createVehicleCrew blackfoot; [blackfoot, "missiles_DAGR"] call BIS_fnc_fire; // fires missiles [blackfoot, "missiles_ASRAAM"] call BIS_fnc_fire; // fires missiles [blackfoot, "gatling_20mm"] call BIS_fnc_fire; // fires machine gun [blackfoot, "CMFlareLauncher"] call BIS_fnc_fire; // fires chaff
Example 4:
[vehicle mortargunner, "mortar_82mm"] call BIS_fnc_fire; // mortargunner fires mortar

Additional Information

See also:
fire fireAtTarget forceWeaponFire

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note