Scripting Languages
From OpenSimulator
(→Scripting Languages) |
Starflower (Talk | contribs) (→LSL: Update 2019-11-20 including info on script engines) |
||
Line 11: | Line 11: | ||
== LSL == | == LSL == | ||
LSLv2 is the well known Second Life scripting language. It is basically a C#/Java-like language. | LSLv2 is the well known Second Life scripting language. It is basically a C#/Java-like language. | ||
− | + | The majority of ll-functions has been implemented and it is possible to make usable scripts comparable to SL. | |
− | + | Although LSL (including OSSL and Mod* functions where enabled) is the default, if for any reason you want to ensure that the compiler treats your script as LSL you should have "//lsl" in a comment in the first line of the script. For a particular script engine, you can also specify //XEngine:lsl or //YEngine:lsl (caution: YEngine is still considered experimental in OpenSim 0.9.1.0 "Snail" release!) | |
Example code: | Example code: | ||
default | default |
Revision as of 03:24, 20 November 2019
Scripting Languages
OpenSimulator currently supports 2 scripting languages. The others listed here are no longer supported or may only work on some platforms.
Scripts are restored automatically when OpenSimulator starts.
LSL
LSLv2 is the well known Second Life scripting language. It is basically a C#/Java-like language. The majority of ll-functions has been implemented and it is possible to make usable scripts comparable to SL. Although LSL (including OSSL and Mod* functions where enabled) is the default, if for any reason you want to ensure that the compiler treats your script as LSL you should have "//lsl" in a comment in the first line of the script. For a particular script engine, you can also specify //XEngine:lsl or //YEngine:lsl (caution: YEngine is still considered experimental in OpenSim 0.9.1.0 "Snail" release!) Example code:
default { state_entry() { llSay(0, "This is an incredibly useless program."); } }
C#
C# is a .Net language.
Although it is C# the behaviour is much like LSL in the sense that you still use ll-functions like llSay(), and still use the same events as in LSL.
The first 4 characters in your script must be "//c#" for the compiler to treat it as C#.
Example code:
//c# public void default_event_state_entry() { llSay(0, "This is an incredibly useless program."); }
VB.Net
Mono does not have compiler for VB.Net, so VB.Net scripts may not work on Mono. :)
VB.Net is a .Net language.
Although it is VB.Net the behaviour is much like LSL in the sense that you still use ll-functions like llSay(), and still use the same events as in LSL.
The first 4 characters in your script must be "//vb" for the compiler to treat it as VB.Net.
Example code:
//vb Public Sub default_event_state_entry() llSay(0, "This is an incredibly useless program.") End Sub
JScript.Net
Javascript has not been present in OpenSimulator for a very long time (probably pre 0.6.6), as the require components are no longer supported upstream
The first 4 characters in your script must be "//js" for the compiler to treat it as JScript.Net.
Example code:
//js function default_event_state_entry() { llSay(0, "This is an incredibly useless program."); }
Yield Prolog
The status of Yield Prolog support is currently unknown.
The first 4 characters in your script must be "//yp" for the compiler to treat it as Yield Prolog.
Example code:
//yp