OSSL vs LSL
From OpenSimulator
(Difference between revisions)
JeffKelley (Talk | contribs) m (What do you mean by "no WYSIWYG table editor ?") |
JeffKelley (Talk | contribs) m |
||
Line 18: | Line 18: | ||
| llGetPrimitiveParams<br/>llSetPrimitiveParams || [[osGetPrimitiveParams]]<br/>[[osSetPrimitiveParams]] || K || Acts on out-of-linkset primitive (uuid instead of linknumber) | | llGetPrimitiveParams<br/>llSetPrimitiveParams || [[osGetPrimitiveParams]]<br/>[[osSetPrimitiveParams]] || K || Acts on out-of-linkset primitive (uuid instead of linknumber) | ||
|- | |- | ||
− | || || [[osSetProjectionParams]] || H L K || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work | + | || || [[osSetProjectionParams]] || H L K || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work outside linkset. |
|- | |- | ||
| llCreateLink<br\>llBreakLink<br\>llBreakAllLinks || [[osForceCreateLink]]<br/>[[osForceBreakLink]]<br\>[[osForceBreakAllLinks]] || || Does not require PERMISSION_CHANGE_LINKS | | llCreateLink<br\>llBreakLink<br\>llBreakAllLinks || [[osForceCreateLink]]<br/>[[osForceBreakLink]]<br\>[[osForceBreakAllLinks]] || || Does not require PERMISSION_CHANGE_LINKS | ||
Line 34: | Line 34: | ||
| llAvatarOnSitTarget<br/>llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()<br/>[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]). | | llAvatarOnSitTarget<br/>llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()<br/>[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]). | ||
|- | |- | ||
− | | llStartAnimation<br/>llStopAnimation ||[[osAvatarPlayAnimation]]<br/>[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION | + | | llStartAnimation<br/>llStopAnimation ||[[osAvatarPlayAnimation]]<br/>[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION<br/>OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission. |
+ | |- | ||
+ | | llAttachToAvatar<br/> llDetachFromAvatar || [[osForceAttachToAvatar]]<br/>[[osForceDetachFromAvatar]] || A || Does not require PERMISSION_ATTACH.<br/>Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key. | ||
|} | |} |
Revision as of 11:50, 15 June 2023
This page to highlight the difference between OSSL and LSL functions when similar versions exist.
Work in progress, not to be linked now.
H : Target is the script's host (the prim containing the script)
L : Target is prim in the linkset, adressed by link number
K : Target is any prim you own, adressed by key (inside or outside linkset)
A : Target is an avatar
When a function is marked as supporting different adressing modes, these are overloads (a.k.a. 'variants') selected at compile time according to the parameter types.
llGetLinkPrimitiveParams | osGetLinkPrimitiveParams | L | Allows for multiple-link constants LINK_SET, LINK_ALL_CHILDREN. Returns a by-side list of properties. |
llSetLinkPrimitiveParams | L | No need for OSSL version since llSetLinkPrimitiveParams accepts all LINK_* flags | |
llGetPrimitiveParams llSetPrimitiveParams |
osGetPrimitiveParams osSetPrimitiveParams |
K | Acts on out-of-linkset primitive (uuid instead of linknumber) |
osSetProjectionParams | H L K | Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work outside linkset. | |
llCreateLink llBreakLink llBreakAllLinks |
osForceCreateLink osForceBreakLink osForceBreakAllLinks |
Does not require PERMISSION_CHANGE_LINKS | |
llParticleSystem llLinkParticleSystem |
osParticleSystem osLinkParticleSystem |
H L |
|
llSitTarget llLinkSitTarget |
osSetStandTarget osSetLinkStandTarget |
H L |
Set the position of the feet of the avatar, when ll version set the position of the Agent Target (Developer > Avatar > Display Agent Target) |
llPlaySound llLoopSound llTriggerSound ... |
osPlaySound osLoopSound osTriggerSound ... |
L | All OSSL sound functions takes a linknumber argument. |
llLinkPlaySound | L | Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave. | |
llGetNumberOfPrims llGetObjectPrimCount |
osGetPrimCount() osGetPrimCount(uuid) |
H K | OSSL version does not count sitting avatars and does work on attachments |
llAvatarOnSitTarget llAvatarOnLinkSitTarget |
osGetSittingAvatarsCount() osGetSittingAvatarsCount(uuid) |
H K | OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]). |
llStartAnimation llStopAnimation |
osAvatarPlayAnimation osAvatarStopAnimation |
A | Does not require PERMISSION_TRIGGER_ANIMATION OSSL can animate multiples avatars, when LSL is bound to the avatar having granted the permission. |
llAttachToAvatar llDetachFromAvatar |
osForceAttachToAvatar osForceDetachFromAvatar |
A | Does not require PERMISSION_ATTACH. Target avatar is implicit. To attach explicitely to a given avatar, use osForceAttachToOtherAvatarFromInventory on the avatar's key. |