Difference between revisions of "Template:LSL Function"

From Second Life Wiki
Jump to navigation Jump to search
(Lower case the first character of a function name so it stops appearing as LlCoolFunction and instead shows properly as llCoolFunction)
 
(269 intermediate revisions by 13 users not shown)
Line 1: Line 1:
<includeonly>
{{Multi-lang|category=LSL|2=}}{{LSL Header{{#var:lang}}}} __NOTOC__ <noinclude>
{{lowercase|{{{name}}}}}
See [[{{#var:langbase}}/docs{{#var:lang}}]] for documentation.
__NOTOC__
</noinclude><includeonly>{{DISPLAYTITLE:{{#if:{{NAMESPACE}}|{{NAMESPACE}}:}}{{lcfirst:{{PAGENAME}}}}}}<!--
<div id="box" style="background:#ffdead;">
I have no idea if the following is still used or I am misunderstanding it. Keeping it for now. -->{{#if:{{#var:sort}}||{{#if:{{{sort|}}}|{{#vardefine:sort|{{{sort|}}}}}|{{#if:{{LSL_Sort}}}}}}}}<div id="sort" style="display:none">{{DEFAULTSORT:{{#var:sort}}}}{{#var:sort}}</div>{{#if:{{#var:nofixname}}||{{#if:{{#pos:{{lc:{{FULLPAGENAMEE}}}}|{{lc:{{{func}}}}}}}|<div id="RealTitleBanner" style="display:none"><span id="RealTitle">{{#if:{{NAMESPACE}}|{{NAMESPACE}}:}}{{{func}}}</span></div>}}}}{{#if:
&nbsp;&nbsp;'''WORK IN PROGRESS'''
 
<div style="padding: 0.5em;background:#ffffff;">
{{#vardefine:article_type|function}}
''(This style and layout is presumed to be not finalized yet - this needs to be rather finalized first.)''
 
</div>
{{#vardefine:name|{{{func|}}}}}
</div>
{{#if:{{{func_id|}}}|{{#vardefine:func_id|{{{func_id|}}}}}|{{#if:{{#var:func_id}}||{{#vardefine:func_id|?}}}}}}
 
{{#vardefine:mode|{{#var:mode}}{{{mode|}}}}}
{{#vardefine:self|{{#var:self}}{{{self|}}}}}
 
{{{inject-1|}}}
 
{{{{#switch:{{#var:mode}}
|god=LSL_Generic/god{{#var:lang}}
|request=LSL_Generic/request{{#var:lang}}
|pre-release=LSL_Generic/pre-release{{#var:lang}}
|rc=LSL_Generic/RC{{#var:lang}}
|preview=LSL_Generic/preview{{#var:lang}}
|user=!{{#vardefine:moded|u{{#var:moded}}}}
|!}}|text={{{mode_text|}}}}}
{{{{#if:{{{deprecated|}}}|LSL_Generic/deprecated{{#var:lang}}|!}}|{{{deprecated|}}}|}}
 
{{{inject-2|}}}
 
{{#vardefine:p_{{{p1_name|}}}_hover|{{#var:p_{{{p1_name|}}}_hover}}{{{p1_hover|}}}}}
{{#vardefine:p_{{{p2_name|}}}_hover|{{#var:p_{{{p2_name|}}}_hover}}{{{p2_hover|}}}}}
{{#vardefine:p_{{{p3_name|}}}_hover|{{#var:p_{{{p3_name|}}}_hover}}{{{p3_hover|}}}}}
{{#vardefine:p_{{{p4_name|}}}_hover|{{#var:p_{{{p4_name|}}}_hover}}{{{p4_hover|}}}}}
{{#vardefine:p_{{{p5_name|}}}_hover|{{#var:p_{{{p5_name|}}}_hover}}{{{p5_hover|}}}}}
{{#vardefine:p_{{{p6_name|}}}_hover|{{#var:p_{{{p6_name|}}}_hover}}{{{p6_hover|}}}}}
{{#vardefine:p_{{{p7_name|}}}_hover|{{#var:p_{{{p7_name|}}}_hover}}{{{p7_hover|}}}}}
{{#vardefine:p_{{{p8_name|}}}_hover|{{#var:p_{{{p8_name|}}}_hover}}{{{p8_hover|}}}}}
{{#vardefine:p_{{{p9_name|}}}_hover|{{#var:p_{{{p9_name|}}}_hover}}{{{p9_hover|}}}}}
{{#vardefine:p_{{{p10_name|}}}_hover|{{#var:p_{{{p10_name|}}}_hover}}{{{p10_hover|}}}}}
{{#vardefine:p_{{{p11_name|}}}_hover|{{#var:p_{{{p11_name|}}}_hover}}{{{p11_hover|}}}}}
{{#vardefine:p_{{{p12_name|}}}_hover|{{#var:p_{{{p12_name|}}}_hover}}{{{p12_hover|}}}}}
{{#vardefine:p_{{{p1_name|}}}_desc|{{#var:p_{{{p1_name|}}}_desc}}{{{p1_desc|}}}}}
{{#vardefine:p_{{{p2_name|}}}_desc|{{#var:p_{{{p2_name|}}}_desc}}{{{p2_desc|}}}}}
{{#vardefine:p_{{{p3_name|}}}_desc|{{#var:p_{{{p3_name|}}}_desc}}{{{p3_desc|}}}}}
{{#vardefine:p_{{{p4_name|}}}_desc|{{#var:p_{{{p4_name|}}}_desc}}{{{p4_desc|}}}}}
{{#vardefine:p_{{{p5_name|}}}_desc|{{#var:p_{{{p5_name|}}}_desc}}{{{p5_desc|}}}}}
{{#vardefine:p_{{{p6_name|}}}_desc|{{#var:p_{{{p6_name|}}}_desc}}{{{p6_desc|}}}}}
{{#vardefine:p_{{{p7_name|}}}_desc|{{#var:p_{{{p7_name|}}}_desc}}{{{p7_desc|}}}}}
{{#vardefine:p_{{{p8_name|}}}_desc|{{#var:p_{{{p8_name|}}}_desc}}{{{p8_desc|}}}}}
{{#vardefine:p_{{{p9_name|}}}_desc|{{#var:p_{{{p9_name|}}}_desc}}{{{p9_desc|}}}}}
{{#vardefine:p_{{{p10_name|}}}_desc|{{#var:p_{{{p10_name|}}}_desc}}{{{p10_desc|}}}}}
{{#vardefine:p_{{{p11_name|}}}_desc|{{#var:p_{{{p11_name|}}}_desc}}{{{p11_desc|}}}}}
{{#vardefine:p_{{{p12_name|}}}_desc|{{#var:p_{{{p12_name|}}}_desc}}{{{p12_desc|}}}}}
 
{{{inject-3|}}}
 
{{#if:{{#var:header_desc}}{{{func_desc|}}}|
{{#vardefine:header_desc|{{#var:header_desc}}{{PBR}}
{{{func_desc|}}}{{PBR}}}}
}}
 
{{#vardefine:return_text|{{#var:return_text}}{{{return_text|}}}{{{Return_text|}}}{{{Returns_text|}}}{{{returns_text|}}} }}
 
{{#if:{{#var:header_footnote}}{{{func_footnote|}}}{{{func_footer|}}}|
{{#vardefine:header_footnote|{{#var:header_footnote}}{{PBR}}
{{{func_footnote|}}}{{PBR}}
{{{func_footer|}}}{{PBR}}
{{#var:header_footnote_last}}{{PBR}}}}
}}
 
{{#if:{{{other_languages|}}}|
{{#vardefine:other_languages|{{LSL_Other_Languages|{{{other_languages|}}}}}}}
}}
 
{{#if:{{#var:newbie}}||
{{#vardefine:newbie|{{#if:{{{newbie|}}}|{{{newbie|}}}|{{#var:langbase}}/Newbie Notes{{#var:lang}}}}}}
}}
 
{{#if:{{#var:spec}}{{{spec|}}}|
{{#vardefine:spec|{{#var:spec}}{{PBR}}
{{{spec|}}}{{PBR}}}}
}}
 
{{#if:{{#var:constants_nb}}{{{constants|}}}|
{{#vardefine:constants_nb|{{#var:constants_nb}}{{PBR}}
{{{constants|}}}{{PBR}}}}
}}
 
{{#vardefine:bugs|{{#var:bugs}}
{{{bugs|}}}}}
 
{{#vardefine:caveats|{{#ifexpr:{{{func_sleep|0.0}}}> 0.0|* <span id="caveats-sleep"></span> This function causes the script to sleep for {{{func_sleep|}}} seconds. {{{func_sleep_note|}}}|{{#ifexpr:{{{func_sleep_frame|0}}}> 0|* <span id="caveats-sleep"></span> This function causes the script to sleep for {{{func_sleep_frame|}}} {{#ifexpr:{{{func_sleep_frame}}}> 1|frames|frame}}. {{{func_sleep_note|}}}|{{#if:{{{func_sleep_note|}}}|* <span id="caveats-sleep"></span> {{{func_sleep_note|}}}}}}}}}{{#if:{{#var:caveats}}|
{{#var:caveats}}}}{{#if:{{{caveats|}}}|
{{{caveats|}}}}}}}
 
{{#if:{{#pos:{{#var:moded}}|u}}||{{#vardefine:caveats|{{LSL_Generic/Caveats}}}}}}
 
{{#if:{{#var:examples}}{{{examples|}}}|
{{#vardefine:examples|{{#var:examples}}{{PBR}}
{{{examples|}}}{{PBR}}}}
}}
 
{{#vardefine:simple-examples|{{#var:simple-examples}}
{{{simple_examples|}}}}}
 
{{#vardefine:complex-examples|{{#var:complex-examples}}
{{{complex_examples|}}}}}
 
{{#if:{{#var:helpers}}{{{helpers|}}}|
{{#vardefine:helpers|{{#var:helpers}}{{PBR}}
{{{helpers|}}}{{PBR}}}}
}}
 
{{#if:{{#var:also_header}}{{{also_header|}}}|
{{#vardefine:also_header|{{#var:also_header}}{{PBR}}
{{{also_header|}}}{{PBR}}}}
}}
 
{{#vardefine:also_constants|{{#var:also_constants}}
{{{also_constants|}}}}}
 
{{#vardefine:also_events|{{#var:also_events}}
{{{also_events|}}}}}
 
{{#vardefine:also_functions|{{#var:also_functions}}
{{{also_functions|}}}}}
 
{{#vardefine:also_articles|{{#var:also_articles}}
{{{also_articles|}}}}}


{| width="100%"
{{#vardefine:also_library|{{#var:also_library}}
|-
{{{also_library|}}}}}
|valign="top"|
<div id="box">
<div style="padding: 0.5em">
{{{description}}}
</div>
</div>
|-
|<div id="box">
<div style="font-size:125%;">{{LSLType|{{{returnType}}}}} {{{name}}}({{ #if: {{{paramName1|}}} | {{LSLType|{{{paramType1}}}}}{{{paramName1}}} |}}{{ #if: {{{paramName2|}}} |, {{LSLType|{{{paramType2}}}}} {{{paramName2}}} |}}{{ #if: {{{paramName3|}}} |, {{LSLType|{{{paramType3}}}}} {{{paramName3}}} |}}{{ #if: {{{paramName4|}}} |, {{LSLType|{{{paramType4}}}}} {{{paramName4}}} |}}{{ #if: {{{paramName5|}}} |, {{LSLType|{{{paramType5}}}}} {{{paramName5}}} |}}{{ #if: {{{paramName6|}}} |, {{LSLType|{{{paramType6}}}}} {{{paramName6}}} |}}{{ #if: {{{paramName7|}}} |, {{LSLType|{{{paramType7}}}}} {{{paramName7}}} |}}
{{ #if: {{{paramName8|}}} |, {{LSLType|{{{paramType8}}}}} {{{paramName8}}}  }}{{ #if: {{{paramName9|}}} |, {{LSLType|{{{paramType9}}}}} {{{paramName9}}} |}});</div>
<div style="padding: 0.5em">
{{LslFunctionStats|{{{functionID}}}|{{{sleep}}}|{{{energy}}}}}
{{ #if: {{{paramName1|}}} | * {{{paramName1}}} - {{{paramDesc1}}} |}}
{{ #if: {{{paramName2|}}} | * {{{paramName2}}} - {{{paramDesc2}}} |}}
{{ #if: {{{paramName3|}}} | * {{{paramName3}}} - {{{paramDesc3}}} |}}
{{ #if: {{{paramName4|}}} | * {{{paramName4}}} - {{{paramDesc4}}} |}}
{{ #if: {{{paramName5|}}} | * {{{paramName5}}} - {{{paramDesc5}}} |}}
{{ #if: {{{paramName6|}}} | * {{{paramName6}}} - {{{paramDesc6}}} |}}
{{ #if: {{{paramName7|}}} | * {{{paramName7}}} - {{{paramDesc7}}} |}}
{{ #if: {{{paramName8|}}} | * {{{paramName8}}} - {{{paramDesc8}}} |}}
{{ #if: {{{paramName9|}}} | * {{{paramName9}}} - {{{paramDesc9}}} |}}
</div>
</div>
|-
|
<div id="box" style="clear:right;>


== Specification ==
{{#if:{{#var:also_footer}}{{{also_footer|}}}|
<div style="padding: 0.5em">
{{#vardefine:also_footer|{{#var:also_footer}}{{PBR}}
{{{specification}}}
{{{also_footer|}}}{{PBR}}}}
</div>
}}
</div>
|-
|
<div id="box">
== Caveats ==
<div style="padding: 0.5em">
{{{caveats}}}
</div>
</div>


|-
{{#if:{{#var:notes}}{{{notes|}}}|
|
{{#vardefine:notes|{{#var:notes}}{{PBR}}
<div id="box">
{{{notes|}}}{{PBR}}}}
== Examples ==
}}
<div style="padding: 0.5em">
{{{examples}}}
</div>
</div>
|-
|
<div id="box">


== Helper Functions ==
{{#if:{{#var:history}}{{{history|}}}|
<div style="padding: 0.5em">
{{#vardefine:history|{{#var:history}}{{PBR}}
{{{helpers}}}
{{{history|}}}{{PBR}}}}
</div>
</div>
|-
|
<div id="box">
== See Also ==
<div style="padding: 0.5em">
{{{seeAlso}}}
</div>
</div>
|-
|
<div id="box">
== Notes ==
<div style="padding: 0.5em">
{{{notes}}}
</div>
</div>
|}
</includeonly>
<noinclude>
=Experimental LSL Function Template=
This is an experimental template for the LSL function page format.
==Usage example:==
<div style="font-size:140%;"><pre><nowiki>
{{LSL_Function|name=llFunction|returnType=string
|functionID=14|energy=10.0|sleep=0.0
|paramName1=avatar|paramType1=key|paramDesc1=This is a key parameter which expects to be passed a valid avatar key.
|paramName2=widgets|paramType2=integer|paramDesc2=This is an integer parameter which indicates the number of widgets to process.
|paramName3=stickLength|paramType3=float|paramDesc3=This is a float parameter used to describe the length of the stick used to whack bad formatters.
|description=This function consumes widgets while it simultaneously animates a person whacking bad formatters.  The widgets are destroyed.  This is the lede. <!-- yes, lede is a word -->  (short high-level description of function, a few sentences to a paragraph)
|specification=This function performs this specific set of actions under these circumstances.  If the key passed to it is [[NULL_KEY]], then it will [[shout]] "Nobody's whacking!" on channel 0.
|caveats=
* Don't use this function to test whether a key is null.
* ''(if you know of none, try using:)'' None known
|examples=
<lsl>
default
{
    state_entry()
    {
        llSay(0,"The absolute value of -4 is: "+(string)llAbs(-4) );
    }
}
</lsl>
|helpers=
<lsl>
</lsl>
|seeAlso=
(similar [[LSL Functions|functions]], related [[LSL Examples|examples]] and pages, etc.)
|notes=
* (bulleted footnotes, if necessary - caveats should go in caveats section)
}}
}}
</nowiki></pre></div>


==Produces:==
{{#if:{{#var:deepnotes}}{{{deepnotes|}}}|
{{#vardefine:deepnotes|{{#var:deepnotes}}{{PBR}}
{{{deepnotes|}}}{{PBR}}}}
}}


----
{{#if:{{#var:mono}}{{{mono|}}}|
{{#vardefine:mono|{{#var:mono}}{{PBR}}
{{{mono|}}}{{PBR}}}}
}}


{{LSL_Function|name=llFunction|returnType=string
{{#if:{{#var:lso}}{{{lso|}}}|
|functionID=14|energy=10.0|sleep=0.0
{{#vardefine:lso|{{#var:lso}}{{PBR}}
|paramName1=avatar|paramType1=key|paramDesc1=This is a key parameter which expects to be passed a valid avatar key.
{{{lso|}}}{{PBR}}}}
|paramName2=widgets|paramType2=integer|paramDesc2=This is an integer parameter which indicates the number of widgets to process.
|paramName3=stickLength|paramType3=float|paramDesc3=This is a float parameter used to describe the length of the stick used to whack bad formatters.
|description=This function consumes widgets while it simultaneously animates a person whacking bad formatters.  The widgets are destroyed.  This is the lede. <!-- yes, lede is a word -->  (short high-level description of function, a few sentences to a paragraph)
|specification=This function performs this specific set of actions under these circumstances.  If the key passed to it is [[NULL_KEY]], then it will [[shout]] "Nobody's whacking!" on channel 0.
|caveats=
* Don't use this function to test whether a key is null.
* ''(if you know of none, try using:)'' None known
|examples=
<lsl>
default
{
    state_entry()
    {
        llSay(0,"The absolute value of -4 is: "+(string)llAbs(-4) );
    }
}
</lsl>
|helpers=
<lsl>
</lsl>
|seeAlso=
(similar [[LSL Functions|functions]], related [[LSL Examples|examples]] and pages, etc.)
|notes=
* (bulleted footnotes, if necessary - caveats should go in caveats section)
}}
}}


----
{{#vardefine:issues|{{#var:issues}}
{{{issues|}}}}}


==Bugs==
{{#vardefine:also_tests|{{#var:also_tests}}
{{{also_tests|}}}}}


==Suggested Changes==
{{#if:{{#var:location}}{{{location|}}}|
{{#vardefine:location|{{#var:location}}{{PBR}}
{{{location|}}}{{PBR}}}}
}}
 
{{#if:{{#var:messaging}}{{{messaging|}}}|
{{#vardefine:messaging|{{#var:messaging}}{{PBR}}
{{{messaging|}}}{{PBR}}}}
}}


</noinclude>
}}{{#if:{{#var:self}}|| __NOEDITSECTION__
}}{{#var:header}}{{#if:{{#var:func_id}}{{#var:mode}}{{#var:moded}}||
{{#if:{{#var:self}}|| [[Category:LSL FixMe]] }} }}{{#if:{{#if:{{{return_type|}}}|{{#var:return_text}}}}{{{func_desc|}}}||<div id="box" style="background:yellow;">
&nbsp;&nbsp;'''Either 'func_desc' or 'return_type' & 'return_text' must be defined'''
<div style="padding: 0.5em;background:#ffffff;">
''(Please use 'return_text' & 'return_type' or 'func_desc' to summarize the functions actions.)''</div></div>{{#if:{{#var:self}}|| [[Category:LSL FixMe]] }} }}
{{RightToc|font-size:80%}}
<div id="box"><h2 style="display:none"> Summary </h2>{{#ifexpr:{{#var:BugCounter|0}} > 0|<div class="mw-headline" style="float:right; margin: 5px 0.5em 0 0.5em;">{{LSL_Bug_Icon}}</div>}}<span id="{{anchorencode:Description}}" style="display:none"></span><span id="{{anchorencode:Summary}}" class="mw-headline" style="display:block; padding-bottom:0.17em; padding-top:0.5em; background:transparent none repeat scroll 0% 0%; color:#546368; font-family:Arial,Helvetica,Sans-Serif; background-color:#F4F8FB; border-bottom:1px dotted #AAAAAA; font-size:120%; font-weight:bold; margin:0pt; padding:0.2em 0.5em; text-align:left;"> [[:Category:LSL_Functions{{#var:lang}}|Function]]: {{#if:{{{return_type|}}}|[[{{{return_type|}}}{{#var:lang}}|{{{return_type|}}}]]||}} '''{{{func}}}'''( {{#if:{{{p1_name|}}}{{{p1_type|}}}| [[{{{p1_type|}}}{{#var:lang}}|{{{p1_type|}}}]] {{LSL Param|{{{p1_name|}}}}}{{#if:{{{p2_name|}}}{{{p2_type|}}}|, [[{{{p2_type|}}}{{#var:lang}}|{{{p2_type|}}}]] {{LSL Param|{{{p2_name|}}}}}{{#if:{{{p3_name|}}}{{{p3_type|}}}|, [[{{{p3_type|}}}{{#var:lang}}|{{{p3_type|}}}]] {{LSL Param|{{{p3_name|}}}}}{{#if:{{{p4_name|}}}{{{p4_type|}}}|, [[{{{p4_type|}}}{{#var:lang}}|{{{p4_type|}}}]] {{LSL Param|{{{p4_name|}}}}}{{#if:{{{p5_name|}}}{{{p5_type|}}}|, [[{{{p5_type|}}}{{#var:lang}}|{{{p5_type|}}}]] {{LSL Param|{{{p5_name|}}}}}{{#if:{{{p6_name|}}}{{{p6_type|}}}|, [[{{{p6_type|}}}{{#var:lang}}|{{{p6_type|}}}]] {{LSL Param|{{{p6_name|}}}}}{{#if:{{{p7_name|}}}{{{p7_type|}}}|, [[{{{p7_type|}}}{{#var:lang}}|{{{p7_type|}}}]] {{LSL Param|{{{p7_name|}}}}}{{#if:{{{p8_name|}}}{{{p8_type|}}}|, [[{{{p8_type|}}}{{#var:lang}}|{{{p8_type|}}}]] {{LSL Param|{{{p8_name|}}}}}{{#if:{{{p9_name|}}}{{{p9_type|}}}|, [[{{{p9_type|}}}{{#var:lang}}|{{{p9_type|}}}]] {{LSL Param|{{{p9_name|}}}}}{{#if:{{{p10_name|}}}{{{p10_type|}}}|, [[{{{p10_type|}}}{{#var:lang}}|{{{p10_type|}}}]] {{LSL Param|{{{p10_name|}}}}}{{#if:{{{p11_name|}}}{{{p11_type|}}}|, [[{{{p11_type|}}}{{#var:lang}}|{{{p11_type|}}}]] {{LSL Param|{{{p11_name|}}}}}{{#if:{{{p12_name|}}}{{{p12_type|}}}|, [[{{{p12_type|}}}{{#var:lang}}|{{{p12_type|}}}]] {{LSL Param|{{{p12_name|}}}}}}}}}}}}}}}}}}}}}}}}}}}}} )<nowiki>;</nowiki></span>
<div style="padding: 0.5em; min-height: {{#if:{{{func_complexity|}}}|6em;|5em;}}">{{#if:{{#pos:{{#var:moded}}|u}}|{{#if:{{#var:floater}}|<div id="box" style="float:right;">{{#var:floater}}</div>}}|<div id="box" style="float:right; margin: 0 0.5em; font-size:90%;">
{{{!}} class="collapsible"
{{!}}- style="font-size:75%;"
{{!}}+
{{!}}-
{{!}} {{HoverText|{{#var:func_id}}|The function index number.}}
{{!}} [[LSL Function ID{{#var:lang}}|Function ID]]
{{!}}-
{{!}} {{HoverText|{{{func_sleep|}}}|The number of seconds this script will sleep after executing this function.}}{{HoverText|{{{func_sleep_frame|}}}|The number of frames this script will sleep after executing this function.}}{{#if:{{{func_sleep_note|}}}|{{HoverLink|#caveats-sleep|3=*|2={{{func_sleep_hover|{{{func_sleep_note|}}}}}}}}}}
{{!}} [[LSL Delay{{#var:lang}}|Forced Delay]]
{{!}}-
{{#if:{{{func_complexity|}}}|
{{!}} {{HoverText|{{{func_complexity|}}}|The complexity of the function based on the parameters.}}
{{!}} [[LSL Complexity{{#var:lang}}|Compl.]]
{{!}}-}}
{{!}} {{HoverText|{{{func_energy|}}}|The quantity of energy consumed by this function.}}
{{!}} [[Energy{{#var:lang}}|Energy]]
{{!}}}</div>}}
{{#if:{{#var:header_desc}}|{{#var:header_desc}}{{PBR}}{{#if:{{{return_type|}}}|<br id="bdart"/>}}}}{{#if:{{{return_type|}}}| Returns {{#if:{{{return_subtype|}}}|{{#if:{{{returns_text|}}}{{{Returns_text|}}}||{{ItBlind|{{#if:{{{return_subtype_disp|}}}|{{{return_subtype_disp|}}}|{{{return_subtype|}}}}}|{{{Return_text|}}}}}}} {{CAL|LSL {{ucfirst:{{{return_type|}}}}}/{{{return_subtype|}}}{{#var:lang}}|{{#if:{{{return_subtype_disp|}}}|{{{return_subtype_disp}}}|{{{return_subtype}}}}}}} ({{ItLink|{{{return_type|}}}}})|{{#if:{{{returns_text|}}}{{{Returns_text|}}}||{{It|{{{return_type|}}}|{{{Return_text|}}}}}}}}} {{#if:{{#var:return_text}}| {{#var:return_text}} }}{{PBR}}}}
{{#if:{{{p1_name|}}}{{{p1_type|}}}|{{{!}}
{{LSL DefineRow|1={{{p1_type|}}}|2={{#if:{{{p1_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p1_type|}}}}}/{{{p1_subtype|}}}{{#var:lang}}|{{{p1_name|}}}}}|{{LSL_Parameter_Link|{{{p1_name|}}}}}}}|3={{#var:p_{{{p1_name|}}}_desc}}}}
{{#if:{{{p2_name|}}}{{{p2_type|}}}|{{LSL DefineRow|1={{{p2_type|}}}|2={{#if:{{{p2_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p2_type|}}}}}/{{{p2_subtype|}}}{{#var:lang}}|{{{p2_name|}}}}}|{{LSL_Parameter_Link|{{{p2_name|}}}}}}}|3={{#var:p_{{{p2_name|}}}_desc}}}}
{{#if:{{{p3_name|}}}{{{p3_type|}}}|{{LSL DefineRow|1={{{p3_type|}}}|2={{#if:{{{p3_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p3_type|}}}}}/{{{p3_subtype|}}}{{#var:lang}}|{{{p3_name|}}}}}|{{LSL_Parameter_Link|{{{p3_name|}}}}}}}|3={{#var:p_{{{p3_name|}}}_desc}}}}
{{#if:{{{p4_name|}}}{{{p4_type|}}}|{{LSL DefineRow|1={{{p4_type|}}}|2={{#if:{{{p4_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p4_type|}}}}}/{{{p4_subtype|}}}{{#var:lang}}|{{{p4_name|}}}}}|{{LSL_Parameter_Link|{{{p4_name|}}}}}}}|3={{#var:p_{{{p4_name|}}}_desc}}}}
{{#if:{{{p5_name|}}}{{{p5_type|}}}|{{LSL DefineRow|1={{{p5_type|}}}|2={{#if:{{{p5_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p5_type|}}}}}/{{{p5_subtype|}}}{{#var:lang}}|{{{p5_name|}}}}}|{{LSL_Parameter_Link|{{{p5_name|}}}}}}}|3={{#var:p_{{{p5_name|}}}_desc}}}}
{{#if:{{{p6_name|}}}{{{p6_type|}}}|{{LSL DefineRow|1={{{p6_type|}}}|2={{#if:{{{p6_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p6_type|}}}}}/{{{p6_subtype|}}}{{#var:lang}}|{{{p6_name|}}}}}|{{LSL_Parameter_Link|{{{p6_name|}}}}}}}|3={{#var:p_{{{p6_name|}}}_desc}}}}
{{#if:{{{p7_name|}}}{{{p7_type|}}}|{{LSL DefineRow|1={{{p7_type|}}}|2={{#if:{{{p7_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p7_type|}}}}}/{{{p7_subtype|}}}{{#var:lang}}|{{{p7_name|}}}}}|{{LSL_Parameter_Link|{{{p7_name|}}}}}}}|3={{#var:p_{{{p7_name|}}}_desc}}}}
{{#if:{{{p8_name|}}}{{{p8_type|}}}|{{LSL DefineRow|1={{{p8_type|}}}|2={{#if:{{{p8_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p8_type|}}}}}/{{{p8_subtype|}}}{{#var:lang}}|{{{p8_name|}}}}}|{{LSL_Parameter_Link|{{{p8_name|}}}}}}}|3={{#var:p_{{{p8_name|}}}_desc}}}}
{{#if:{{{p9_name|}}}{{{p9_type|}}}|{{LSL DefineRow|1={{{p9_type|}}}|2={{#if:{{{p9_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p9_type|}}}}}/{{{p9_subtype|}}}{{#var:lang}}|{{{p9_name|}}}}}|{{LSL_Parameter_Link|{{{p9_name|}}}}}}}|3={{#var:p_{{{p9_name|}}}_desc}}}}
{{#if:{{{p10_name|}}}{{{p10_type|}}}|{{LSL DefineRow|1={{{p10_type|}}}|2={{#if:{{{p10_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p10_type|}}}}}/{{{p10_subtype|}}}{{#var:lang}}|{{{p10_name|}}}}}|{{LSL_Parameter_Link|{{{p10_name|}}}}}}}|3={{#var:p_{{{p10_name|}}}_desc}}}}
{{#if:{{{p11_name|}}}{{{p11_type|}}}|{{LSL DefineRow|1={{{p11_type|}}}|2={{#if:{{{p11_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p11_type|}}}}}/{{{p11_subtype|}}}{{#var:lang}}|{{{p11_name|}}}}}|{{LSL_Parameter_Link|{{{p11_name|}}}}}}}|3={{#var:p_{{{p11_name|}}}_desc}}}}
{{#if:{{{p12_name|}}}{{{p12_type|}}}|{{LSL DefineRow|1={{{p12_type|}}}|2={{#if:{{{p12_subtype|}}}|{{CAL|LSL {{ucfirst:{{{p12_type|}}}}}/{{{p12_subtype|}}}{{#var:lang}}|{{{p12_name|}}}}}|{{LSL_Parameter_Link|{{{p12_name|}}}}}}}|3={{#var:p_{{{p12_name|}}}_desc}}}}
}}}}}}}}}}}}}}}}}}}}}}
{{!}}}
}}{{#if:{{#var:header_footnote}}|
<div style="margin-top:0.5em;"></div>
{{#var:header_footnote}}
}}{{#if:{{#var:other_languages}}|
<div style="margin-top:0.5em;"></div>
{{#var:other_languages}}
}}</div>
</div>{{#ifexist:{{#var:newbie}}|<div id="box">
<h2>[[{{#var:newbie}}|Newbie Notes]]</h2>
<div style="padding: 0.5em; max-height:10em; overflow-x:visible; overflow-y:auto;">
{{:{{#var:newbie}}}}
</div><div style="padding:0 0.5em;">
To continue reading see: [[{{#var:newbie}}|Newbie Notes]]
</div></div>}}{{#if:{{#var:spec}}|<div id="box">
<h2>Specification</h2>
<div style="padding: 0.5em;">
{{#var:spec}}
</div></div>}}{{#if:{{#var:constants_nb}}{{#var:constants}}|
{{#var:constants_nb}}
{{#if:{{#var:constants}}|
<div id="box">
<h2>Constants</h2>
{{#var:constants}}
</div>}}}}{{#if:{{#var:caveats}}|<div id="box">
<h2>Caveats</h2>
<div style="padding: 0.5em;">
{{#var:caveats}}
</div></div>}}{{#if:{{#if:{{#var:deprecated}}||t}}{{#var:examples}}{{#simple-examples}}{{#complex-examples}}|<div id="box">
<h2>Examples</h2>
<div style="padding: 0.5em;">
{{#var:examples}}{{#if:{{#var:simple-examples}}|
<div style="float:left; min-width:200px; width:45%;">
===Simple Examples===
{{{!}}
{{#var:simple-examples}}
{{!}}}
</div>}}{{#if:{{#var:complex-examples}}|
<div style="float:left;">
===Complex Examples===
{{{!}}
{{#var:complex-examples}}
{{!}}}
</div>}}<div style="clear:left;"></div>
</div></div>}}{{#if:{{#var:helpers}}|<div id="box">
<h2>Useful Snippets</h2>
<div style="padding: 0.5em;">
{{#var:helpers}}
</div></div>}}{{#if:{{#var:notes}}|<div id="box">
<h2>Notes</h2>
<div style="padding: 0.5em;">
{{#var:notes}}
</div></div>}}{{#if:{{#var:also_footer}}{{#var:also_functions}}{{#var:also_events}}{{#var:also_articles}}{{#var:also_header}}{{#var:also_library}}{{#var:also_constants}}|<div id="box">
<h2>See Also</h2>
<div style="padding: 0.5em;">
{{#if:{{#var:also_header}}|<div>
{{#var:also_header}}
</div>}}{{#if:{{#var:also_constants}}|
<h3>Constants</h3>
{{{!}}
{{#var:also_constants}}
{{!}}} }}{{#if:{{#var:also_events}}|
<h3>Events</h3>
{{{!}}
{{#var:also_events}}
{{!}}} }}{{#if:{{#var:also_functions}}|
<h3>Functions</h3>
{{{!}}
{{#var:also_functions}}
{{!}}} }}{{#if:{{#var:also_articles}}|
<h3>Articles</h3>
{{{!}}
{{#var:also_articles}}
{{!}}} }}{{#if:{{#var:also_library}}|
<h3>Libraries and Examples</h3>
{{{!}}
{{#var:also_library}}
{{!}}} }}{{#if:{{#var:also_footer}}|
<div style="margin-top:0.5em;">
{{#var:also_footer}}
</div>}}
</div></div>}}{{#if:{{#var:deepnotes}}{{#var:mono}}{{#var:lso}}{{#var:history}}{{#var:also_tests}}{{#var:issues{{#var:direction}}}}{{#var:location}}{{#var:messaging}}{{#var:footnotes}}{{#if:{{#pos:{{#var:moded}}|u}}||1}}{{{signature|}}}{{{haiku|}}}{{{poetry|}}}|<div id="box">
== Deep Notes ==
<div style="padding: 0.5em"><div>
{{#var:deepnotes}}
</div>{{#if:{{#var:mono}}|
<h4> Mono VM Notes </h4><div>
{{#var:mono}}
</div>}}{{#if:{{#var:lso}}|
<h4> LSO VM Notes </h4><div>
{{#var:lso}}
</div>}}{{#if:{{#var:history}}|
<h4> History </h4><div>
{{{!}}
{{#var:history}}
{{!}}}
</div>}}
{{Anchor|Issues}}{{LSL_Generic/Issues}}{{#if:{{#var:also_tests}}|
<h3>Tests</h3>
{{{!}}
{{#var:also_tests}}
{{!}}}
}}{{#if:{{#var:location}}|
<h4> Source </h4><div>
{{#var:location}}
</div>}}{{#if:{{#var:messaging}}|
<h4> Messaging </h4><div>
{{#var:messaging}}
</div>}}{{#if:{{#var:footnotes}}|
<h4 style="margin-bottom:0;"> Footnotes </h4>
{{{{#if:{{#var:footnotes}}|Footnotes|!}}|}}
}}
{{Collapsible_Table|collapsed=*|table-style=width:100%;|title-style=text-align:left;|title=<h4 style="margin-top:0;">Signature</h4>|content={{!}}
{{#tag:pre|{{#if:{{#pos:{{#var:moded}}|u}}||{{#if:{{#pos:{{#var:moded}}|r}}|//}}function {{#if:{{{return_type|}}}|{{{return_type|}}}|void}} {{{func}}}{{#if:{{{p1_name|}}}{{{p1_type|}}}|( {{{p1_type|}}} {{{p1_name|}}}{{#if:{{{p2_name|}}}{{{p2_type|}}}|, {{{p2_type|}}} {{{p2_name|}}}{{#if:{{{p3_name|}}}{{{p3_type|}}}|, {{{p3_type|}}} {{{p3_name|}}}{{#if:{{{p4_name|}}}{{{p4_type|}}}|, {{{p4_type|}}} {{{p4_name|}}}{{#if:{{{p5_name|}}}{{{p5_type|}}}|, {{{p5_type|}}} {{{p5_name|}}}{{#if:{{{p6_name|}}}{{{p6_type|}}}|, {{{p6_type|}}} {{{p6_name|}}}{{#if:{{{p7_name|}}}{{{p7_type|}}}|, {{{p7_type|}}} {{{p7_name|}}}{{#if:{{{p8_name|}}}{{{p8_type|}}}|, {{{p8_type|}}} {{{p8_name|}}}{{#if:{{{p9_name|}}}{{{p9_type|}}}|, {{{p9_type|}}} {{{p9_name|}}}{{#if:{{{p10_name|}}}{{{p10_type|}}}|, {{{p10_type|}}} {{{p10_name|}}}{{#if:{{{p11_name|}}}{{{p11_type|}}}|, {{{p11_type|}}} {{{p11_name|}}}{{#if:{{{p12_name|}}}{{{p12_type|}}}|, {{{p12_type|}}} {{{p12_name|}}}}}}}}}}}}}}}}}}}}}}}}} )|()}}<nowiki>;</nowiki>{{#if:{{{desc|}}}|//{{{desc|}}}}}
<nowiki></nowiki>}}{{#if:{{{signature|}}}|{{{signature|}}}
}}{{#if:{{#var:signature}}|{{#var:signature}}
}}|id="lsl-signature"}}}}
{{#if:{{{haiku|}}}{{{poetry|}}}|{{Collapsible_Table|collapsed=*|table-class=haiku|table-style=width:100%;|title-style=text-align:left;|title=<h4 style="margin-top:0;">Haiku</h4>|content={{!}}
{{{haiku|}}}
{{{poetry|}}}
}}}}
</div></div>}}{{#if:{{{comments|}}}|<div id="box">
<h2>Comments</h2>
<div style="padding: 0.5em;">
{{{comments|}}}
</div></div>}}
<div style="display:none" class="hidden-text" id="hidden-text">{{#var:hidden-text}}</div>
{{#var:footer}} {{#if:{{#var:self}}|| {{#if:{{#pos:{{#var:moded}}|r}}{{#pos:{{#var:moded}}|u}}|| {{#if:{{{haiku|}}}|[[Category:Articles with haiku{{#var:lang}}]]|[[Category:Articles in need of haiku{{#var:lang}}]]}}[[Category:LSL Functions{{#var:lang}}]] {{#if:{{{return_type|}}}|{{LSLC|Functions/Returns {{AAn|{{{return_type|}}}}}{{#var:lang}}}} {{#if:{{{return_subtype|}}}|{{LSLC|Functions/Returns a {{{return_type|}}}/{{{return_subtype|}}}{{#var:lang}}}}}}|{{LSLC|Functions/Returns nothing{{#var:lang}}}}}} {{#if:{{{p1_name|}}}{{{p1_type|}}}|{{LSLC|Parameters/{{{p1_name|}}}{{#var:lang}}}}{{#if:{{{p2_name|}}}{{{p2_type|}}}|{{LSLC|Parameters/{{{p2_name|}}}{{#var:lang}}}}{{#if:{{{p3_name|}}}{{{p3_type|}}}|{{LSLC|Parameters/{{{p3_name|}}}{{#var:lang}}}}{{#if:{{{p4_name|}}}{{{p4_type|}}}|{{LSLC|Parameters/{{{p4_name|}}}{{#var:lang}}}}{{#if:{{{p5_name|}}}{{{p5_type|}}}|{{LSLC|Parameters/{{{p5_name|}}}{{#var:lang}}}}{{#if:{{{p6_name|}}}{{{p6_type|}}}|{{LSLC|Parameters/{{{p6_name|}}}{{#var:lang}}}}{{#if:{{{p7_name|}}}{{{p7_type|}}}|{{LSLC|Parameters/{{{p7_name|}}}{{#var:lang}}}}{{#if:{{{p8_name|}}}{{{p8_type|}}}|{{LSLC|Parameters/{{{p8_name|}}}{{#var:lang}}}}{{#if:{{{p9_name|}}}{{{p9_type|}}}|{{LSLC|Parameters/{{{p9_name|}}}{{#var:lang}}}}{{#if:{{{p10_name|}}}{{{p10_type|}}}|{{LSLC|Parameters/{{{p10_name|}}}{{#var:lang}}}}{{#if:{{{p11_name|}}}{{{p11_type|}}}|{{LSLC|Parameters/{{{p11_name|}}}{{#var:lang}}}}{{#if:{{{p12_name|}}}{{{p12_type|}}}|{{LSLC|Parameters/{{{p12_name|}}}{{#var:lang}}}}}}}}}}}}}}}}}}}}}}}}}}}} {{#if:{{#pos:{{#var:moded}}|f}}|[[Category:LSL Keywords/Pre-release{{#var:lang}}]]|[[Category:LSL Keywords/All{{#var:lang}}]]{{#ifexpr:{{#var:BugCounter|0}} > 0|[[Category:LSL topics with bugs{{#var:lang}}]] [[Category:LSL topics with the most bugs{{#var:lang}}| {{padleft:{{#expr:100-{{#var:BugCounter|0}}}}|2|0}}{{PAGENAME}}]]}}}} {{#iferror:{{#expr:{{#var:func_id}}}}|[[Category:LSL Functions/Without IDs{{#var:lang}}]]|[[Category:LSL Functions/ID{{#var:lang}}| {{padleft:{{#var:func_id}}|5|0}}]]}} {{#if:{{#var:examples}}||[[Category:LSL Needs Example{{#var:lang}}]]}} {{LSL Unhelpful|{{{func}}}|}}}} {{#if:{{{cat1|}}}|[[Category:LSL {{{cat1}}}{{#var:lang}}]]}} {{#if:{{{cat2|}}}|[[Category:LSL {{{cat2}}}{{#var:lang}}]]}} {{#if:{{{cat3|}}}|[[Category:LSL {{{cat3}}}{{#var:lang}}]]}} {{#if:{{{cat4|}}}|[[Category:LSL {{{cat4}}}{{#var:lang}}]]}} {{#if:{{{cat5|}}}|[[Category:LSL {{{cat5}}}{{#var:lang}}]]}} {{#if:{{{cat6|}}}|[[Category:LSL {{{cat6}}}{{#var:lang}}]]}} {{#if:{{{cat7|}}}|[[Category:LSL {{{cat7}}}{{#var:lang}}]]}} {{#if:{{{cat8|}}}|[[Category:LSL {{{cat8}}}{{#var:lang}}]]}} }}</includeonly>

Latest revision as of 13:28, 6 September 2023