disableSerialization: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (template:command argument fix) |
||
Line 17: | Line 17: | ||
| '''disableSerialization''' |= Syntax | | '''disableSerialization''' |= Syntax | ||
|p1= |= | |p1= |PARAMETER1= | ||
|p2= |= | |p2= |PARAMETER2= | ||
|p3= |= | |p3= |PARAMETER3= | ||
| [[Nothing]] |= | | [[Nothing]] |RETURNVALUE= | ||
|x1= <code>[[disableSerialization]]; | |x1= <code>[[disableSerialization]]; | ||
_display = [[findDisplay]] 46;</code>|= | _display = [[findDisplay]] 46;</code>|EXAMPLE1= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[Display]], [[displayAddEventHandler]], [[displayRemoveAllEventHandlers]], [[displayRemoveEventHandler]], [[uiSleep]] |= | | [[Display]], [[displayAddEventHandler]], [[displayRemoveAllEventHandlers]], [[displayRemoveEventHandler]], [[uiSleep]] |SEEALSO= | ||
| |= | | |MPBEHAVIOUR= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
}} | }} |
Revision as of 10:30, 7 April 2019
Description
- Description:
- Disable saving of script containing this command. After this, the script can work with data types which do not support serialization (UI types).
NOTE: When using spawn command, if the argument passed to it is Display or Control, an error will show asking to consider to disable serialization because of use of _this variable. What's more neither disableSerialization no use of uiNamespace will solve this. Passing Display or Control as part of an array however, will do the job:findDisplay 46 spawn {hint str _this}; // serialization error [findDisplay 46] spawn {hint str (_this select 0)}; // OK
- Groups:
- Uncategorised
Syntax
- Syntax:
- disableSerialization
- Return Value:
- Nothing
Examples
- Example 1:
disableSerialization; _display = findDisplay 46;
Additional Information
- See also:
- DisplaydisplayAddEventHandlerdisplayRemoveAllEventHandlersdisplayRemoveEventHandleruiSleep
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
Notes
- Posted on 19 June, 2010
- Str
- Can be used to detecting load. Scope with disabled serialization is discontinued after load, even if there's endless loop inside. _loaded = [] spawn {disableSerialization; waitUntil {false};}; waitUntil {scriptDone _loaded;}; hint "Game was loaded!" Works for all possible load types - loading user save, loading autosave and resuming mission from main menu. Use with caution, as it handles two threads in memory, having impact at overall scripting time.
- Posted on 23 October, 2013
- Killzone_Kid
-
If you do not store UI elements (Display, Control) in variables, you do not need disableSerialization; UI elements are usually returned by scripting commands such as findDisplay or passed as params in UI event handler scripts (displayAddEventHandler, ctrlAddEventHandler).
This code will require disableSerialization:
disableSerialization; _display = findDisplay 123; _ctrl = _display displayCtrl -1; _ctrl ctrlSetText "LOL";
This code will not:findDisplay 123 displayCtrl -1 ctrlSetText "LOL";
Bottom Section
- Posted on July 25, 2017 - 18:15 (UTC)
- IT07
-
In ArmA 3 1.72.142223, a scripted FSM does somehow not work with disableSerialization. As a workaround, store a display inside an array.
Example:
_d = [ findDisplay idd ];