compileFinal: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{ *codecomment *\| *\/\/ *([^ ]+) *\}\} " to "{{cc|$1}}")
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|--- Repeated compile won't have any effect}}myCode <nowiki>=</nowiki> compileFinal "a <nowiki>=</nowiki> a + 2";<br>
{{cc|Repeated compile won't have any effect}}
{{cc|--- Duplicate code will be final as well}}myDuplicateCode = myCode;
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>


Also, compileFinal does not prevent [[Event_handlers|event handlers]] from being removed or overwritten.
<!-- Note Section END -->
</dl>
[[Category:Scripting Commands|COMPILE]]
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|arma3|New Scripting Commands}}
<!-- CONTINUE Notes -->
<dl class="command_description">
<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 17:47, 29 January 2021

Hover & click on the images for description

Description

Description:
Compile expression and makes it final, preventing it from:
This feature is only available in retail version of Arma 3
Groups:
Strings

Syntax

Syntax:
compileFinal expression
Parameters:
expression: String
Return Value:
Code

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

See also:
compilecallspawnisFinal

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!