OsForceAttachToAvatar
From OpenSimulator
(Difference between revisions)
m (Change See Also) |
|||
| (5 intermediate revisions by one user not shown) | |||
| Line 6: | Line 6: | ||
|permissions=${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | |permissions=${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER | ||
|delay=0 | |delay=0 | ||
| − | |||
|ossl_example=<source lang="lsl"> | |ossl_example=<source lang="lsl"> | ||
// | // | ||
| − | // osForceAttachToAvatar Script Example | + | // osForceAttachToAvatar Script Example (XEngine) |
| + | // Author: djphil | ||
// | // | ||
| − | + | ||
default | default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
| − | + | llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); | |
} | } | ||
| − | + | ||
| − | + | touch_start(integer number) | |
{ | { | ||
| − | if ( | + | if (!llGetAttached()) |
| − | osForceAttachToAvatar( ATTACH_LHAND ); | + | { |
| − | + | osForceAttachToAvatar(ATTACH_LHAND); | |
| − | + | } | |
} | } | ||
| − | + | ||
| − | + | // The attach event is called on both attach and detach. | |
| + | attach(key id) | ||
{ | { | ||
| − | if (! | + | // Test if is a valid key and not NULL_KEY ('id' is only valid on attach) |
| − | + | if (id && id != NULL_KEY) | |
| + | { | ||
| + | llOwnerSay("The object is attached to " + llKey2Name(id)); | ||
| + | } | ||
| + | |||
| + | else | ||
| + | { | ||
| + | llOwnerSay("The object is not attached!"); | ||
| + | } | ||
} | } | ||
| − | + | ||
| + | on_rez(integer param) | ||
| + | { | ||
| + | // Reset the script if it's not attached. | ||
| + | if (!llGetAttached()) | ||
| + | { | ||
| + | llResetScript(); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </source> | ||
| + | ''' For YEngine: ''' | ||
| + | <source lang="lsl"> | ||
| + | // | ||
| + | // osForceAttachToAvatar Script Example (YEngine) | ||
| + | // Author: djphil | ||
| + | // | ||
| + | |||
| + | default | ||
| + | { | ||
| + | state_entry() | ||
| + | { | ||
| + | llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); | ||
| + | } | ||
| + | |||
| + | touch_start(integer number) | ||
| + | { | ||
| + | if (!llGetAttached()) | ||
| + | { | ||
| + | osForceAttachToAvatar(ATTACH_LHAND); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // The attach event is called on both attach and detach. | ||
attach(key id) | attach(key id) | ||
{ | { | ||
| − | // | + | // Test if is a valid key ('id' is only valid on attach) |
if (id) | if (id) | ||
| − | llOwnerSay( "The object is attached to " + llKey2Name(id) ); | + | { |
| + | llOwnerSay("The object is attached to " + llKey2Name(id)); | ||
| + | } | ||
| + | |||
else | else | ||
| − | llOwnerSay( "The object is not attached"); | + | { |
| + | llOwnerSay("The object is not attached!"); | ||
| + | } | ||
} | } | ||
| − | |||
| − | + | on_rez(integer param) | |
| − | + | { | |
| − | + | // Reset the script if it's not attached. | |
| − | + | if (!llGetAttached()) | |
| − | + | { | |
| − | + | llResetScript(); | |
| − | + | } | |
| − | + | } | |
| − | + | } | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
</source> | </source> | ||
| − | |additional_info=This function was added in 0.7.4-post-fixes | + | |additional_info=This function was added in 0.7.4-post-fixes.<br> |
| + | See [http://wiki.secondlife.com/wiki/Template:LSL_Constants_Attachment Attachment Points] for the complete list of LSL Attachment Points Constants. | ||
}} | }} | ||
| + | == See Also == | ||
| + | * [[osForceAttachToAvatar]] | ||
| + | * [[osForceAttachToAvatarFromInventory]] | ||
| + | * [[osForceAttachToOtherAvatarFromInventory]] | ||
| + | * [[osForceDetachFromAvatar]] | ||
| + | * [[osForceDropAttachment]] | ||
| + | * [[osForceDropAttachmentAt]] | ||
| + | * [[osDropAttachment]] | ||
| + | * [[osDropAttachmentAt]] | ||
Latest revision as of 19:43, 5 December 2020
osForceAttachToAvatar(integer attachmentPoint)
| |
| Works exactly like llAttachToAvatar() except that PERMISSION_ATTACH is not required. | |
| Threat Level | High |
| Permissions | ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
| Extra Delay | 0 seconds |
| Example(s) | |
// // osForceAttachToAvatar Script Example (XEngine) // Author: djphil // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); } touch_start(integer number) { if (!llGetAttached()) { osForceAttachToAvatar(ATTACH_LHAND); } } // The attach event is called on both attach and detach. attach(key id) { // Test if is a valid key and not NULL_KEY ('id' is only valid on attach) if (id && id != NULL_KEY) { llOwnerSay("The object is attached to " + llKey2Name(id)); } else { llOwnerSay("The object is not attached!"); } } on_rez(integer param) { // Reset the script if it's not attached. if (!llGetAttached()) { llResetScript(); } } } For YEngine: // // osForceAttachToAvatar Script Example (YEngine) // Author: djphil // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); } touch_start(integer number) { if (!llGetAttached()) { osForceAttachToAvatar(ATTACH_LHAND); } } // The attach event is called on both attach and detach. attach(key id) { // Test if is a valid key ('id' is only valid on attach) if (id) { llOwnerSay("The object is attached to " + llKey2Name(id)); } else { llOwnerSay("The object is not attached!"); } } on_rez(integer param) { // Reset the script if it's not attached. if (!llGetAttached()) { llResetScript(); } } } | |
| Notes | |
| This function was added in 0.7.4-post-fixes. See Attachment Points for the complete list of LSL Attachment Points Constants. | |