disableSerialization: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<!-- Note Section [A-Z]+ --> " to "") |
m (formatting) |
||
Line 1: | Line 1: | ||
{{RV|type=command | {{RV|type=command | ||
| arma2 | |game1= arma2 | ||
|1.00 | |version1= 1.00 | ||
|game2= arma2oa | |||
|version2= 1.51 | |||
|game3= tkoh | |||
|version3= 1.00 | |||
|game4= arma3 | |||
|version4= 0.50 | |||
|gr1= GUI Control | |gr1= GUI Control | ||
| Disable saving of script containing this command. After this, the script can work with data types which do not support serialization (UI types). See [[Namespace#Namespace serialization|Namespace serialization]] for more information. | |descr= Disable saving of script containing this command. After this, the script can work with data types which do not support serialization (UI types). See [[Namespace#Namespace serialization|Namespace serialization]] for more information. | ||
{{Feature | important | '''In {{arma2}}''' and up to a certain version of {{arma3}}, <!-- | {{Feature | important | '''In {{arma2}}''' and up to a certain version of {{arma3}}, <!-- | ||
Line 16: | Line 28: | ||
-->[_display] [[spawn]] { [[hint]] [[str]] (_this [[select]] 0); }; {{cc|OK}}</code>}} | -->[_display] [[spawn]] { [[hint]] [[str]] (_this [[select]] 0); }; {{cc|OK}}</code>}} | ||
| [[disableSerialization]] | |s1= [[disableSerialization]] | ||
| [[Nothing]] | |r1= [[Nothing]] | ||
|x1= <code>[[disableSerialization]]; | |x1= <code>[[disableSerialization]]; | ||
_display = [[findDisplay]] 46;</code> | [[private]] _display = [[findDisplay]] 46;</code> | ||
|seealso= [[Display]], [[displayAddEventHandler]], [[displayRemoveAllEventHandlers]], [[displayRemoveEventHandler]], [[uiSleep]] | |seealso= [[Display]], [[displayAddEventHandler]], [[displayRemoveAllEventHandlers]], [[displayRemoveEventHandler]], [[uiSleep]] | ||
Line 53: | Line 65: | ||
<dt class="note">[[User:IT07|IT07]]</dt> | <dt class="note">[[User:IT07|IT07]]</dt> | ||
<dd class="note"> | <dd class="note"> | ||
In Arma 3 1. | In Arma 3 1.74, a scripted FSM does somehow not work with [[disableSerialization]]. As a workaround, store a display inside an array. | ||
Example: <code> | Example: <code>_display = <nowiki>[</nowiki>[[findDisplay]] idd];</code> | ||
</dl> | </dl> | ||
Revision as of 08:49, 11 April 2021
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). See Namespace serialization for more information.
- Groups:
- GUI Control
Syntax
- Syntax:
- disableSerialization
- Return Value:
- Nothing
Examples
- Example 1:
disableSerialization; private _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
- 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";
- Posted on July 25, 2017 - 18:15 (UTC)
- IT07
-
In Arma 3 1.74, a scripted FSM does somehow not work with disableSerialization. As a workaround, store a display inside an array.
Example:
_display = [findDisplay idd];