OsForceDetachFromAvatar
From OpenSimulator
(Difference between revisions)
(Add new exemples) |
|||
Line 6: | Line 6: | ||
|permissions=false | |permissions=false | ||
|delay=0 | |delay=0 | ||
− | |ossl_example= | + | |ossl_example=<source lang="lsl"> |
− | |additional_info=This function was added in 0.7.4-post-fixes | + | // |
+ | // osForceDetachFromAvatar Script Example (XEngine) | ||
+ | // | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); | ||
+ | llSay(PUBLIC_CHANNEL, "Touch it again to see osForceDetachFromAvatar detach this object from your avatar."); | ||
+ | } | ||
+ | |||
+ | touch_start(integer number) | ||
+ | { | ||
+ | if (!llGetAttached()) | ||
+ | { | ||
+ | osForceAttachToAvatar(ATTACH_LHAND); | ||
+ | } | ||
+ | |||
+ | else if (llGetAttached()) | ||
+ | { | ||
+ | osForceDetachFromAvatar(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // 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(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | ''' For YEngine: ''' | ||
+ | <source lang="lsl"> | ||
+ | // | ||
+ | // osForceDetachFromAvatar Script Example (XEngine) | ||
+ | // | ||
+ | |||
+ | default | ||
+ | { | ||
+ | state_entry() | ||
+ | { | ||
+ | llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); | ||
+ | llSay(PUBLIC_CHANNEL, "Touch it again to see osForceDetachFromAvatar detach this object from your avatar."); | ||
+ | } | ||
+ | |||
+ | touch_start(integer number) | ||
+ | { | ||
+ | if (!llGetAttached()) | ||
+ | { | ||
+ | osForceAttachToAvatar(ATTACH_LHAND); | ||
+ | } | ||
+ | |||
+ | else if (llGetAttached()) | ||
+ | { | ||
+ | osForceDetachFromAvatar(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // 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(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | |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]] |
Revision as of 09:47, 24 November 2020
osForceDetachFromAvatar()
| |
Works exactly like llDetachFromAvatar() except that PERMISSION_ATTACH is not required. | |
Threat Level | High |
Permissions | Use of this function is always disabled by default |
Extra Delay | 0 seconds |
Example(s) | |
// // osForceDetachFromAvatar Script Example (XEngine) // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); llSay(PUBLIC_CHANNEL, "Touch it again to see osForceDetachFromAvatar detach this object from your avatar."); } touch_start(integer number) { if (!llGetAttached()) { osForceAttachToAvatar(ATTACH_LHAND); } else if (llGetAttached()) { osForceDetachFromAvatar(); } } // 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: // // osForceDetachFromAvatar Script Example (XEngine) // default { state_entry() { llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); llSay(PUBLIC_CHANNEL, "Touch it again to see osForceDetachFromAvatar detach this object from your avatar."); } touch_start(integer number) { if (!llGetAttached()) { osForceAttachToAvatar(ATTACH_LHAND); } else if (llGetAttached()) { osForceDetachFromAvatar(); } } // 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. |
See Also: