getMissionConfigValue: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|x([0-9])= <sqf>([^\/: ]+)([^;])<\/sqf>" to "|x$1= <sqf>$2$3;</sqf>")
(fixed return value)
Line 18: Line 18:


|p1= attribute: [[String]] - attribute name
|p1= attribute: [[String]] - attribute name
|r1= [[Number]], [[String]] or [[Array]], depending on the attribute value type. [[nil|Nil]] when the attribute is undefined.
|r1= [[Number]], [[String]], [[Boolean]] or [[Array]], depending on the attribute value type. [[nil|Nil]] when the attribute is undefined.


|s2= [[getMissionConfigValue]]  [attribute, defaultValue]
|s2= [[getMissionConfigValue]]  [attribute, defaultValue]
Line 24: Line 24:
|p21= attribute: [[String]] - attribute name
|p21= attribute: [[String]] - attribute name
|p22= defaultValue: [[Anything]] - value used when the attribute is undefined
|p22= defaultValue: [[Anything]] - value used when the attribute is undefined
|r2= [[Number]], [[String]] or [[Array]], depending on the attribute value type. Default value when the attribute is undefined.
|r2= [[Number]], [[String]], [[Boolean]] or [[Array]], depending on the attribute value type. Default value when the attribute is undefined.


|x1= <sqf>_respawnDelay = getMissionConfigValue ["respawnDelay",0];</sqf>
|x1= <sqf>_respawnDelay = getMissionConfigValue ["respawnDelay",0];</sqf>

Revision as of 16:16, 11 April 2023

Hover & click on the images for description

Description

Description:
Returns value of the given scenario attribute from the 1st tier. Since only config properties have values, the attribute should be config property. If it is not found or config class is given, the return is nil. If the attribute defined in multiple places, the command checks them in the following order:
  1. External Description.ext file
  2. Eden Editor scenario attribute
So if attribute exists in both places, attribute from description.ext is used. Previously, scenario attributes were extracted from Description.ext using missionConfigFile. That still works, but it ignores attributes set directly in the editor and it should not be used anymore.

This command cannot force return type, it will return the value of the type given in config. Use isEqualType to additionally reaffirm the correct type if necessary to account for human error.
Groups:
ConfigMission Information

Syntax

Syntax:
getMissionConfigValue attribute
Parameters:
attribute: String - attribute name
Return Value:
Number, String, Boolean or Array, depending on the attribute value type. Nil when the attribute is undefined.

Alternative Syntax

Syntax:
getMissionConfigValue [attribute, defaultValue]
Parameters:
attribute: String - attribute name
defaultValue: Anything - value used when the attribute is undefined
Return Value:
Number, String, Boolean or Array, depending on the attribute value type. Default value when the attribute is undefined.

Examples

Example 1:
_respawnDelay = getMissionConfigValue ["respawnDelay",0];
Returns respawn delay value. Replaces the previous approach which would scan only the external Description.ext file, but ignore the value set in the Eden Editor:
_respawnDelay = getNumber (missionConfigFile >> "respawnDelay"); // Old approach

Additional Information

See also:
getMissionConfig missionConfigFile

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