Namespace: Difference between revisions
m (Text replacement - "v1\.([9-9]*)\.[0-9]*" to "v2.00") |
m (Reverted edits by R3vo (talk) to last revision by Lou Montana) Tag: Rollback |
||
Line 19: | Line 19: | ||
| {{GVI|tkoh|1.00}} || [[profileNamespace]] || returns the global namespace attached to the user profile | | {{GVI|tkoh|1.00}} || [[profileNamespace]] || returns the global namespace attached to the user profile | ||
|- | |- | ||
| {{GVI|arma3|1.48}} || [[currentNamespace]] || returns the current namespace. Can be compared with [[isEqualTo]] or [[==]] and [[!=]] (since Arma 3 | | {{GVI|arma3|1.48}} || [[currentNamespace]] || returns the current namespace. Can be compared with [[isEqualTo]] or [[==]] and [[!=]] (since Arma 3 v1.99.146509). | ||
|- | |- | ||
| {{GVI|arma3|2.00}} || [[localNamespace]] || returns the local namespace. | | {{GVI|arma3|2.00}} || [[localNamespace]] || returns the local namespace. | ||
Line 60: | Line 60: | ||
=== localNamespace === | === localNamespace === | ||
Available since Arma 3 | Available since Arma 3 v1.99.146509. Same lifetime as [[missionNamespace]] but variables cannot be broadcast or serialized. | ||
== Namespace serialization == | == Namespace serialization == |
Revision as of 09:19, 3 April 2021
Namespace - set of variables. Introduced with 1.00.
Get namespace
These commands return the "Namespace" type:
Game | Command | Description |
---|---|---|
1.00 | missionNamespace | returns the global namespace attached to the mission |
1.00 | parsingNamespace | returns the global namespace attached to the Config Parser |
1.00 | uiNamespace | returns the global namespace attached to the user interface |
1.00 | profileNamespace | returns the global namespace attached to the user profile |
1.48 | currentNamespace | returns the current namespace. Can be compared with isEqualTo or == and != (since Arma 3 v1.99.146509). |
2.00 | localNamespace | returns the local namespace. |
You can save values in this different Namespaces without overwriting the variables with the same name.
Get namespace data
You can use the above with getVariable to get data.
Set namespace data
To set data to a namespace, there're two methods to do:
namespace setVariable ["variableName", value];
with namespace do {
variableName = value;
};
missionNamespace is the default global namespace, so just "variableName = value;" will store data to missionNamespace.
Namespace Lifetimes
missionNamespace
Mission namespace is the main default partition that exists for the duration of a mission. All variables defined in mission namespace will cease to exist when mission ends. To make variables lasting longer than a mission, use different namespaces.
uiNamespace and parsingNamespace
These are 2 different namespaces, which have similar scope. Variables defined in these namespaces exist for the duration of the game .exe running and are lost when the game is shut down.
profileNamespace
This namespace will hold variables for a very long time and is attached to the user profile. Different profiles will have own set of variables stored with them. The saving of the profile namespace is forced with saveProfileNamespace command, but in Arma 3 this command is executed by vanilla game scripts already, so saving is done automatically.
localNamespace
Available since Arma 3 v1.99.146509. Same lifetime as missionNamespace but variables cannot be broadcast or serialized.
Namespace serialization
Only missionNamespace is serialized. This means that all variables in this namespace will be saved when the game is saved and loaded when the game is loaded. This is also the reason the game will complain that one should use disableSerialization when storing UI variables in missionNamespace. UI elements are temporary and therefore are exempt from serialization by default.