OsForceDropAttachmentAt
From OpenSimulator
(Difference between revisions)
(Add new exemples) |
m (Add Author) |
||
Line 8: | Line 8: | ||
// | // | ||
// osForceDropAttachmentAt Script Example (XEngine) | // osForceDropAttachmentAt Script Example (XEngine) | ||
+ | // Author: djphil | ||
// | // | ||
Line 66: | Line 67: | ||
<source lang="lsl"> | <source lang="lsl"> | ||
// | // | ||
− | // osForceDropAttachmentAt Script Example ( | + | // osForceDropAttachmentAt Script Example (YEngine) |
+ | // Author: djphil | ||
// | // | ||
Revision as of 10:39, 24 November 2020
osForceDropAttachmentAt(vector pos, rotation rot)
| |
Drops an attachment at position pos with rotation rot without checking if PERMISSION_ATTACH has been granted. | |
Threat Level | High |
Permissions | ${OSSL|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER |
Extra Delay | 0 seconds |
Example(s) | |
// // osForceDropAttachmentAt Script Example (XEngine) // Author: djphil // vector pos; rotation rot; default { state_entry() { pos = llGetPos(); rot = llGetRot(); llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); llSay(PUBLIC_CHANNEL, "Touch it again to see osForceDropAttachmentAt drop this object to its original position and rotation."); llSay(PUBLIC_CHANNEL, "The posistion is " + (string)pos + " and the rotation is " + (string)rot); } touch_start(integer number) { if (!llGetAttached()) { osForceAttachToAvatar(ATTACH_LHAND); } else if (llGetAttached()) { osForceDropAttachmentAt(pos, rot); } } // 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: // // osForceDropAttachmentAt Script Example (YEngine) // Author: djphil // vector pos; rotation rot; default { state_entry() { pos = llGetPos(); rot = llGetRot(); llSay(PUBLIC_CHANNEL, "Touch to see osForceAttachToAvatar attach this object to your avatar's left hand."); llSay(PUBLIC_CHANNEL, "Touch it again to see osForceDropAttachmentAt drop this object to its original position and rotation."); llSay(PUBLIC_CHANNEL, "The posistion is " + (string)pos + " and the rotation is " + (string)rot); } touch_start(integer number) { if (!llGetAttached()) { osForceAttachToAvatar(ATTACH_LHAND); } else if (llGetAttached()) { osForceDropAttachmentAt(pos, rot); } } // 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.5-post-fixes. See Attachment Points for the complete list of LSL Attachment Points Constants. |
See Also: