Example Code: Remove NVGs From Enemies: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[SQF[ _]syntax" to "[[SQF Syntax")
m (Text replacement - "{{Feature | Informative | " to "{{Feature|informative|")
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{ArgTitle|{{arma3}}|2|{{GVI|arma3|1.55}}}}
{{ArgTitle|2|{{arma3}}|{{GVI|arma3|2.02}}}}
{{Feature | Informative |
* [[units]] ''side'' has been introduced in {{GVI|arma3|2.02}}
}}
 
<sqf>
{
_x unlinkItem hmd _x; // removal of each unit's hmd
} forEach units opfor; // code is to be executed for each enemy
</sqf>
 
 
{{ArgTitle|2|{{arma3}}|{{GVI|arma3|1.56}}}}
{{Feature | Informative |
{{Feature | Informative |
* [[opfor]] has been introduced in {{GVI|arma3|0.50}}
* [[opfor]] has been introduced in {{GVI|arma3|0.50}}
* {{ic|array [[select]] code}} has been introduced in {{GVI|arma3|1.55}}
* <sqf inline>_array select _code</sqf> has been introduced in {{GVI|arma3|1.56}}
}}
}}


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




{{ArgTitle|{{arma2}}|2|{{GVI|arma2|1.00}}}}
{{ArgTitle|2|{{arma2}}|{{GVI|arma2|1.00}}}}
{{Feature | Informative |
{{Feature | Informative |
* [[allUnits]] has been introduced in {{GVI|arma2|1.00}}
* [[allUnits]] has been introduced in {{GVI|arma2|1.00}}
}}
}}


[[private]] "_enemySide"; {{cc|private definition of the _enemySide variable}}
<sqf>
_enemySide = [[east]]; {{cc|value attribution to _enemySide}}
private "_enemySide"; // private definition of the _enemySide variable
{
_enemySide = east; // value attribution to _enemySide
if ([[side]] [[Magic Variables#x|_x]] == _enemySide) [[then]] {{cc|if the unit is on the _enemySide, process the next step}}
{
{
if (side _x == _enemySide) then // if the unit is on the _enemySide, process the next step
[[Magic Variables#x|_x]] [[removeWeapon]] "NVGoggles"; {{cc|removal of the enemy unit's NVG}}
{
}
_x removeWeapon "NVGoggles"; // removal of the enemy unit's NVG
} [[forEach]] [[allUnits]]; {{cc|going through ''all'' units}}
}
} forEach allUnits; // going through -all- units
</sqf>




{{ArgTitle|{{arma1}}&nbsp;/&nbsp;{{ofpr}}|2|{{GVI|arma1|1.00}}&nbsp;{{GVI|ofpr|1.85}}}}
{{ArgTitle|2|{{arma1}}&nbsp;/&nbsp;{{ofpr}}|{{GVI|arma1|1.00}}&nbsp;{{GVI|ofpr|1.85}}}}
{{Feature | Informative |
{{Feature | Informative |
* [[SQF Syntax]] has been introduced in {{GVI|ofpr|1.85}}
* [[SQF Syntax]] has been introduced in {{GVI|ofpr|1.85}}
}}
}}
[[private]] "_enemySide"; {{cc|private definition of the _enemySide variable}}
 
_enemySide = [[east]]; {{cc|value attribution to _enemySide}}
<sqf>
{
private "_enemySide"; // private definition of the _enemySide variable
if ([[side]] [[Magic Variables#x|_x]] == _enemySide) [[then]] {{cc|if the unit is on the _enemySide, process the next step}}
_enemySide = east; // value attribution to _enemySide
{
{
[[Magic Variables#x|_x]] [[removeWeapon]] "NVGoggles"; {{cc|removal of the enemy unit's NVG}}
if (side _x == _enemySide) then // if the unit is on the _enemySide, process the next step
}
{
} [[forEach]] ''_unitsArray''; {{cc|going through ''provided'' units - [[allUnits]] has been introduced in {{arma2}}}}
_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|{{ofp}}|2|{{GVI|ofp|1.00}}}}
{{ArgTitle|2|{{ofp}}|{{GVI|ofp|1.00}}}}
{{Feature | Informative | This is an [[SQS Syntax]] example.}}
{{Feature|informative|This is an [[SQS Syntax]] example.}}
{{cc|remove its NVG for each provided '''enemy''' units}}
<sqs>
"[[Magic Variables#x|_x]] [[removeWeapon]] ""NVGoggles""" [[forEach]] ''_enemyUnitsArray''
; remove its NVG for each provided enemy units
"_x removeWeapon ""NVGoggles""" forEach _enemyUnitsArray
</sqs>




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

Latest revision as of 21: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