disableSerialization: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
(note about use with spawn)
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Disable saving of script containing this command. After this script can work with the data types which do not support serialization (UI types). |= Description
| Disable saving of script containing this command. After this script can work with the data types which do not support serialization (UI types). <br><br>
'''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. However neither [[disableSerialization]] no use of [[uiNamespace]] will solve this. Passing [[Display]] or [[Control]] as part of an array however, will do the job: 
<code>[[findDisplay]] 46 [[spawn]] {[[hint]] [[str]] _this}; // serialization error
<nowiki>[</nowiki>[[findDisplay]] 46] [[spawn]] {[[hint]] [[str]] (_this [[select]] 0)}; // OK </code>
 
|= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


Line 18: Line 23:
|p3= |= PARAMETER3  
|p3= |= PARAMETER3  


| Nothing |= RETURNVALUE  
| [[Nothing]] |= RETURNVALUE  
 


|x1= <code>[[disableSerialization]];
|x1= <code>[[disableSerialization]];
_display <nowiki>=</nowiki> [[findDisplay]] 46;</code>|= EXAMPLE1  
_display = [[findDisplay]] 46;</code>|= EXAMPLE1  


____________________________________________________________________________________________
____________________________________________________________________________________________

Revision as of 17:22, 3 February 2017

Hover & click on the images for description

Description

Description:
Disable saving of script containing this command. After this script can work with the 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. However 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