getMissionConfigValue: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\| *(arg|eff|mp|serverExec|gr[0-9]) *= *(.*) * *\|([^=0-9]{12})" to "|$1=$2 |descr=$3")
m (Some wiki formatting)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


|arma3
|game1= arma3
 
|version1= 1.56
|1.56


|gr1= Config
|gr1= Config
Line 9: Line 8:
|gr2= Mission Information
|gr2= Mission Information


|descr= 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:
|descr= Returns value of the given scenario attribute from the 1st tier. Since only config properties have values, the attribute should be config property.
# External ''[[Description.ext]]'' file
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:
# [[Eden_Editor:_Scenario_Atttributes|Eden Editor]] scenario attribute
# [[Description.ext]] entry
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.<br><br>
# [[Eden Editor: Scenario Attributes|Eden Editor]] scenario attribute


{{Feature | important | 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.}} 
So if an attribute exists in both places, the [[Description.ext]] value 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 should not be used anymore.


|s1= '''getMissionConfigValue''' attribute
{{Feature|important|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.}}
 
|s1= [[getMissionConfigValue]] attribute


|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.


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


|p21= attribute: [[String]] - attribute name
|r2= [[Number]], [[String]], [[Boolean]] or [[Array]], depending on the attribute value type. Default value 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.


|x1= <code>_respawnDelay = [[getMissionConfigValue]] ["respawnDelay",0]</code>
|x1= <sqf>
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:
private _respawnDelay = getMissionConfigValue ["respawnDelay", 0]; // returns the real, defined respawn delay value
<code>_respawnDelay = [[getNumber]] ([[missionConfigFile]] >> "respawnDelay"); // Old approach</code>
private _respawnDelay = getNumber (missionConfigFile >> "respawnDelay"); // old approach, ignoring the Eden Editor-set value
</sqf>


|seealso= [[getMissionConfig]], [[missionConfigFile]]
|seealso= [[getMissionConfig]] [[missionConfigFile]] [[BIS_fnc_getParamValue]] [[Mission_Parameters]]
}}
}}

Latest revision as of 22:48, 22 February 2024

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. Description.ext entry
  2. Eden Editor scenario attribute
So if an attribute exists in both places, the Description.ext value 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 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:
private _respawnDelay = getMissionConfigValue ["respawnDelay", 0]; // returns the real, defined respawn delay value private _respawnDelay = getNumber (missionConfigFile >> "respawnDelay"); // old approach, ignoring the Eden Editor-set value

Additional Information

See also:
getMissionConfig missionConfigFile BIS_fnc_getParamValue Mission_Parameters

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