Template:Lslfunc

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Created page with "<includeonly>{{quicklinks}}Category:LSL Functions {| width="100%" style="border: thin solid black" |colspan="2"|{{#if:{{{function_syntax|}}}|<div style="font-size:18px;ma...")
 
 
(5 intermediate revisions by one user not shown)
Line 1: Line 1:
<includeonly>{{quicklinks}}[[Category:LSL Functions]]
+
<includeonly>{{#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:
{|  width="100%" style="border: thin solid black"
+
|colspan="2"|{{#if:{{{function_syntax|}}}|<div style="font-size:18px;margin-bottom:5px;">{{{function_syntax|)}}}{{#if:{{{csharp_syntax|}}}|<br /><span style="font-size:12px;">C#: {{{csharp_syntax|)}}}</span>|}}
+
</div>|''No function syntax provided'' [[Category:LSL_functions_without_function_syntax]]}}
+
|- valign="top"
+
|colspan="2"|{{#if:{{{description|}}}|{{{description}}}|''No descriptions provided'' [[Category:LSL_functions_without_descriptions]]}}
+
{{!}}- valign="top"
+
|'''Delay'''||{{#if:{{{delay|}}}|{{{delay}}} seconds|''No function delay specified''}}
+
{{#if:{{{lsl_example|}}}|
+
{{!}}- valign="top"
+
{{!}}colspan="2"{{!}}'''Example(s)'''
+
{{!}}- valign="top"
+
{{!}}colspan="2"{{!}}{{{lsl_example}}}|[[Category:LSL_functions_without_example]]}}
+
{{#if:{{{additional_info|}}}|
+
{{!}}- valign="top"
+
{{!}}colspan="2"{{!}}'''Notes'''
+
{{!}}- valign="top"
+
{{!}}colspan="2"{{!}}{{{additional_info}}}|}}
+
|}
+
  
</includeonly>
+
{{#vardefine:article_type|function}}
<noinclude>
+
This template is to be used as follows (copy and paste the following into a new page):
+
  
<pre>
+
{{#vardefine:name|{{{func|}}}}}
{{osslfunc
+
{{#if:{{{func_id|}}}|{{#vardefine:func_id|{{{func_id|}}}}}|{{#if:{{#var:func_id}}||{{#vardefine:func_id|?}}}}}}
|function_syntax=
+
 
|csharp_syntax=
+
{{#vardefine:mode|{{#var:mode}}{{{mode|}}}}}
|description=
+
{{#vardefine:self|{{#var:self}}{{{self|}}}}}
|threat_level=
+
 
|permissions=
+
{{{inject-1|}}}
|delay=
+
 
|ossl_example=
+
{{{{#switch:{{#var:mode}}
|additional_info=
+
|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}}}}
 
}}
 
}}
</pre>
 
  
{|border="1" cellspacing="0" width="80%"
+
{{#vardefine:return_text|{{#var:return_text}}{{{return_text|}}}{{{Return_text|}}}{{{Returns_text|}}}{{{returns_text|}}} }}
|- style="background-color:#DDDDFF;"
+
|Property||Description||Required
+
|-
+
|function_syntax||syntax in LSL||Yes
+
|-
+
|csharp_syntax||syntax in C#||No
+
|-
+
|description||definitions or descriptions||Yes
+
|-
+
|threat_level||[[Threat level]]&nbsp;&nbsp;&nbsp;(Use ignored for functions that do not check threat level)||No
+
|-
+
|permissions||who may use this OSSL function&nbsp;&nbsp;&nbsp;(Use true for a function that is available to everyone) ||No
+
|-
+
|delay||any penalty (delay in seconds) for using this function||No
+
|-
+
|ossl_example||sample codes||No
+
|-
+
|additional_info||notes, hints or so||No
+
|}
+
  
You can find some infomation about OSSL functions within IOSSL_Api.cs or OSSL_Api.cs. If you unsure what to fill in, feel free to leave it empty and wait for experts shown up:)
+
{{#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 you have added some additional common facilities like threat level, feel free to add it to this template.
+
{{#if:{{{other_languages|}}}|
 +
{{#vardefine:other_languages|{{LSL_Other_Languages|{{{other_languages|}}}}}}}
 +
}}
  
Features of this template:
+
{{#if:{{#var:newbie}}||
* Includes the <nowiki>{{quicklinks}}</nowiki> template
+
{{#vardefine:newbie|{{#if:{{{newbie|}}}|{{{newbie|}}}|{{#var:langbase}}/Newbie Notes{{#var:lang}}}}}}
* Automatically adds the article to all the relevant categories
+
}}
* Displays a placeholder text when required information is missing, and adds the article to the relevant "missing" category/categories.
+
  
For deprecated functions, use [[:Template:Osslfunc/Deprecated]] instead of this template.
+
{{#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|}}}}}
 +
 
 +
{{#vardefine:also_library|{{#var:also_library}}
 +
{{{also_library|}}}}}
 +
 
 +
{{#if:{{#var:also_footer}}{{{also_footer|}}}|
 +
{{#vardefine:also_footer|{{#var:also_footer}}{{PBR}}
 +
{{{also_footer|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#if:{{#var:notes}}{{{notes|}}}|
 +
{{#vardefine:notes|{{#var:notes}}{{PBR}}
 +
{{{notes|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#if:{{#var:history}}{{{history|}}}|
 +
{{#vardefine:history|{{#var:history}}{{PBR}}
 +
{{{history|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#if:{{#var:deepnotes}}{{{deepnotes|}}}|
 +
{{#vardefine:deepnotes|{{#var:deepnotes}}{{PBR}}
 +
{{{deepnotes|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#if:{{#var:mono}}{{{mono|}}}|
 +
{{#vardefine:mono|{{#var:mono}}{{PBR}}
 +
{{{mono|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#if:{{#var:lso}}{{{lso|}}}|
 +
{{#vardefine:lso|{{#var:lso}}{{PBR}}
 +
{{{lso|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#vardefine:issues|{{#var:issues}}
 +
{{{issues|}}}}}
 +
 
 +
{{#vardefine:also_tests|{{#var:also_tests}}
 +
{{{also_tests|}}}}}
 +
 
 +
{{#if:{{#var:location}}{{{location|}}}|
 +
{{#vardefine:location|{{#var:location}}{{PBR}}
 +
{{{location|}}}{{PBR}}}}
 +
}}
 +
 
 +
{{#if:{{#var:messaging}}{{{messaging|}}}|
 +
{{#vardefine:messaging|{{#var:messaging}}{{PBR}}
 +
{{{messaging|}}}{{PBR}}}}
 +
}}
 +
 
 +
}}{{#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|}}}||{{{{{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}}| {{#pad:{{#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>
 +
<noinclude>
 +
{{Documentation}}
 +
<!-- Add categories to the /doc subpage, interwikis to Wikidata, not here -->
 
</noinclude>
 
</noinclude>

Latest revision as of 10:14, 12 March 2019


[edit] [purge] Template documentation
{{LSLfunc
|func
|func_id
|func_sleep
|func_energy
|func_desc
|func_footnote
|return_type
|return_text
|p1_type|p1_name|p1_desc|p1_hover
|p2_type|p2_name|p2_desc|p2_hover
|p3_type|p3_name|p3_desc|p3_hover
|p4_type|p4_name|p4_desc|p4_hover
|p5_type|p5_name|p5_desc|p5_hover
|p6_type|p6_name|p6_desc|p6_hover
|p7_type|p7_name|p7_desc|p7_hover
|p8_type|p8_name|p8_desc|p8_hover
|p9_type|p9_name|p9_desc|p9_hover
|p10_type|p10_name|p10_desc|p10_hover
|p11_type|p11_name|p11_desc|p11_hover
|p12_type|p12_name|p12_desc|p12_hover
|constants
|spec
|caveats
|examples
|helpers
|also_header
|also_functions
|also_tests
|also_events
|also_articles
|also_footer
|notes
|mode
|deprecated
|location
|cat1
|cat2
|cat3
|cat4
|cat5
|cat6
}}

The Lslfunc template is a intermediate template, which handles the formating for both functions and events (LSL_Event is also an intermediate template). The main job of this template is to change the parameter, names & setup the right-side floater. Also makes permission requirements a part of the template.

parameter desc example
func Function name
func_id Function ID 1.0
func_sleep Delay 0.0
func_energy Energy 10.0
func_desc Function description text. Gives the monkey a banana
func_footnote Function footnote (appears after the parameters text). Has the side effect of causing the avatar to run in circles shouting like on fire.
return_type return type integer
return_text "Returns a return_type return_text" in most cases return_text can be used instead of func_desc. that is a monkey
p1_type first parameter type
p1_name first parameter name
p1_desc first parameter desc
p1_hover first parameter hover, if not included it defaults to p1_desc
p2_type second parameter type
p2_name second parameter name
p2_desc second parameter desc
p2_hover second parameter hover, if not included it defaults to p2_desc
...
p12_type twelfth parameter type
p12_name twelfth parameter name
p12_desc twelfth parameter desc
p12_hover twelfth parameter hover, if not included it defaults to p12_desc
constants constants area, no box, please use a table for this section.
spec spec box
caveats caveats box
examples examples box
helpers helper functions box
also_header also header
also_functions also functions indent
also_events also events indent
also_articles also articles indent
also_tests also tests indent
also_footer also footer
notes notes box
mode If mode equals 'god' then it is tagged as requiring godmode. If set to 'request' marks the page as a feature request. If set to 'user' avoids function being added to LSL Function Index, thus enabling usage of this template for documentation of User Functions.
deprecated Marks the function as deprecated. Set the value to the replacement functions name or 'none'. If it is not set to none and it is infact set, it will include a link to the replacement function.
self Special field that you only set if you don't want the function to be included in any categories.
cat1 An LSL specific category and sets the proper sort. (example would add the function to the "LSL Stub" category) Stub
cat2 "
cat3 "
cat4 "
cat5 "
cat6 "
sort not required but used to specify the sort order, if excluded the wiki will calculate this value for you.
location optional: location box, used to say which source file it is defined in.
history a box for function history

Summary

Function: void MyFunction( integer i, float f, string s, key k, list l, vector v, rotation r );

A fictitious function
Returns Template:Void (aka nadda, nothing).

• integer i
• float f
• string s
• key k
• list l
• vector v
• rotation r

func_footnote

Specification

spec

constants

Caveats

  • This function causes the script to sleep for 100.5 seconds.caveats

Examples

examples

Useful Snippets

helpers

Notes

notes

See Also

also_header

Events

  • also_events

Functions

  • also_functions

Articles

  • also_articles

also_footer

Deep Notes

History

history

Tests

  • also_tests

Source

location

Template:Collapsible Table


Personal tools
General
About This Wiki