setMissileTargetPos: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Fix code)
 
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Command|=
{{RV|type=command
____________________________________________________________________________________________


| arma3 |Game=
|game1= arma3
|version1= 1.92


|1.92|Game Version =
|gr1= Object Manipulation


|arg=  |Multiplayer Arguments =
|gr2= Weapons


|eff= |Multiplayer Effects =
|descr= Sets a guided munition target position.
The munition must have {{hl|manualControl}} config entry to use this command.
The target position has to be inside the missile's configured targeting cone for the command to work.


|serverExec= |Multiplayer Execution =("server" or empty)
|s1= munition [[setMissileTargetPos]] position
____________________________________________________________________________________________
 
| Sets a guided munition target position. The munition must have {{Inline code|manualControl}} config to use this command. The target position has to be inside configured missile targeting cone for command to work.|Description=
____________________________________________________________________________________________
 
| munition [[setMissileTargetPos]] position |Syntax=


|p1= munition: [[Object]]
|p1= munition: [[Object]]


|p2= position: [[PositionAGL]]  
|p2= position: [[Array]] format [[Position#PositionATL|PositionATL]]  


| [[Nothing]] |Return Value=
|r1= [[Nothing]]
____________________________________________________________________________________________


|x1= <code>missile1 [[setMissileTargetPos]] [[unitAimPosition]] tank1;</code> |Example 1=
|x1= <sqf>missile1 setMissileTargetPos unitAimPosition tank1;</sqf>


|x2= <code>_missile = [[createVehicle]] ["M_Scalpel_AT",([[player]] [[modelToWorld]] [0,0,100]),[],0,"CAN_COLLIDE"];
|x2= <sqf>
_missile [[setMissileTargetPos]] ([[player]] [[modelToWorld]] [0,100,0]);</code> |Example 2=
private _missile = createVehicle ["M_Scalpel_AT", player modelToWorld [0,0,100], [], 0, "CAN_COLLIDE"];
____________________________________________________________________________________________
_missile setMissileTargetPos (player modelToWorld [0,100,0]);
</sqf>


|mp= - |Multiplayer Behaviour=
|seealso= [[missileTargetPos]] [[setMissileTarget]] [[missileTarget]]
 
| [[missileTargetPos]] [[setMissileTarget]] [[missileTarget]] |See Also=
}}
}}


<dl class="command_description">
{{Note
<!-- BEGIN Note Section -->
|user= Benargee
<!-- For example:
|timestamp= 20200413060400
<dd class="notedate">Posted on Month Day, Year - Time (UTC)</dd>
|text= To get list of compatible missiles with <syntaxhighlight lang="cpp" inline>manualControl = 1</syntaxhighlight>, use the below script and paste the clipboard results to a text editor.
<dt class="note">'''[[User:User Name|User Name]]'''</dt>
<sqf>
<dd class="note">This is an example note. It is true and verifiable, and contains a little code snippet.
private _cfgCount = count (configfile >> "CfgAmmo");
<code>[[if]] ([[_this]] == anExample) [[then]] { [[hint]] "Leave it here for others to read"; };</code></dd>
private _pasteStr = "";
-->
<!-- END Note Section -->
</dl>


<h3 style="display:none">Bottom Section</h3>
for "_x" from 0 to (_cfgCount - 1) do {
<!-- Appropriate categories go here -->
_cfg = (configFile >> "CfgAmmo") select _x;
_ammoClassName = configName _cfg;
private _manCtrl = getNumber (configFile >> "CfgAmmo" >> _ammoClassName >> "manualControl");
if (_manCtrl > 0) then {
_pasteStr = _pasteStr + _ammoClassName + endl;
};
};


[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
copyToClipboard _pasteStr;
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
</sqf>
}}


<!-- CONTINUE Notes -->
{{Note
<dl class="command_description">
|user= Lou Montana
<dd class="notedate">Posted on April 13, 2020 - 06:04 (UTC)</dd>
|timestamp= 20220812220600
<dt class="note">[[User:benargee|benargee]]</dt>
|text= Tested with a player-controlled AH-99 firing DAGR, a civilian helicopter named {{hl|heli}} above water/land, and the following code:
<dd class="note">To get list of compatible missiles with manualControl of 1, use the below script and paste the clipboard results to a text editor.
<sqf>
<code>cfgCount count configfile "CfgAmmo"</code></dd>
if (!isNil "EH") then
</dl>
{
<!-- DISCONTINUE Notes -->
vehicle player removeEventHandler ["Fired", EH];
};
EH = vehicle player addEventHandler ["Fired", {
params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_missile", "_gunner"];
_missile setMissileTargetPos getPosATL heli; // changing here getPosATL / getPosASL / getPos
systemChat str [_missile, missileTarget _missile, missileTargetPos _missile];
}];
</sqf>
}}

Latest revision as of 22:08, 12 August 2022

Hover & click on the images for description

Description

Description:
Sets a guided munition target position. The munition must have manualControl config entry to use this command. The target position has to be inside the missile's configured targeting cone for the command to work.
Groups:
Object ManipulationWeapons

Syntax

Syntax:
munition setMissileTargetPos position
Parameters:
munition: Object
position: Array format PositionATL
Return Value:
Nothing

Examples

Example 1:
missile1 setMissileTargetPos unitAimPosition tank1;
Example 2:
private _missile = createVehicle ["M_Scalpel_AT", player modelToWorld [0,0,100], [], 0, "CAN_COLLIDE"]; _missile setMissileTargetPos (player modelToWorld [0,100,0]);

Additional Information

See also:
missileTargetPos setMissileTarget missileTarget

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
Benargee - c
Posted on Apr 13, 2020 - 06:04 (UTC)
To get list of compatible missiles with manualControl = 1, use the below script and paste the clipboard results to a text editor.
private _cfgCount = count (configfile >> "CfgAmmo"); private _pasteStr = ""; for "_x" from 0 to (_cfgCount - 1) do { _cfg = (configFile >> "CfgAmmo") select _x; _ammoClassName = configName _cfg; private _manCtrl = getNumber (configFile >> "CfgAmmo" >> _ammoClassName >> "manualControl"); if (_manCtrl > 0) then { _pasteStr = _pasteStr + _ammoClassName + endl; }; }; copyToClipboard _pasteStr;
Lou Montana - c
Posted on Aug 12, 2022 - 22:06 (UTC)
Tested with a player-controlled AH-99 firing DAGR, a civilian helicopter named heli above water/land, and the following code:
if (!isNil "EH") then { vehicle player removeEventHandler ["Fired", EH]; }; EH = vehicle player addEventHandler ["Fired", { params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_missile", "_gunner"]; _missile setMissileTargetPos getPosATL heli; // changing here getPosATL / getPosASL / getPos systemChat str [_missile, missileTarget _missile, missileTargetPos _missile]; }];