compileFinal: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\{\{ *codecomment *\| *\/\/ *([^ ]+) *\}\} " to "{{cc|$1}}") |
Lou Montana (talk | contribs) m (Undo revision 224514 by Lou Montana (talk) revert+format) Tag: Undo |
||
Line 1: | Line 1: | ||
{{RV|type=command | {{RV|type=command | ||
| arma3 | |game1= arma3 | ||
|0.56 | |version1= 0.56 | ||
|gr1= Strings | |gr1= Strings | ||
| Compile expression and makes it final, preventing it from: | |descr= Compile expression and makes it final, preventing it from: | ||
* repeated [[compile]] or [[compileFinal]] | * repeated [[compile]] or [[compileFinal]] | ||
* removal by [[nil]] | * removal by [[nil]] | ||
Line 13: | Line 13: | ||
{{Informative | This feature is only available in retail version of Arma 3}} | {{Informative | This feature is only available in retail version of Arma 3}} | ||
|'''compileFinal''' expression | |s1= '''compileFinal''' expression | ||
|p1= expression: [[String]] | |p1= expression: [[String]] | ||
| [[Code]] | |r1= [[Code]] | ||
|x1= <code>myCode <nowiki>=</nowiki> compileFinal "a <nowiki>=</nowiki> a + 1"; | |x1= <code>myCode <nowiki>=</nowiki> compileFinal "a <nowiki>=</nowiki> a + 1"; | ||
[[call]] myCode;<br> | [[call]] myCode;<br> | ||
{{cc| | {{cc|Repeated compile won't have any effect}} | ||
{{cc| | myCode {{=}} compileFinal "a <nowiki>=</nowiki> a + 2";<br> | ||
{{cc|Duplicate code will be final as well}} | |||
myDuplicateCode = myCode; | |||
</code> | </code> | ||
| [[compile]], [[call]], [[spawn]], [[isFinal]] | |seealso= [[compile]], [[call]], [[spawn]], [[isFinal]] | ||
}} | }} | ||
Line 31: | Line 33: | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<dd class="notedate">Posted on August 14, 2013 | <dd class="notedate">Posted on August 14, 2013</dd> | ||
<dt class="note">[[User:AgentRev01|AgentRev]]<dd class="note"> | <dt class="note">[[User:AgentRev01|AgentRev]]</dt> | ||
<dd class="note"> | |||
When broadcasting a compileFinal'ed variable using [[publicVariable]] or its variants, the variable also becomes final on the other client(s) and/or the server. | When broadcasting a compileFinal'ed variable using [[publicVariable]] or its variants, the variable also becomes final on the other client(s) and/or the server. | ||
Also, compileFinal does not prevent [[Event_handlers|event handlers]] from being removed or overwritten.</dd> | |||
<dd class="notedate">Posted on May 27, 2017 - 11:58 (UTC)</dd> | <dd class="notedate">Posted on May 27, 2017 - 11:58 (UTC)</dd> | ||
<dt class="note">[[User:IT07|IT07]]</dt> | <dt class="note">[[User:IT07|IT07]]</dt> |
Revision as of 16:47, 29 January 2021
Description
- Description:
- Compile expression and makes it final, preventing it from:
- repeated compile or compileFinal
- removal by nil
- remote rewrite using publicVariable, publicVariableClient and publicVariableServer
- Groups:
- Strings
Syntax
Examples
- Example 1:
myCode = compileFinal "a = a + 1"; call myCode;
// Repeated compile won't have any effect myCode = compileFinal "a = a + 2";
// Duplicate code will be final as well myDuplicateCode = myCode;
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
- Posted on August 14, 2013
- AgentRev
- When broadcasting a compileFinal'ed variable using publicVariable or its variants, the variable also becomes final on the other client(s) and/or the server. Also, compileFinal does not prevent event handlers from being removed or overwritten.
- Posted on May 27, 2017 - 11:58 (UTC)
- IT07
- in Arma 3 1.70.141838, compileFinal also works for profileNamespace and uiNamespace. But be careful with that.
- Posted on October 23, 2020 - 10:39 (UTC)
- Dscha
- Change with Arma 3 Patch 2.00, compileFinal is now unable to store code type variables in profileNamespace!