Scripting About

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (How to script)
(Redirecting to Scripting Documentation)
 
(26 intermediate revisions by 11 users not shown)
Line 1: Line 1:
== About OpenSim scripting ==
+
#Redirect [[Scripting Documentation]]
An important ingredience in Second Life is scripting. It is the engine that drives it all.<br />
+
In SL [http://wiki.secondlife.com/wiki/LSL_Portal LSL (Linden Scripting Language)] is the language you have to use. This language has its limitations, and is executed very slowly. But nevertheless it works and it gets the job done.<br />
+
<br />
+
Linden Labs are planning to move LSL scripting over to C# on Mono some time in the future. This has been in the works since 2005 at least. There are many difficult technical challenges related to this.<br />
+
<br />
+
OpenSim supports LSL and C# scripts. But with limitations:<br />
+
* Not all commands and events has been implemented. See [[llFunction implementation status]] for details on what commands work and not.
+
* Scripts that are running can not cross regions.
+
* You can not use loops inside your scripts. Actually you can use loops, but it will block other scripts from executing.
+
<br />
+
The OpenSim script engine compiles the LSL code down to .Net code that is JIT'ed to CPU native gode. In effect this means that a LSL script in OpenSim performing pure mathematical functions will have speed close to a C++ program. Of course normally you don't do much math, but still speed should be ok.<br />
+
<br />
+
The ScriptEngine is being developed by many developers. If you want to contribute, have a look at the [[OpenSim.Region.ScriptEngine]] page.<br />
+
A blog with development status can be found at [http://teddmaa.blogspot.com/ http://teddmaa.blogspot.com/].<br />
+
 
+
== How to use scripts in OpenSim ==
+
 
+
Have a look at the [http://wiki.secondlife.com/wiki/LSL_Portal LSL wiki] to learn LSL.<br />
+
The current procedure to get a script working in OpenSim is:
+
* Create a new script in inventory.
+
* Write whatever script you want there. Check [[llFunction implementation status]] for what commands that is supported.
+
* Drag the script over to an object.
+
* Delete the script from the object to deactivate script.
+
<br />
+
There are still some defects:
+
* You can not edit script while it is inside object.
+
* When restarting OpenSim server scripts are lost and not started.
+
* Line numbers in error messages may miss by 1 or 2 lines.
+

Latest revision as of 17:45, 3 May 2011

  1. Redirect Scripting Documentation
Personal tools
General
About This Wiki