Jump to content
You are about to reply to a thread that has been inactive for 1608 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Posted

I have been asked if there is a way to write a script to modify the shape of an avatar in a particular way over time. Is there an API for the shape file or is the only way through the Edit Shape UI?

 

Thanks,
Greg

Posted

sorry, not the base avatar shape no

a way to approach this is with a mesh body with change-out parts and animations that enhance the effect of the changeouts

Posted
9 minutes ago, Wulfie Reanimator said:

With RLV you can automatically swap to different shapes over time, with the progressive changes you want. 

Oooh! Is that how ladies get preggers?

Posted
5 hours ago, Wulfie Reanimator said:

With RLV you can automatically swap to different shapes over time, with the progressive changes you want. 

Wulfie,

So we can swap the shapes from an lsl script? If so, how does RLV come into the picture? A different API? A difference execution environment?

 

Thanks,

G

Posted

RLV/RLVa is an extension to normal viewer functionality by adding extra scripting commands and other functionality, often used for (but not limited to) BDSM-related activities in SecondLife. Using this extension you can also allow another person or a script to have access to a specific reserved portion of your inventory, and if you have these shapes in that folder, then yes, you can swap shapes using a script. But only if they are in that specific special folder.

The following explanation by @KT Kingsley is an excellent one and I would recommend reading it. 

 

Posted (edited)
1 hour ago, GManB said:

So we can swap the shapes from an lsl script? If so, how does RLV come into the picture? A different API? A difference execution environment?

RLV is a feature that is built into some viewers (such as Firestorm).

It enables scripts to send messages in such a way that the viewer recognizes them as "special commands" which the viewer will respect and do something, like teleport, sit on an object, or take off / wear something. A reference manual of the API can be found here. In short, RLV commands are sent from scripts as llOwnerSay messages. Only the owner's viewer can hear them, and only the owner's viewer will respect the commands. (You can't use RLV commands in llSay or llShout to affect other people...)

Although it is possible to use RLV relays, which are essentially scripted objects that repeat RLV commands they hear from others (llSay) to llOwnerSay so the owner can be affected.

For example:

Quote

Force attach items contained inside a shared folder : @attach:<folder1/.../folderN>=force (*)

Forces the viewer to attach every object and wear every piece of clothing contained inside the folder located at the specified path (which must be under "#RLV"). Objects names must contain the name of their target attachment point or they won't be attached. Each no-modify object must be contained inside a folder (one object per folder), which name contains the name of its target attachment point since it can't be renamed. Names cannot begin with a dot (".") since such folders are invisible to the scripts.

Attachment point names are the same as the ones contained into the "Attach To" submenu : "skull", "chest", "l forearm"...

Note 1 : Folder names can contain slashes, and will be chosen in priority when able (for instance, if "@attach:Restraints/cuffs=force" is issued, the "Restraints/cuffs" folder will be chosen before a "cuffs" folder contained inside a "Restraints" parent folder.

Note 2 : If the name of a folder begins with a plus sign ("+"), then this command will act exactly like @attachover. This rule can be changed through the use of the "RestrainedLoveStackWhenFolderBeginsWith" debug setting.

Force attach items contained inside a shared folder, without replacing what is already being worn : @attachover:<folder1/.../folderN>=force (*)

This command works exactly like @attach described hereabove, except that it won't kick objects and pieces of clothing that are already being worn.

So, a script could do:

llOwnerSay("@attach:shape_folder/stage_one=force");

... some time later ...

llOwnerSay("@attach:shape_folder/stage_two=force");

 

Edited by Wulfie Reanimator
You are about to reply to a thread that has been inactive for 1608 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...