BIS fnc packStaticWeapon: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "{{Feature|Informative|" to "{{Feature|informative|")
 
(7 intermediate revisions by the same user not shown)
Line 8: Line 8:
|descr= This function will make weapon team pack a static weapon. The weapon crew will pack carried weapon (or given weapon if different) and follow leader. Requires three personnel in the team: Team Leader, Gunner and Asst. Gunner. This function is MP compatible
|descr= This function will make weapon team pack a static weapon. The weapon crew will pack carried weapon (or given weapon if different) and follow leader. Requires three personnel in the team: Team Leader, Gunner and Asst. Gunner. This function is MP compatible
<br><br>
<br><br>
When weapon is packed, scripted EH "StaticWeaponPacked" is called with the following params:  
When the weapon is packed, scripted EH "StaticWeaponPacked" is called with the following params:  
* [group, leader, gunner, assistant, weaponBag, tripodBag]
* [group, leader, gunner, assistant, weaponBag, tripodBag]


{{Feature|Informative|If a unit flees, all bets are off and the function will exit leaving units on their own. To guarantee weapon disassembly, make sure the group has maximum courage <code>_group allowFleeing 0;</code>}}
{{Feature|informative|If a unit flees, all bets are off and the function will exit leaving units on their own. To guarantee weapon disassembly, make sure the group has maximum courage <sqf>_group allowFleeing 0;</sqf>}}


|s1=[group, weapon, leaderPos] call [[BIS_fnc_packStaticWeapon]]
|s1= [group, weapon, leaderPos] call [[BIS_fnc_packStaticWeapon]]


|p1= group: [[Group]] or [[Object]] - the support team group or a unit from this group
|p1= group: [[Group]] or [[Object]] - the support team group or a unit from this group
|p2= weapon (Optional): [[Object]] - weapon to pack. If [[nil]], current group weapon is packed
|p2= weapon: [[Object]] - (Optional) weapon to pack. If [[nil]], current group weapon is packed


|p3= leaderPos (Optional): [[Array]], [[String]] or [[Object]] - position, object or marker the group leader should move to after weapon is packed. By default the group will resume on to the next assigned waypoint. If this param is provided, group will not go to the next waypoint and will move to given position instead
|p3= leaderPos: [[Array]], [[String]] or [[Object]] - (Optional) position, object or marker to which the group leader should move after the weapon is packed. By default the group will resume on to the next assigned waypoint. If this param is provided, group will not go to the next waypoint and will move to given position instead


|r1= [[Nothing]]
|r1= [[Nothing]]
Line 24: Line 24:
|x1= <sqf>[leader1] call BIS_fnc_packStaticWeapon;</sqf>
|x1= <sqf>[leader1] call BIS_fnc_packStaticWeapon;</sqf>


|x2= <code>group1 allowFleeing 0;
|x2= <sqf>
[group1, nil, "leaderpos_marker"] [[call]] [[BIS_fnc_packStaticWeapon]];</code>
group1 allowFleeing 0;
[group1, nil, "leaderpos_marker"] call BIS_fnc_packStaticWeapon;
</sqf>


|seealso= [[BIS_fnc_unpackStaticWeapon]] [[BIS_fnc_addScriptedEventHandler]]
|seealso= [[BIS_fnc_unpackStaticWeapon]] [[BIS_fnc_addScriptedEventHandler]]
}}
}}


<dl class="command_description">
{{Note
 
|user= Killzone_Kid
<dt></dt>
|timestamp= 20170106232300
<dd class="notedate">Posted on January 6, 2017 - 23:23 (UTC)</dd>
|text= The following script will create a group consisting of a Team Leader, Gunner and Asst. Gunner and give the group 2 random MOVE waypoints.
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
After the group reached the 1st waypoint, waypoint statement will execute [[BIS_fnc_unpackStaticWeapon]] and the group will stop and unpack static weapon, while leader is given random position to go to.
<dd class="note">
After 7 seconds the [[BIS_fnc_packStaticWeapon]] is executed and the group packs and heads to 2nd waypoint.
The following script will create a group consisting of a Team Leader, Gunner and Asst. Gunner and give the group 2 random MOVE waypoints. After the group reached the 1st waypoint, waypoint statement will execute [[BIS_fnc_unpackStaticWeapon]] and the group will stop and unpack static weapon, while leader is given random position to go to. After 7 seconds the [[BIS_fnc_packStaticWeapon]] is executed and the group packs and heads to 2nd waypoint.
<sqf>
<code>[[private]] _group = [[createGroup]] [[west]];
private _group = createGroup west;
[[private]] _pos = [[player]] [[getRelPos]] [20, 0];
private _pos = player getRelPos [20, 0];
[[private]] _randomDir = [[random]] 360;
private _randomDir = random 360;
[[private]] _wp1 = _group [[addWaypoint]] [_pos [[getPos]] [20, _randomDir], 10];
private _wp1 = _group addWaypoint [_pos getPos [20, _randomDir], 10];
_wp1 [[setWaypointType]] "MOVE";
_wp1 setWaypointType "MOVE";
_wp1 [[setWaypointStatements]] ["true", "
_wp1 setWaypointStatements ["true", "
[[group]] this [[allowFleeing]] 0;
group this allowFleeing 0;
<nowiki>[</nowiki>[[group]] this, 'StaticWeaponUnpacked', {
[group this, 'StaticWeaponUnpacked', {
_this [[spawn]]
_this spawn
{
{
[[sleep]] 7;
sleep 7;
[_this [[select]] 0] [[call]] [[BIS_fnc_packStaticWeapon]];
[_this select 0] call BIS_fnc_packStaticWeapon;
};
};
}] [[call]] [[BIS_fnc_addScriptedEventHandler]];
}] call BIS_fnc_addScriptedEventHandler;
[
[
this,  
this,  
this,  
this,  
this [[getPos]] [1000, [[random]] 360],  
this getPos [1000, random 360],  
this [[getPos]] [10, 0]
this getPos [10, 0]
] [[call]] [[BIS_fnc_unpackStaticWeapon]];
] call BIS_fnc_unpackStaticWeapon;
"];
"];
[[private]] _wp2 = _group [[addWaypoint]] [_pos [[getPos]] [20, _randomDir - 180], 10];
private _wp2 = _group addWaypoint [_pos getPos [20, _randomDir - 180], 10];
_wp2 [[setWaypointType]] "MOVE";
_wp2 setWaypointType "MOVE";
[[private]] _leader = _group [[createUnit]] ["B_Soldier_TL_F", _pos, [], 0, "NONE"];
private _leader = _group createUnit ["B_Soldier_TL_F", _pos, [], 0, "NONE"];
[[private]] _gunner = _group [[createUnit]] ["B_Support_GMG_F", _pos, [], 0, "NONE"];
private _gunner = _group createUnit ["B_Support_GMG_F", _pos, [], 0, "NONE"];
[[private]] _assistant = _group [[createUnit]] ["B_Support_AMG_F", _pos, [], 0, "NONE"];
private _assistant = _group createUnit ["B_Support_AMG_F", _pos, [], 0, "NONE"];
[[units]] _group [[doFollow]] _leader;
units _group doFollow _leader;
</code>
</sqf>
</dd>
}}
 
</dl>

Latest revision as of 00:25, 2 February 2024

Hover & click on the images for description

Description

Description:
This function will make weapon team pack a static weapon. The weapon crew will pack carried weapon (or given weapon if different) and follow leader. Requires three personnel in the team: Team Leader, Gunner and Asst. Gunner. This function is MP compatible

When the weapon is packed, scripted EH "StaticWeaponPacked" is called with the following params:
  • [group, leader, gunner, assistant, weaponBag, tripodBag]
If a unit flees, all bets are off and the function will exit leaving units on their own. To guarantee weapon disassembly, make sure the group has maximum courage
_group allowFleeing 0;
Execution:
call
Groups:
Weapons

Syntax

Syntax:
[group, weapon, leaderPos] call BIS_fnc_packStaticWeapon
Parameters:
group: Group or Object - the support team group or a unit from this group
weapon: Object - (Optional) weapon to pack. If nil, current group weapon is packed
leaderPos: Array, String or Object - (Optional) position, object or marker to which the group leader should move after the weapon is packed. By default the group will resume on to the next assigned waypoint. If this param is provided, group will not go to the next waypoint and will move to given position instead
Return Value:
Nothing

Examples

Example 1:
[leader1] call BIS_fnc_packStaticWeapon;
Example 2:
group1 allowFleeing 0; [group1, nil, "leaderpos_marker"] call BIS_fnc_packStaticWeapon;

Additional Information

See also:
BIS_fnc_unpackStaticWeapon BIS_fnc_addScriptedEventHandler

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
Killzone_Kid - c
Posted on Jan 06, 2017 - 23:23 (UTC)
The following script will create a group consisting of a Team Leader, Gunner and Asst. Gunner and give the group 2 random MOVE waypoints. After the group reached the 1st waypoint, waypoint statement will execute BIS_fnc_unpackStaticWeapon and the group will stop and unpack static weapon, while leader is given random position to go to. After 7 seconds the BIS_fnc_packStaticWeapon is executed and the group packs and heads to 2nd waypoint.
private _group = createGroup west; private _pos = player getRelPos [20, 0]; private _randomDir = random 360; private _wp1 = _group addWaypoint [_pos getPos [20, _randomDir], 10]; _wp1 setWaypointType "MOVE"; _wp1 setWaypointStatements ["true", " group this allowFleeing 0; [group this, 'StaticWeaponUnpacked', { _this spawn { sleep 7; [_this select 0] call BIS_fnc_packStaticWeapon; }; }] call BIS_fnc_addScriptedEventHandler; [ this, this, this getPos [1000, random 360], this getPos [10, 0] ] call BIS_fnc_unpackStaticWeapon; "]; private _wp2 = _group addWaypoint [_pos getPos [20, _randomDir - 180], 10]; _wp2 setWaypointType "MOVE"; private _leader = _group createUnit ["B_Soldier_TL_F", _pos, [], 0, "NONE"]; private _gunner = _group createUnit ["B_Support_GMG_F", _pos, [], 0, "NONE"]; private _assistant = _group createUnit ["B_Support_AMG_F", _pos, [], 0, "NONE"]; units _group doFollow _leader;