with: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) mNo edit summary |
Killzone Kid (talk | contribs) mNo edit summary |
||
Line 9: | Line 9: | ||
| Executes given code inside given [[Namespace|namespace]]. | | Executes given code inside given [[Namespace|namespace]]. | ||
'''NOTE''' for the reasons unknown, namespace switching might unexpectedly occur inside some scopes ([[for]], [[if]], [[try]], [[call]]) started in scheduled scripts ([[canSuspend]] true) after small suspension if [[with]] was not a | '''NOTE''' for the reasons unknown, namespace switching might unexpectedly occur inside some scopes ([[for]], [[if]], [[try]], [[call]]) started in scheduled scripts ([[canSuspend]] true) after small suspension if [[with]] was not a main scope. For example: | ||
<code>[] [[spawn]] | <code>[] [[spawn]] | ||
{ | { |
Revision as of 16:54, 26 March 2016
Description
- Description:
- Executes given code inside given namespace.
NOTE for the reasons unknown, namespace switching might unexpectedly occur inside some scopes (for, if, try, call) started in scheduled scripts (canSuspend true) after small suspension if with was not a main scope. For example:
[] spawn { with uiNamespace do { for "_i" from 1 to 1 do { systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [true, false] sleep 0.05; //<-- small suspension systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [false, true] <-- switching }; }; };
However if with used in parent scope, everything works correctly:with uiNamespace do { [] spawn { for "_i" from 1 to 1 do { systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [true, false] sleep 0.05; //<-- small suspension systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [true, false] <-- NO switching }; }; };
To eliminate possibility of error you can also use setVariable or getVariable with desired Namespace, which is also scheduled environment save. - Groups:
- Uncategorised
Syntax
Examples
- Example 1:
with missionNamespace do {global = global + 1};
Additional Information
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