fireAtTarget: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (Text replacement - "↵↵</sqf>" to " </sqf>")
 
(38 intermediate revisions by the same user not shown)
Line 26: Line 26:
|r1= [[Boolean]] - [[true]] if fired, [[false]] if not
|r1= [[Boolean]] - [[true]] if fired, [[false]] if not


|x1= <code>_handle = this [[fireAtTarget]] [groundtarget1,"HellfireLauncher"];</code>
|x1= <sqf>_handle = this fireAtTarget [groundtarget1, "HellfireLauncher"];</sqf>


|x2= <code>_handle = Igla_AA_pod_TK_EP1 [[fireAtTarget]] [_helicopter, [[currentWeapon]] Igla_AA_pod_TK_EP1];</code>
|x2= <sqf>_handle = Igla_AA_pod_TK_EP1 fireAtTarget [_helicopter, currentWeapon Igla_AA_pod_TK_EP1];</sqf>


|x3= <code>_handle = Igla_AA_pod_TK_EP1 [[fireAtTarget]] [helicopter];</code>
|x3= <sqf>_handle = Igla_AA_pod_TK_EP1 fireAtTarget [helicopter];</sqf>


|seealso= [[fire]] [[doFire]] [[commandFire]] [[canFire]] [[forceWeaponFire]] [[commandArtilleryFire]], [[commandSuppressiveFire]], [[doArtilleryFire]], [[doSuppressiveFire]], [[isManualFire]], [[aimedAtTarget]], [[BIS_fnc_fire]]
|seealso= [[fire]] [[doFire]] [[commandFire]] [[canFire]] [[forceWeaponFire]] [[commandArtilleryFire]] [[commandSuppressiveFire]] [[doArtilleryFire]] [[doSuppressiveFire]] [[isManualFire]] [[aimedAtTarget]] [[BIS_fnc_fire]]
}}
}}


Line 45: Line 45:
|timestamp= 20140408165000
|timestamp= 20140408165000
|text= ({{arma3}} 1.14) Source vehicle is only limited to manned vehicle while any other types won’t be able to active [[fireAtTarget]] handle, e.g.
|text= ({{arma3}} 1.14) Source vehicle is only limited to manned vehicle while any other types won’t be able to active [[fireAtTarget]] handle, e.g.
<code>_handle = _InfantryUnit [[fireAtTarget]] [_Infnatrytarget,([[weapons]] _Infantryunit [[select]] 0)];
<sqf>
{{cc|false & no bullet shoot}}
_handle = _infantryUnit fireAtTarget [_infantryTarget, weapons _infantryUnit select 0];
</code>
// false & no bullet shoot
</sqf>
Target has no limitation and can be any object:
Target has no limitation and can be any object:
<code>_handle = ([[vehicle]] _veh) [[fireAtTarget]] [ObjNull,([[weapons]] ([[vehicle]] _veh) [[select]] 0)];
<sqf>
{{cc|true & a bullet shoot}}
_handle = (vehicle _veh) fireAtTarget [objNull, weapons (vehicle _veh) select 0];
</code>
// true & a bullet shoot
</sqf>
Handle returns false if weapon class name is inaccurate, e.g.
Handle returns false if weapon class name is inaccurate, e.g.
<code>_Handle = ([[vehicle]] _veh) [[fireAtTarget]] [ObjNull,”UnknownWeapon”];
<sqf>
{{cc|false & no bullet shoot}}
_handle = (vehicle _veh) fireAtTarget [ObjNull, "UnknownWeapon"];
</code>
// false & no bullet shoot
</sqf>
Handle still returns true even though the vehicle is unavailable to shoot any bullet:
Handle still returns true even though the vehicle is unavailable to shoot any bullet:
<code>_weapon = [[weapons]] ([[vehicle]] _veh) [[select]] 0;
<sqf>
([[vehicle]] _veh) [[setAmmo]] [_weapon,0];
_weapon = weapons (vehicle _veh) select 0;
_Handle = ([[vehicle]] _veh) [[fireAtTarget]] [ObjNull,_weapon];
(vehicle _veh) setAmmo [_weapon, 0];
{{cc|true & no bullet shoot}}
_handle = (vehicle _veh) fireAtTarget [objNull, _weapon];
</code>
// true & no bullet shoot
=== difference ===
</sqf>
 
=== Difference ===
 
{{{!}} class="wikitable sortable"
{{{!}} class="wikitable sortable"


Line 86: Line 92:
{{!}} Normal shoot, won’t aim at target automatically
{{!}} Normal shoot, won’t aim at target automatically
{{!}}
{{!}}
<code>_veh [[doWatch]] _target;
<sqf>
[[waitUntil]] { _veh [[aimedAtTarget]] [_target] > 0 };
_veh doWatch _target;
_veh [[fireAtTarget]] [_target];
waitUntil { _veh aimedAtTarget [_target] > 0 };
</code>
_veh fireAtTarget [_target];
</sqf>


{{!}}-
{{!}}-
Line 97: Line 104:
{{!}} Normal shoot, can change fire mode
{{!}} Normal shoot, can change fire mode
{{!}}
{{!}}
<code>{{cc|e.g. unit won't shoot until he is facing the target}}
<sqf>
_unit [[doWatch]] _tar;
// e.g. unit won't shoot until he is facing the target
[[waitUntil]] {
_unit doWatch _tar;
_dir = [[direction]] _unit;
waitUntil {
_relative = [_unit,_tar] [[call]] [[BIS_fnc_relativeDirTo]];
_dir = direction _unit;
[[if]] (_dir == _relative) [[exitWith]] {
_relative = [_unit,_tar] call BIS_fnc_relativeDirTo;
_unit [[forceWeaponFire]] [<nowiki/>[[currentWeapon]] _unit, "single"];
if (_dir == _relative) exitWith {
_unit forceWeaponFire [currentWeapon _unit, "single"];
};
};
[[false]]
false
};
};
</code>
</sqf>
{{!}}-
{{!}}-
{{!}} [[doFire]]
{{!}} [[doFire]]

Latest revision as of 19:48, 3 September 2024

Hover & click on the images for description

Description

Description:
Remotely forces a unit to fire the given weapon. See also BIS_fnc_fire.
Groups:
Unit ControlWeapons

Syntax

Syntax:
sourceVehicle fireAtTarget [targetVehicle, weaponMuzzleName]
Parameters:
sourceVehicle: Object - source vehicle to fire from
targetVehicle: Object - target vehicle to fire at
weaponMuzzleName: String - (Optional) weapon muzzle classname, optional parameter
Return Value:
Boolean - true if fired, false if not

Examples

Example 1:
_handle = this fireAtTarget [groundtarget1, "HellfireLauncher"];
Example 2:
_handle = Igla_AA_pod_TK_EP1 fireAtTarget [_helicopter, currentWeapon Igla_AA_pod_TK_EP1];
Example 3:
_handle = Igla_AA_pod_TK_EP1 fireAtTarget [helicopter];

Additional Information

See also:
fire doFire commandFire canFire forceWeaponFire commandArtilleryFire commandSuppressiveFire doArtilleryFire doSuppressiveFire isManualFire aimedAtTarget BIS_fnc_fire

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
Dwarden - c
Posted on Sep 16, 2010 - 08:17 (UTC)
Most likely only for missiles and for interaction with player only.
ffur2007slx2_5 - c
Posted on Apr 08, 2014 - 16:50 (UTC)

(Arma 3 1.14) Source vehicle is only limited to manned vehicle while any other types won’t be able to active fireAtTarget handle, e.g.

_handle = _infantryUnit fireAtTarget [_infantryTarget, weapons _infantryUnit select 0]; // false & no bullet shoot
Target has no limitation and can be any object:
_handle = (vehicle _veh) fireAtTarget [objNull, weapons (vehicle _veh) select 0]; // true & a bullet shoot
Handle returns false if weapon class name is inaccurate, e.g.
_handle = (vehicle _veh) fireAtTarget [ObjNull, "UnknownWeapon"]; // false & no bullet shoot
Handle still returns true even though the vehicle is unavailable to shoot any bullet:
_weapon = weapons (vehicle _veh) select 0; (vehicle _veh) setAmmo [_weapon, 0]; _handle = (vehicle _veh) fireAtTarget [objNull, _weapon]; // true & no bullet shoot

Difference

command Source Target Behavior Workaround templets
fire Either unit or manned vehicle N/A Fired aiming at air for infantry rifle Together with selectWeapon,

suggested to work with "throw","put" weapon type for infantry, or vehicle entity indeed.

fireAtTarget Manned vehicle only Any object Normal shoot, won’t aim at target automatically

_veh doWatch _target; waitUntil { _veh aimedAtTarget [_target] > 0 }; _veh fireAtTarget [_target];

forceWeaponFire Either unit or manned aircraft (weapon operator) N/A Normal shoot, can change fire mode

// e.g. unit won't shoot until he is facing the target _unit doWatch _tar; waitUntil { _dir = direction _unit; _relative = [_unit,_tar] call BIS_fnc_relativeDirTo; if (_dir == _relative) exitWith { _unit forceWeaponFire [currentWeapon _unit, "single"]; }; false };

doFire Unit only Either unit or vehicle automatic aiming and shooting No special example.
commandFire Unit only Either unit or vehicle automatic aiming and shooting No special example.
action ["UseWeapon"] Either unit or manned vehicle N/A unexpected behavior N/A