LlAttachToAvatarTemp: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
{{LSL_Function | {{LSL_Function | ||
|func = llAttachToAvatarTemp | |func = llAttachToAvatarTemp | ||
|func_desc = Follows the same convention as [[llAttachToAvatar]], with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. | |func_desc = Follows the same convention as [[llAttachToAvatar]], with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect. | ||
Revision as of 07:26, 31 July 2012
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llAttachToAvatarTemp( integer attach_point );Follows the same convention as llAttachToAvatar, with the exception that the object will not create new inventory for the user, and will disappear on detach or disconnect.
| • integer | attach_point | – | ATTACH_* constant or valid value (see the tables below) |
It should be noted that when an object is attached temporarily, a user cannot 'take' or 'drop' the object that is attached to them. Additionally, the user MUST be the owner of the object for it to attach properly.
| Note: Constants in italic require a viewer compatible with the Project Bento skeleton. |
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Caveats
- Attach points can be occupied by multiple attachments.[1]
- This was not always the case, previously if attach_point was occupied, the existing object was detached and the new attachment took it's place.
- Objects attached to the head (and any attachment position within the head) will not be visible in First Person view (aka Mouselook) if "show attachments in mouselook" is disabled.
- If attach_point is zero but the object was never previously attached, it defaults to the right hand (ATTACH_RHAND).
- If the object is already attached the function fails silently, regardless if the attach_point is a different attach point.
Examples
<lsl>//-- rez object on ground, drop in this script, it will request permissions to attach, //-- and then attach to the left hand if permission is granted. if permission is denied, //-- then the script complains. default {
state_entry()
{
llRequestPermissions( llGetOwner(), PERMISSION_ATTACH );
}
run_time_permissions( integer vBitPermissions )
{
if( vBitPermissions & PERMISSION_ATTACH )
{
llAttachToAvatarTemp( ATTACH_LHAND );
}
else
{
llOwnerSay( "Permission to attach denied" );
}
}
on_rez(integer rez)
{
if(!llGetAttached())
{ //reset the script if it's not attached.
llResetScript();
}
}
attach(key AvatarKey)
{
if(AvatarKey)
{//event is called on both attach and detach, but Key is only valid on attach
integer test = llGetAttached();
if (test) {
llOwnerSay( "The object is attached" );
} else {
llOwnerSay( "The object is not attached");
}
}
}
}</lsl>
See Also
Functions
| • | llDetachFromAvatar | – | Detaches the object from the avatar | |
| • | llGetAttached | – | Gets the attach point number |