https://wiki.beyondunreal.com/w/index.php?action=history&feed=atom Functions - Revision history 2017-11-17T23:26:51Z Revision history for this page on the wiki MediaWiki 1.25.1 https://wiki.beyondunreal.com/Functions?diff=46373&oldid=prev SeriousBarbie: baaah, anchor set at wrong keyword... 2016-10-07T04:20:38Z <p>baaah, anchor set at wrong keyword...</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 04:20, 7 October 2016</td> </tr><tr><td colspan="2" class="diff-lineno" id="L69" >Line 69:</td> <td colspan="2" class="diff-lineno">Line 69:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&#160; '''optional''' [[type]] parametername '''=''' defaultvalue</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>&#160; '''optional''' [[type]] parametername '''=''' defaultvalue</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>:The ''defaultvalue'' can be any expression you could use on the right side of a variable assignment. It will be evaluated as if it was placed between the last local variable declaration and the first executable code statement of the function. In other words, you can call functions here and use any of the function's parameters or local variables. Evaluation of the expression is skipped if that parameter was specified when calling the function.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>:The ''defaultvalue'' can be any expression you could use on the right side of a variable assignment. It will be evaluated as if it was placed between the last local variable declaration and the first executable code statement of the function. In other words, you can call functions here and use any of the function's parameters or local variables. Evaluation of the expression is skipped if that parameter was specified when calling the function.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; out&lt;sup&gt;1,2&lt;/sup&gt;: If the parameter is a variable or an array element or struct member accessed through a variable (as opposed to a literal, or function return value or an array element or struct member accessed through a function return value), any modification to the parameter inside the function is copied back into the variable originally passed to the function after the function returns.&lt;br/&gt;'''Note:''' This is not &quot;call by reference&quot;, but actually [[wp:Evaluation strategy#Call by copy-restore|call by value-result]]. Instead of only copying the value when passing the parameter in, it needs to be copied again when returning from the function, so declaring a parameter as '''out''' is actually more expensive in UnrealScript prior to Unreal Engine 3. (see below)</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;<ins class="diffchange diffchange-inline">&lt;span ID=&quot;out_parameter&quot;&gt;&lt;/span&gt; </ins>out&lt;sup&gt;1,2&lt;/sup&gt;: If the parameter is a variable or an array element or struct member accessed through a variable (as opposed to a literal, or function return value or an array element or struct member accessed through a function return value), any modification to the parameter inside the function is copied back into the variable originally passed to the function after the function returns.&lt;br/&gt;'''Note:''' This is not &quot;call by reference&quot;, but actually [[wp:Evaluation strategy#Call by copy-restore|call by value-result]]. Instead of only copying the value when passing the parameter in, it needs to be copied again when returning from the function, so declaring a parameter as '''out''' is actually more expensive in UnrealScript prior to Unreal Engine 3. (see below)</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>;<del class="diffchange diffchange-inline">&lt;span ID=&quot;out_parameter&quot;&gt;&lt;/span&gt;</del>out&lt;sup&gt;3&lt;/sup&gt;: The parameter is passed [[wp:Evaluation strategy#Call by reference|by reference]] instead of being copied. Any changes to the parameter inside the function become immediately visible in the variable, struct member or (static) array element originally passed to the function. For large dynamic arrays or structs passing by reference (via '''out''' parameter) may be more efficient than passing by value.&lt;br/&gt;'''Note:''' Due to the way dynamic arrays are implemented, you can't pass dynamic array elements or parts of them to an '''out''' parameter. Passing an entire dynamic array via '''out''' parameter is possible, and for large arrays even recommended.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;out&lt;sup&gt;3&lt;/sup&gt;: The parameter is passed [[wp:Evaluation strategy#Call by reference|by reference]] instead of being copied. Any changes to the parameter inside the function become immediately visible in the variable, struct member or (static) array element originally passed to the function. For large dynamic arrays or structs passing by reference (via '''out''' parameter) may be more efficient than passing by value.&lt;br/&gt;'''Note:''' Due to the way dynamic arrays are implemented, you can't pass dynamic array elements or parts of them to an '''out''' parameter. Passing an entire dynamic array via '''out''' parameter is possible, and for large arrays even recommended.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; skip: Only allowed for the second parameter of a native [[operator]] declaration. The native implementation of the operator may choose to not evaluate the second operand if the operator result can be determined by evaluating only the first operand. This is used for the operators &lt;code&gt;&amp;&amp;&lt;/code&gt; and &lt;code&gt;&lt;nowiki&gt;||&lt;/nowiki&gt;&lt;/code&gt; to skip evaluating the second boolean expression if it is not required.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; skip: Only allowed for the second parameter of a native [[operator]] declaration. The native implementation of the operator may choose to not evaluate the second operand if the operator result can be determined by evaluating only the first operand. This is used for the operators &lt;code&gt;&amp;&amp;&lt;/code&gt; and &lt;code&gt;&lt;nowiki&gt;||&lt;/nowiki&gt;&lt;/code&gt; to skip evaluating the second boolean expression if it is not required.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> </table> SeriousBarbie https://wiki.beyondunreal.com/Functions?diff=46371&oldid=prev SeriousBarbie: added anchor 2016-10-07T04:16:53Z <p>added anchor</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 04:16, 7 October 2016</td> </tr><tr><td colspan="2" class="diff-lineno" id="L70" >Line 70:</td> <td colspan="2" class="diff-lineno">Line 70:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>:The ''defaultvalue'' can be any expression you could use on the right side of a variable assignment. It will be evaluated as if it was placed between the last local variable declaration and the first executable code statement of the function. In other words, you can call functions here and use any of the function's parameters or local variables. Evaluation of the expression is skipped if that parameter was specified when calling the function.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>:The ''defaultvalue'' can be any expression you could use on the right side of a variable assignment. It will be evaluated as if it was placed between the last local variable declaration and the first executable code statement of the function. In other words, you can call functions here and use any of the function's parameters or local variables. Evaluation of the expression is skipped if that parameter was specified when calling the function.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; out&lt;sup&gt;1,2&lt;/sup&gt;: If the parameter is a variable or an array element or struct member accessed through a variable (as opposed to a literal, or function return value or an array element or struct member accessed through a function return value), any modification to the parameter inside the function is copied back into the variable originally passed to the function after the function returns.&lt;br/&gt;'''Note:''' This is not &quot;call by reference&quot;, but actually [[wp:Evaluation strategy#Call by copy-restore|call by value-result]]. Instead of only copying the value when passing the parameter in, it needs to be copied again when returning from the function, so declaring a parameter as '''out''' is actually more expensive in UnrealScript prior to Unreal Engine 3. (see below)</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; out&lt;sup&gt;1,2&lt;/sup&gt;: If the parameter is a variable or an array element or struct member accessed through a variable (as opposed to a literal, or function return value or an array element or struct member accessed through a function return value), any modification to the parameter inside the function is copied back into the variable originally passed to the function after the function returns.&lt;br/&gt;'''Note:''' This is not &quot;call by reference&quot;, but actually [[wp:Evaluation strategy#Call by copy-restore|call by value-result]]. Instead of only copying the value when passing the parameter in, it needs to be copied again when returning from the function, so declaring a parameter as '''out''' is actually more expensive in UnrealScript prior to Unreal Engine 3. (see below)</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; out&lt;sup&gt;3&lt;/sup&gt;: The parameter is passed [[wp:Evaluation strategy#Call by reference|by reference]] instead of being copied. Any changes to the parameter inside the function become immediately visible in the variable, struct member or (static) array element originally passed to the function. For large dynamic arrays or structs passing by reference (via '''out''' parameter) may be more efficient than passing by value.&lt;br/&gt;'''Note:''' Due to the way dynamic arrays are implemented, you can't pass dynamic array elements or parts of them to an '''out''' parameter. Passing an entire dynamic array via '''out''' parameter is possible, and for large arrays even recommended.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>;<ins class="diffchange diffchange-inline">&lt;span ID=&quot;out_parameter&quot;&gt;&lt;/span&gt;</ins>out&lt;sup&gt;3&lt;/sup&gt;: The parameter is passed [[wp:Evaluation strategy#Call by reference|by reference]] instead of being copied. Any changes to the parameter inside the function become immediately visible in the variable, struct member or (static) array element originally passed to the function. For large dynamic arrays or structs passing by reference (via '''out''' parameter) may be more efficient than passing by value.&lt;br/&gt;'''Note:''' Due to the way dynamic arrays are implemented, you can't pass dynamic array elements or parts of them to an '''out''' parameter. Passing an entire dynamic array via '''out''' parameter is possible, and for large arrays even recommended.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; skip: Only allowed for the second parameter of a native [[operator]] declaration. The native implementation of the operator may choose to not evaluate the second operand if the operator result can be determined by evaluating only the first operand. This is used for the operators &lt;code&gt;&amp;&amp;&lt;/code&gt; and &lt;code&gt;&lt;nowiki&gt;||&lt;/nowiki&gt;&lt;/code&gt; to skip evaluating the second boolean expression if it is not required.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; skip: Only allowed for the second parameter of a native [[operator]] declaration. The native implementation of the operator may choose to not evaluate the second operand if the operator result can be determined by evaluating only the first operand. This is used for the operators &lt;code&gt;&amp;&amp;&lt;/code&gt; and &lt;code&gt;&lt;nowiki&gt;||&lt;/nowiki&gt;&lt;/code&gt; to skip evaluating the second boolean expression if it is not required.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> </table> SeriousBarbie https://wiki.beyondunreal.com/Functions?diff=46321&oldid=prev SeriousBarbie: probe function -> Legacy:probe function 2016-04-03T22:41:30Z <p>probe function -&gt; Legacy:probe function</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 22:41, 3 April 2016</td> </tr><tr><td colspan="2" class="diff-lineno" id="L108" >Line 108:</td> <td colspan="2" class="diff-lineno">Line 108:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If the function has [[replication]] logic attached, the engine checks if it needs to replicate the call. If that's the case, the function's argument values are wrapped up along with the function name in a network packet, which is sent to the remote side. The ''local'' function call then returns immediately and if the function has a return type, it returns that type's null value. When the remote side receives the function call, it first checks whether it actually wants it (in case something strange happened) and then continues to process the function call similar to a local function call as described below.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If the function has [[replication]] logic attached, the engine checks if it needs to replicate the call. If that's the case, the function's argument values are wrapped up along with the function name in a network packet, which is sent to the remote side. The ''local'' function call then returns immediately and if the function has a return type, it returns that type's null value. When the remote side receives the function call, it first checks whether it actually wants it (in case something strange happened) and then continues to process the function call similar to a local function call as described below.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Now that the function's argument values are known and the is to be executed locally, the engine checks if and how it should actually execute the function. If the function is neither ''native'' nor ''simulated'', but the context object is an actor with &lt;code&gt;[[Role]] &lt;= ROLE_SimulatedProxy&lt;/code&gt;, then the function is not executed. Similarly, if the function is ''singular'' and the context object already executes the same or another ''singular'' function, the function is not executed. And lastly, if the function is a [[probe function]] and the probe event with the same name was disabled, then the function is not executed. In all these cases, if the function has a return type, the corresponding null value is returned.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Now that the function's argument values are known and the is to be executed locally, the engine checks if and how it should actually execute the function. If the function is neither ''native'' nor ''simulated'', but the context object is an actor with &lt;code&gt;[[Role]] &lt;= ROLE_SimulatedProxy&lt;/code&gt;, then the function is not executed. Similarly, if the function is ''singular'' and the context object already executes the same or another ''singular'' function, the function is not executed. And lastly, if the function is a [[<ins class="diffchange diffchange-inline">Legacy:Probe_Function|</ins>probe function]] and the probe event with the same name was disabled, then the function is not executed. In all these cases, if the function has a return type, the corresponding null value is returned.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If the engine found that the function should be executed, it initializes all parameters (except '''out''' parameters in [[Unreal Engine 3]]) as local variables with an initial value equal to the corresponding argument value. Omitted optional parameters with a default value expression are initialized accordingly at this point. Any other optional parameters and local variables are initialized with their type's corresponding null value. After that is done, the code in the function body is [[code execution|executed]] until either a [[return statement]] or the end of the function body is reached. If the function has a return type, but code execution did not reach any return statement, the function's return value is the return type's corresponding null value.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>If the engine found that the function should be executed, it initializes all parameters (except '''out''' parameters in [[Unreal Engine 3]]) as local variables with an initial value equal to the corresponding argument value. Omitted optional parameters with a default value expression are initialized accordingly at this point. Any other optional parameters and local variables are initialized with their type's corresponding null value. After that is done, the code in the function body is [[code execution|executed]] until either a [[return statement]] or the end of the function body is reached. If the function has a return type, but code execution did not reach any return statement, the function's return value is the return type's corresponding null value.</div></td></tr> </table> SeriousBarbie https://wiki.beyondunreal.com/Functions?diff=45947&oldid=prev WGH: /* Network modifiers */ 2014-03-01T22:17:20Z <p>‎<span dir="auto"><span class="autocomment">Network modifiers</span></span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 22:17, 1 March 2014</td> </tr><tr><td colspan="2" class="diff-lineno" id="L34" >Line 34:</td> <td colspan="2" class="diff-lineno">Line 34:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>These modifiers affect function [[replication]] in [[Unreal Engine 3]]. Earlier engine generations use the [[replication block]] to define these.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>These modifiers affect function [[replication]] in [[Unreal Engine 3]]. Earlier engine generations use the [[replication block]] to define these.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Client&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the client owning the actor if it is called on the server. This modifier automatically makes the function '''simulated''' as well.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Client&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the client owning the actor if it is called on the server. This modifier automatically makes the function '''simulated''' as well.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; DemoRecording&lt;sup&gt;3-x1&lt;/sup&gt;: Specifies that this function should be replicated to the demorecording driver. It will only be executed during demo playback. This modifier automatically makes the function '''simulated''' as well, which makes sense since demo playback essentially is a client environment.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; DemoRecording&lt;sup&gt;3-x1&lt;/sup&gt;: Specifies that this function should be replicated to the demorecording driver <ins class="diffchange diffchange-inline">(applicable to server-side demo recording only)</ins>. It will only be executed during demo playback. This modifier automatically makes the function '''simulated''' as well, which makes sense since demo playback essentially is a client environment<ins class="diffchange diffchange-inline">. Note that '''Client''' function calls are also replicated to the demorecording driver, whereas '''DemoRecording''' ones are replicated only to the driver, not to the real clients</ins>.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Reliable&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated reliably when marked with this modifier.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Reliable&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated reliably when marked with this modifier.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Server&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the server if it was called on a replicated actor that is owned by the local client.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Server&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the server if it was called on a replicated actor that is owned by the local client.</div></td></tr> </table> WGH https://wiki.beyondunreal.com/Functions?diff=45404&oldid=prev Pbrown: /* Parameter modifiers */ 2013-05-18T00:14:12Z <p>‎<span dir="auto"><span class="autocomment">Parameter modifiers</span></span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 00:14, 18 May 2013</td> </tr><tr><td colspan="2" class="diff-lineno" id="L74" >Line 74:</td> <td colspan="2" class="diff-lineno">Line 74:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Parameters are evaluated at the time the function is called, before deciding if or where to execute the function body. Parameter expressions are evaluated from left to right in the context of the calling code and with the exception of parameters declared with the '''out''' modifier, UnrealScript always uses the [[wp:Evaluation strategy#Call by value|call-by-value evaluation strategy]].</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Parameters are evaluated at the time the function is called, before deciding if or where to execute the function body. Parameter expressions are evaluated from left to right in the context of the calling code and with the exception of parameters declared with the '''out''' modifier, UnrealScript always uses the [[wp:Evaluation strategy#Call by value|call-by-value evaluation strategy]].</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Note that reference type values are <del class="diffchange diffchange-inline">no </del>objects, but object references! Passing objects to functions duplicates the object reference, not the object itself.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Note that reference type values are <ins class="diffchange diffchange-inline">not </ins>objects, but object references! Passing objects to functions duplicates the object reference, not the object itself.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Locals===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Locals===</div></td></tr> </table> Pbrown https://wiki.beyondunreal.com/Functions?diff=44333&oldid=prev Wormbo: /* Modifiers */ DLLImport probably fits better as "implementation modifier" than "call modifier" 2011-03-07T13:20:28Z <p>‎<span dir="auto"><span class="autocomment">Modifiers: </span> DLLImport probably fits better as &quot;implementation modifier&quot; than &quot;call modifier&quot;</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 13:20, 7 March 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="L24" >Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">; DLLImport&lt;sup&gt;3-x2&lt;/sup&gt;: Indicates that the function should be linked to the specified [[wp:DLL|DLL]] in [[DLLBind]].</del></div></td><td colspan="2">&#160;</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Exec: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Exec: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</div></td></tr> <tr><td colspan="2" class="diff-lineno" id="L40" >Line 40:</td> <td colspan="2" class="diff-lineno">Line 39:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Unreliable&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated unreliably when marked with this modifier, i.e. they may be dropped due to packet loss or bandwidth saturation.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Unreliable&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated unreliably when marked with this modifier, i.e. they may be dropped due to packet loss or bandwidth saturation.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>====<del class="diffchange diffchange-inline">Native implementation </del>modifiers====</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>====<ins class="diffchange diffchange-inline">Implementation </ins>modifiers====</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Const&lt;sup&gt;3&lt;/sup&gt;: This modifier is actually placed after the closing parenthesis of the parameter list. It will be passed to the generated native header file, but has no effect in UnrealScript.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Const&lt;sup&gt;3&lt;/sup&gt;: This modifier is actually placed after the closing parenthesis of the parameter list. It will be passed to the generated native header file, but has no effect in UnrealScript.</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">; DLLImport&lt;sup&gt;3-x2&lt;/sup&gt;: Indicates that the function should be linked to the specified [[wp:DLL|DLL]] in [[DLLBind]].</ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Event: As mentioned in the [[#Syntax|Syntax]] section above, the keyword '''event''' may replace the keyword '''function''' without any effect on the UnrealScript level. However, when exporting native header files from script code, '''event''' functions will have calling stubs generated so the UnrealScript function can be called more easily from C++ code. These generated C++ methods have the name &lt;code&gt;event''NameOfUnrealScriptFunction''&lt;/code&gt; and their parameters and possible return type reflects the UnrealScript function declaration.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Event: As mentioned in the [[#Syntax|Syntax]] section above, the keyword '''event''' may replace the keyword '''function''' without any effect on the UnrealScript level. However, when exporting native header files from script code, '''event''' functions will have calling stubs generated so the UnrealScript function can be called more easily from C++ code. These generated C++ methods have the name &lt;code&gt;event''NameOfUnrealScriptFunction''&lt;/code&gt; and their parameters and possible return type reflects the UnrealScript function declaration.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Intrinsic&lt;sup&gt;1,2&lt;/sup&gt;: See '''native'''.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Intrinsic&lt;sup&gt;1,2&lt;/sup&gt;: See '''native'''.</div></td></tr> </table> Wormbo https://wiki.beyondunreal.com/Functions?diff=44310&oldid=prev Eliot: /* Call modifiers */ sup 2011-02-24T20:06:19Z <p>‎<span dir="auto"><span class="autocomment">Call modifiers: </span> sup</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 20:06, 24 February 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="L24" >Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; DLLImport: Indicates that the function should be linked to the specified [[wp:DLL|DLL]] in [[DLLBind]].</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; DLLImport<ins class="diffchange diffchange-inline">&lt;sup&gt;3-x2&lt;/sup&gt;</ins>: Indicates that the function should be linked to the specified [[wp:DLL|DLL]] in [[DLLBind]].</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Exec: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Exec: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</div></td></tr> </table> Eliot https://wiki.beyondunreal.com/Functions?diff=44309&oldid=prev Eliot: /* Call modifiers */ Added DLLImport 2011-02-24T20:05:34Z <p>‎<span dir="auto"><span class="autocomment">Call modifiers: </span> Added DLLImport</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 20:05, 24 February 2011</td> </tr><tr><td colspan="2" class="diff-lineno" id="L24" >Line 24:</td> <td colspan="2" class="diff-lineno">Line 24:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">; DLLImport: Indicates that the function should be linked to the specified [[wp:DLL|DLL]] in [[DLLBind]].</ins></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Exec: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; Exec: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</div></td></tr> </table> Eliot https://wiki.beyondunreal.com/Functions?diff=44113&oldid=prev Mr Evil: "const" does have an effect in UnrealScript. 2010-11-13T17:33:45Z <p>&quot;const&quot; does have an effect in UnrealScript.</p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 17:33, 13 November 2010</td> </tr><tr><td colspan="2" class="diff-lineno" id="L63" >Line 63:</td> <td colspan="2" class="diff-lineno">Line 63:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Parameter modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Parameter modifiers====</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; coerce: Automatically performs [[typecasting]] of values passed to this parameter, if the parameter is of a primitive type other than [[enum]]. Note that the built-in numeric types [[int]], [[float]] and [[byte]] are automatically typecasted to each other even without this modifier. Enum conversion to these numeric types is automatic as well. This modifier can also be applied to the return type of the function.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; coerce: Automatically performs [[typecasting]] of values passed to this parameter, if the parameter is of a primitive type other than [[enum]]. Note that the built-in numeric types [[int]], [[float]] and [[byte]] are automatically typecasted to each other even without this modifier. Enum conversion to these numeric types is automatic as well. This modifier can also be applied to the return type of the function.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; const&lt;sup&gt;3&lt;/sup&gt;: For native functions this modifier is passed to the generated native headers. <del class="diffchange diffchange-inline">It has no effect in </del>UnrealScript.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; const&lt;sup&gt;3&lt;/sup&gt;: For native functions this modifier is passed to the generated native headers. <ins class="diffchange diffchange-inline">In </ins>UnrealScript<ins class="diffchange diffchange-inline">, it prevents changes to the parameter within the function body, i.e. the value of the parameter must remain as the value that was passed when the function was called</ins>.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; init&lt;sup&gt;3-x2&lt;/sup&gt;: Effect unknown.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; init&lt;sup&gt;3-x2&lt;/sup&gt;: Effect unknown.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; optional: Specifying the parameter in function calls is optional. Omitted parameters assume a default value, which is the parameter type's null value. In Unreal Engine 3 it is also possible to specify a different default value:</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>; optional: Specifying the parameter in function calls is optional. Omitted parameters assume a default value, which is the parameter type's null value. In Unreal Engine 3 it is also possible to specify a different default value:</div></td></tr> </table> Mr Evil https://wiki.beyondunreal.com/Functions?diff=43990&oldid=prev Eliot: /* Modifiers */ K2Override and some uncofirmed info. 2010-09-14T21:00:09Z <p>‎<span dir="auto"><span class="autocomment">Modifiers: </span> K2Override and some uncofirmed info.</span></p> <table class='diff diff-contentalign-left'> <col class='diff-marker' /> <col class='diff-content' /> <col class='diff-marker' /> <col class='diff-content' /> <tr style='vertical-align: top;'> <td colspan='2' style="background-color: white; color:black; text-align: center;">← Older revision</td> <td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 21:00, 14 September 2010</td> </tr><tr><td colspan="2" class="diff-lineno" id="L17" >Line 17:</td> <td colspan="2" class="diff-lineno">Line 17:</td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Access modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Access modifiers====</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">private</del>&lt;sup&gt;2,3&lt;/sup&gt;: The function is only accessible within the same class. Not even subclasses can &quot;see&quot; it, which means the usual rules for overriding functions don't apply - subclasses may change the return type and the number and type of parameters. Since they don't see the parent class function, they cannot call it via the [[Super]] keyword.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Private</ins>&lt;sup&gt;2,3&lt;/sup&gt;: The function is only accessible within the same class. Not even subclasses can &quot;see&quot; it, which means the usual rules for overriding functions don't apply - subclasses may change the return type and the number and type of parameters. Since they don't see the parent class function, they cannot call it via the [[Super]] keyword.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">protected</del>&lt;sup&gt;2,3&lt;/sup&gt;: Restricts access to this function to the current class and its subclasses. Subclasses may override the function unless it is also declared as '''final'''.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Protected</ins>&lt;sup&gt;2,3&lt;/sup&gt;: Restricts access to this function to the current class and its subclasses. Subclasses may override the function unless it is also declared as '''final'''.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">public</del>&lt;sup&gt;2,3&lt;/sup&gt;: The default access rule. If neither '''private''' nor '''protected''' is specified, this is one is implied. Public functions can be called from non-related classes and may be overridden in subclasses, unless the function is also declared as '''final'''.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Public</ins>&lt;sup&gt;2,3&lt;/sup&gt;: The default access rule. If neither '''private''' nor '''protected''' is specified, this is one is implied. Public functions can be called from non-related classes and may be overridden in subclasses, unless the function is also declared as '''final'''.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">static</del>: Static functions are not tied to specific objects, but to a class. The object literal &lt;code&gt;Self&lt;/code&gt; is not allowed within static functions and instance functions (i.e. functions not declared with the '''static''' modifier) can only be called through object references, this includes iterator functions in [[ForEach loop]]s. Because static functions are not executed in the context of any object instance, they can also not be subject to [[replication]].</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Static</ins>: Static functions are not tied to specific objects, but to a class. The object literal &lt;code&gt;Self&lt;/code&gt; is not allowed within static functions and instance functions (i.e. functions not declared with the '''static''' modifier) can only be called through object references, this includes iterator functions in [[ForEach loop]]s. Because static functions are not executed in the context of any object instance, they can also not be subject to [[replication]].</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">final</del>: As the name suggests, function declarations with this modifier are &quot;final&quot; and can't be overridden in subclasses.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Final</ins>: As the name suggests, function declarations with this modifier are &quot;final&quot; and can't be overridden in subclasses.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Call modifiers====</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">exec</del>: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Exec</ins>: Marks the function as potential console command. Note that exec functions are only really called via console commands for certain objects, such as the local PlayerController, that player's HUD, Pawn or selected Weapon and a few other places. The possible places for exec functions may vary from game to game, so have a look at the [[UnrealScript source code]] of your game to find out where you can put exec functions that actually work.&lt;br/&gt;When overriding functions, you must also declare the new function with the '''exec''' modifier if and only if the overridden function was declared with it. This means you cannot turn a regular function into a console command!</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">simulated</del>: Marks the function as valid for execution on clients if the actor containing it was replicated to that client and the local [[role]] of that client is either ROLE_SimulatedProxy or ROLE_DumbProxy.&lt;br/&gt;'''Note:''' The modifier '''simulated''' does not imply any kind of replication or even broadcast! Also, this modifier is not inherited when overriding functions - every super function call evaluates that super function's '''simulated''' modifier separately, potentially breaking the chain of super calls on clients!</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">K2Call&lt;sup&gt;3-x3&lt;/sup&gt; : Allows the function to be referenced and called via [[Kismet 2]]{{confirm}}.</ins></div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">singular</del>: Restricts recursive function calls by only ever allowing a single singular function to execute per object instance. If a singular function is called, the engine first checks if the object instance the function was called on already executes a singular function. If it does, the new function call is ignored.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">; K2Override&lt;sup&gt;3-x3&lt;/sup&gt; : Related to [[Kismet 2]]{{confirm}}. Effect unknown.</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">; K2Pure&lt;sup&gt;3-x3&lt;/sup&gt; : Related to [[Kismet 2]]{{confirm}}. Effect unknown.</ins></div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins class="diffchange diffchange-inline">; Simulated</ins>: Marks the function as valid for execution on clients if the actor containing it was replicated to that client and the local [[role]] of that client is either ROLE_SimulatedProxy or ROLE_DumbProxy.&lt;br/&gt;'''Note:''' The modifier '''simulated''' does not imply any kind of replication or even broadcast! Also, this modifier is not inherited when overriding functions - every super function call evaluates that super function's '''simulated''' modifier separately, potentially breaking the chain of super calls on clients!</div></td></tr> <tr><td colspan="2">&#160;</td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Singular</ins>: Restricts recursive function calls by only ever allowing a single singular function to execute per object instance. If a singular function is called, the engine first checks if the object instance the function was called on already executes a singular function. If it does, the new function call is ignored.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Network modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Network modifiers====</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>These modifiers affect function [[replication]] in [[Unreal Engine 3]]. Earlier engine generations use the [[replication block]] to define these.</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>These modifiers affect function [[replication]] in [[Unreal Engine 3]]. Earlier engine generations use the [[replication block]] to define these.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">client</del>&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the client owning the actor if it is called on the server. This modifier automatically makes the function '''simulated''' as well.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Client</ins>&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the client owning the actor if it is called on the server. This modifier automatically makes the function '''simulated''' as well.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">demorecording</del>&lt;sup&gt;3-x1&lt;/sup&gt;: Specifies that this function should be replicated to the demorecording driver. It will only be executed during demo playback. This modifier automatically makes the function '''simulated''' as well, which makes sense since demo playback essentially is a client environment.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">DemoRecording</ins>&lt;sup&gt;3-x1&lt;/sup&gt;: Specifies that this function should be replicated to the demorecording driver. It will only be executed during demo playback. This modifier automatically makes the function '''simulated''' as well, which makes sense since demo playback essentially is a client environment.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">k2call&lt;sup&gt;3-x3&lt;/sup&gt; : '''???'''.</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Reliable</ins>&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated reliably when marked with this modifier.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">; k2pure&lt;sup&gt;3-x3&lt;/sup&gt; : '''???'''.</del></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Server</ins>&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the server if it was called on a replicated actor that is owned by the local client.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del class="diffchange diffchange-inline">; reliable</del>&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated reliably when marked with this modifier.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Unreliable</ins>&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated unreliably when marked with this modifier, i.e. they may be dropped due to packet loss or bandwidth saturation.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">server</del>&lt;sup&gt;3&lt;/sup&gt;: Specifies that this function should be replicated to the server if it was called on a replicated actor that is owned by the local client.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">unreliable</del>&lt;sup&gt;3&lt;/sup&gt;: Replicated functions will be replicated unreliably when marked with this modifier, i.e. they may be dropped due to packet loss or bandwidth saturation.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div></div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Native implementation modifiers====</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>====Native implementation modifiers====</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">const</del>&lt;sup&gt;3&lt;/sup&gt;: This modifier is actually placed after the closing parenthesis of the parameter list. It will be passed to the generated native header file, but has no effect in UnrealScript.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Const</ins>&lt;sup&gt;3&lt;/sup&gt;: This modifier is actually placed after the closing parenthesis of the parameter list. It will be passed to the generated native header file, but has no effect in UnrealScript.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">event</del>: As mentioned in the [[#Syntax|Syntax]] section above, the keyword '''event''' may replace the keyword '''function''' without any effect on the UnrealScript level. However, when exporting native header files from script code, '''event''' functions will have calling stubs generated so the UnrealScript function can be called more easily from C++ code. These generated C++ methods have the name &lt;code&gt;event''NameOfUnrealScriptFunction''&lt;/code&gt; and their parameters and possible return type reflects the UnrealScript function declaration.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Event</ins>: As mentioned in the [[#Syntax|Syntax]] section above, the keyword '''event''' may replace the keyword '''function''' without any effect on the UnrealScript level. However, when exporting native header files from script code, '''event''' functions will have calling stubs generated so the UnrealScript function can be called more easily from C++ code. These generated C++ methods have the name &lt;code&gt;event''NameOfUnrealScriptFunction''&lt;/code&gt; and their parameters and possible return type reflects the UnrealScript function declaration.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">intrinsic</del>&lt;sup&gt;1,2&lt;/sup&gt;: See '''native'''.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Intrinsic</ins>&lt;sup&gt;1,2&lt;/sup&gt;: See '''native'''.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">intrinsic</del>(''number'')&lt;sup&gt;1,2&lt;/sup&gt;: See '''native(''number'')'''.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Intrinsic</ins>(''number'')&lt;sup&gt;1,2&lt;/sup&gt;: See '''native(''number'')'''.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">iterator</del>: Native functions with the '''iterator''' modifier can only be used as the iterator function of a [[ForEach loop]]. This modifier may not be used for non-native functions.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Iterator</ins>: Native functions with the '''iterator''' modifier can only be used as the iterator function of a [[ForEach loop]]. This modifier may not be used for non-native functions.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">latent</del>: Native functions with the '''latent''' modifier may only be called directly from [[state code]] (but not within any [[ForEach loop]]) and usually pause state code execution at least until the next tick, possibly even longer. This modifier may not be used for non-native functions.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Latent</ins>: Native functions with the '''latent''' modifier may only be called directly from [[state code]] (but not within any [[ForEach loop]]) and usually pause state code execution at least until the next tick, possibly even longer. This modifier may not be used for non-native functions.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">native</del>: The actual implementation of this function resides in native code in a C++ function with the name &lt;code&gt;exec''NameOfUnrealScriptFunction''&lt;/code&gt;. Very early [[Unreal Engine 1]] versions used the keyword '''intrinsic''' instead.&lt;br/&gt;Similar to '''simulated''' functions, native functions can be called clientsidely on replicated actors even if the local [[role]] is ''ROLE_SimulatedProxy'' or ''ROLE_DumbProxy''.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Native</ins>: The actual implementation of this function resides in native code in a C++ function with the name &lt;code&gt;exec''NameOfUnrealScriptFunction''&lt;/code&gt;. Very early [[Unreal Engine 1]] versions used the keyword '''intrinsic''' instead.&lt;br/&gt;Similar to '''simulated''' functions, native functions can be called clientsidely on replicated actors even if the local [[role]] is ''ROLE_SimulatedProxy'' or ''ROLE_DumbProxy''.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">native</del>(''number''): Same as the plain '''native''' modifier, but additionally the function gets its own [[UnrealScript bytecode]] token.&lt;br/&gt;''Even if you can write native code for your mod, you should never specify numbers for your native functions!''</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Native</ins>(''number''): Same as the plain '''native''' modifier, but additionally the function gets its own [[UnrealScript bytecode]] token.&lt;br/&gt;''Even if you can write native code for your mod, you should never specify numbers for your native functions!''</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">noexport</del>&lt;sup&gt;3&lt;/sup&gt;, <del class="diffchange diffchange-inline">noexportheader</del>&lt;sup&gt;3-x2&lt;/sup&gt;: Prevents this function from being exported to native headers.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">NoExport</ins>&lt;sup&gt;3&lt;/sup&gt;, <ins class="diffchange diffchange-inline">NoExportHeader</ins>&lt;sup&gt;3-x2&lt;/sup&gt;: Prevents this function from being exported to native headers.</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>; <del class="diffchange diffchange-inline">virtual</del>&lt;sup&gt;3&lt;/sup&gt;: This modifier is just passed through to exported native headers and has no effect in UnrealScript.</div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>; <ins class="diffchange diffchange-inline">Virtual</ins>&lt;sup&gt;3&lt;/sup&gt;: This modifier is just passed through to exported native headers and has no effect in UnrealScript.</div></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr> <tr><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Parameters===</div></td><td class='diff-marker'>&#160;</td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>===Parameters===</div></td></tr> </table> Eliot