llAttachToAvatar(integer attachment)
Attaches the scripted object at the specified attachment point to the avatar it has PERMISSION_ATTACH for. Even though users other than the owner can grant this permission, attaching to them will fail with the message “Script trying to attach to someone other than owner!“.
An object must have permission to attach itself. Call llGetPermissions to see if the object has the PERMISSION_ATTACH permission; if it doesn’t, llRequestPermissions must first be called to request permissions from the user.
The attach event is called with the avatar’s key.
Notes:
Once an object is attached to the avatar, certain script functionality is disabled. See attachment for more details.
- If there is already an attachment at the attachment point, it will be detached and replaced with the new one.
- The attachment points are (usually) centered on the body part. If an object has not been attached before, it attaches at <0,0,0> offset from the attachment point. If the object has been attached before, it remembers its last attachment offset.
- Attachment points are relative to the object’s skeleton, not its surface. This can cause some attachments to look weird. ATTACH_RPEC and ATTACH_LPEC are examples of attachment points with high levels of surface/skeleton drift.
The attachment parameter can be one of the following constants (also integers):
Constant | Value | Comment |
? | 0 | attach to last used attachment spot, like when you select Wear (default is right hand) |
ATTACH_CHEST | 1 | chest/sternum – ATTACH_LBOOBIE and ATTACH_RBOOBIE don’t exist, though there’s ATTACH_RPEC and ATTACH_LPEC |
ATTACH_HEAD | 2 | head |
ATTACH_LSHOULDER | 3 | left shoulder |
ATTACH_RSHOULDER | 4 | right shoulder |
ATTACH_LHAND | 5 | left hand |
ATTACH_RHAND | 6 | right hand |
ATTACH_LFOOT | 7 | left foot |
ATTACH_RFOOT | 8 | right foot |
ATTACH_BACK | 9 | back |
ATTACH_PELVIS | 10 | pelvis |
ATTACH_MOUTH | 11 | mouth |
ATTACH_CHIN | 12 | chin |
ATTACH_LEAR | 13 | left ear |
ATTACH_REAR | 14 | right ear |
ATTACH_LEYE | 15 | left eye |
ATTACH_REYE | 16 | right eye |
ATTACH_NOSE | 17 | nose |
ATTACH_RUARM | 18 | right upper arm |
ATTACH_RLARM | 19 | right lower arm |
ATTACH_LUARM | 20 | left upper arm |
ATTACH_LLARM | 21 | left lower arm |
ATTACH_RHIP | 22 | right hip |
ATTACH_LHIP | 23 | left hip |
ATTACH_RULEG | 24 | right upper leg |
ATTACH_RLLEG | 25 | right lower leg |
ATTACH_LULEG | 26 | left upper leg |
ATTACH_LLLEG | 27 | left lower leg |
ATTACH_BELLY | 28 | belly/stomach/tummy |
ATTACH_RPEC | 29 | right pectoral |
ATTACH_LPEC | 30 | left pectoral – as noted above, ATTACH_RPEC and ATTACH_LPEC don’t always look like they’re attached to the right and left side of the chest, and will appear to float around a little. |
ATTACH_HUD_CENTER_2 | 31 | HUD Center 2 |
ATTACH_HUD_TOP_RIGHT | 32 | HUD Top Right |
ATTACH_HUD_TOP_CENTER | 33 | HUD Top |
ATTACH_HUD_TOP_LEFT | 34 | HUD Top Left |
ATTACH_HUD_CENTER_1 | 35 | HUD Center |
ATTACH_HUD_BOTTOM_LEFT | 36 | HUD Bottom Left |
ATTACH_HUD_BOTTOM | 37 | HUD Bottom |
ATTACH_HUD_BOTTOM_RIGHT | 38 | HUD Bottom Right |
A: llAttachToAvatar is used for objects that already exist in-world. Objects in your inventory can be thought of as being in an inert, suspended state. They don’t actually “exist” until you rez them.
A: You always must request permissions, but some permissions are auto-granted upon request for attachment or sit. BW