disableSerialization: Difference between revisions
Jump to navigation
Jump to search
m (Text replace - "{{uc:{{PAGENAME}}}}" to "{{uc:{{PAGENAME}}}} {{uc:{{PAGENAME}}}}") |
Killzone Kid (talk | contribs) No edit summary |
||
Line 21: | Line 21: | ||
|x1= <code>disableSerialization; | |x1= <code>[[disableSerialization]]; | ||
_display <nowiki>=</nowiki> [[findDisplay]] 46;</code>|= EXAMPLE1 | _display <nowiki>=</nowiki> [[findDisplay]] 46;</code>|= EXAMPLE1 | ||
Line 40: | Line 40: | ||
Can be used to detecting load. Scope with disabled serialization is discontinued after load, even if there's endless loop inside. | 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]]};}; | _loaded = [] [[spawn]] {[[disableSerialization]]; [[waitUntil]] {[[false]]};}; | ||
waitUntil {[[scriptDone]] _loaded;}; | [[waitUntil]] {[[scriptDone]] _loaded;}; | ||
[[hint]] "Game was loaded!" | [[hint]] "Game was loaded!" | ||
Works for all possible load types - loading user save, loading autosave and resuming mission from main menu. | 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 [[Code_Optimisation#Threads|scripting time]]. | Use with caution, as it handles two threads in memory, having impact at overall [[Code_Optimisation#Threads|scripting time]]. | ||
<dd class="notedate">Posted on 23 October, 2013 | |||
<dt class="note">[[User:Killzone_Kid|Killzone_Kid]] | |||
<dd class="note"> | |||
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]]: <code>[[disableSerialization]]; | |||
_display = [[findDisplay]] 123; | |||
_ctrl = _display [[displayCtrl]] -1; | |||
_ctrl [[ctrlSetText]] "LOL";</code> | |||
This code will not: <code>[[findDisplay]] 123 [[displayCtrl]] -1 [[ctrlSetText]] "LOL";</code> | |||
<!-- Note Section END --> | <!-- Note Section END --> |
Revision as of 01:57, 23 October 2013
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).
- Groups:
- Uncategorised
Syntax
- Syntax:
- disableSerialization
- Return Value:
- Nothing
Examples
- Example 1:
disableSerialization; _display = findDisplay 46;
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
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";