LSL Concept Overview
(1/3 done - feel free to add stuff, but keep it terse)
Linden Scripting Language (LSL)
Scripts
One or more
scripts can be included in the
inventory of a
prim to affect its appearance and behavior when it is
rezzed in the world.
The script language has familiar
operators flow control, and
data types including the
integer,
float,
string, and
list. There are also a few types specific to SL. A
key is a string used to identify objects. A
vector is used to represent
color, direction,
velocity, force, impulse,
position,
scale, and
Euler rotation.
Quaterion rotation is used in many cases.
Scripts use
constants, define and use
local and
global variables,
user defined functions, and
states. A large library of built-in
functions provides access to things in
SecondLife.
Scripts can
handle many kinds of
events:
(objects)
changed,
sensor,
collision,
on_rez
(agents/avatars)
attach,
touch,
control,
money,
run_time_permissions
(
communication)
listen,
email,
remote_data,
dataserver
(world)
timer
After being compiled into
bytecode, scripts are initially in the
default state. Scripts can change the state to any locally defined state or back to the default state. A state change clears all pending events.
Resetting a script not only resets the state to the default state, but also resets all global variables to their initial state.
Scripts can be turned on or off by another script in the same prim with
llSetScriptState.
Scripts can be updated by other scripts with
llRemoteLoadScriptPin.
Some functions cause a
ScriptDelay after executing.
memory |
errors
World
The SL
world or
grid consists of several
sims positioned in cartesian
global coordinates each one with its own
regional coordinates. Each prim and object has its own own internal
local coordinates.
Sims always have
land, but may be submerged in
water.
Sound
Video
Agents and Avatars
A
user is represented by
an agent and an avatar. An agent can be an
object,
creator and/or
owner. Three or more users can form a
group and
own land and
group objects.
The user controls an avatar, a visual representation of a user agent, via the
client program. The avatar always plays an
animation. An avatar can have
attachments to parts of its body.
Objects
An
object is composed of a non-hierarchical set of
prims or primitive
shapes that are
linked together.
Each prim has a
shape composed of several
sides. Each side has a
color,
opacity, and
texture.
Each prim has geometric properties
position,
scale, and
rotation, and several additional
parameters Particles
Objects (but not prims) have
permissions which constrain what users, avatars, and other objects can do with them.
An object is either solid or
phantom, and it either obeys
physics or not.
When an object is
rezzed it may be permanent or
TemporaryOnRez.
Inventory
Vehicles