Example Code: Remove NVGs From Enemies: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Add comments)
m (Text replacement - "{{Feature | Informative | " to "{{Feature|informative|")
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Stub}}
__NOTOC__
{{wip}}
{{ArgTitle|2|{{arma3}}|{{GVI|arma3|2.02}}}}
{{ArgTitle|{{arma3}}|2|{{GVI|arma3|1.55}}}}
{{Feature | Informative |
* [[units]] ''side'' has been introduced in {{GVI|arma3|2.02}}
}}


[[private]] _enemySide = [[opfor]]; {{codecomment|// definition of the enemy side}}
<sqf>
[[private]] _enemies = [[allUnits]] [[select]] { [[side]] [[_x]] == _enemySide; }; {{codecomment|// selection of all enemy units ''from'' allUnits}}
{
{
_x unlinkItem hmd _x; // removal of each unit's hmd
[[_x]] [[unlinkItem]] [[hmd]] [[_x]]; {{codecomment|// removal of each unit's [[hmd]]}}
} forEach units opfor; // code is to be executed for each enemy
} [[forEach]] _enemies; {{codecomment|// code is to be executed for each enemy}}
</sqf>




{{ArgTitle|{{arma2}}|2|{{GVI|arma2|1.00}}}}
{{ArgTitle|2|{{arma3}}|{{GVI|arma3|1.56}}}}
{{Feature | Informative |
* [[opfor]] has been introduced in {{GVI|arma3|0.50}}
* <sqf inline>_array select _code</sqf> has been introduced in {{GVI|arma3|1.56}}
}}


[[private]] "_enemySide"; {{codecomment|// private definition of the _enemySide variable}}
<sqf>
_enemySide = [[east]]; {{codecomment|// value attribution to _enemySide}}
private _enemySide = opfor; // definition of the enemy side
{
private _enemies = allUnits select { side _x == _enemySide; }; // selection of all enemy units from allUnits
if ([[side]] [[_x]] == _enemySide) [[then]] {{codecomment|// if the unit is on the _enemySide, process the next step}}
{
{
_x unlinkItem hmd _x; // removal of each unit's hmd
[[_x]] [[removeWeapon]] "NVGoggles"; {{codecomment|// removal of the enemy unit's NVG}}
} forEach _enemies; // code is to be executed for each enemy
}
</sqf>
} [[forEach]] [[allUnits]]; {{codecomment|// going through ''all'' units}}
 
 
{{ArgTitle|2|{{arma2}}|{{GVI|arma2|1.00}}}}
{{Feature | Informative |
* [[allUnits]] has been introduced in {{GVI|arma2|1.00}}
}}
 
<sqf>
private "_enemySide"; // private definition of the _enemySide variable
_enemySide = east; // value attribution to _enemySide
{
if (side _x == _enemySide) then // if the unit is on the _enemySide, process the next step
{
_x removeWeapon "NVGoggles"; // removal of the enemy unit's NVG
}
} forEach allUnits; // going through -all- units
</sqf>
 
 
{{ArgTitle|2|{{arma1}}&nbsp;/&nbsp;{{ofpr}}|{{GVI|arma1|1.00}}&nbsp;{{GVI|ofpr|1.85}}}}
{{Feature | Informative |
* [[SQF Syntax]] has been introduced in {{GVI|ofpr|1.85}}
}}
 
<sqf>
private "_enemySide"; // private definition of the _enemySide variable
_enemySide = east; // value attribution to _enemySide
{
if (side _x == _enemySide) then // if the unit is on the _enemySide, process the next step
{
_x removeWeapon "NVGoggles"; // removal of the enemy unit's NVG
}
} forEach _unitsArray; // going through provided units - allUnits has been introduced in Arma 2
</sqf>
 
 
{{ArgTitle|2|{{ofp}}|{{GVI|ofp|1.00}}}}
{{Feature|informative|This is an [[SQS Syntax]] example.}}
<sqs>
; remove its NVG for each provided enemy units
"_x removeWeapon ""NVGoggles""" forEach _enemyUnitsArray
</sqs>




[[Category: Example Code]]
[[Category: Example Code]]

Latest revision as of 22:42, 16 May 2024

Arma 3

{ _x unlinkItem hmd _x; // removal of each unit's hmd } forEach units opfor; // code is to be executed for each enemy


Arma 3

private _enemySide = opfor; // definition of the enemy side private _enemies = allUnits select { side _x == _enemySide; }; // selection of all enemy units from allUnits { _x unlinkItem hmd _x; // removal of each unit's hmd } forEach _enemies; // code is to be executed for each enemy


Arma 2

private "_enemySide"; // private definition of the _enemySide variable _enemySide = east; // value attribution to _enemySide { if (side _x == _enemySide) then // if the unit is on the _enemySide, process the next step { _x removeWeapon "NVGoggles"; // removal of the enemy unit's NVG } } forEach allUnits; // going through -all- units


Armed Assault / Operation Flashpoint: Resistance

private "_enemySide"; // private definition of the _enemySide variable _enemySide = east; // value attribution to _enemySide { if (side _x == _enemySide) then // if the unit is on the _enemySide, process the next step { _x removeWeapon "NVGoggles"; // removal of the enemy unit's NVG } } forEach _unitsArray; // going through provided units - allUnits has been introduced in Arma 2


Operation Flashpoint

This is an SQS Syntax example.

; remove its NVG for each provided enemy units "_x removeWeapon ""NVGoggles""" forEach _enemyUnitsArray