User:Toady Nakamura/Hold Teddy Script
< User:Toady Nakamura
Jump to navigation
Jump to search
Revision as of 20:26, 5 August 2012 by Toady Nakamura (talk | contribs) (added state_entry & discussion of why needed !!)
This script is useful for things like holding teddybears or sandwiches.
- You need an animation to put in the same prim. Here I named the animation "Hold"
- You have to change the animation name to the animation you include in the prim with the script.
<lsl>
string anim ="Hold"; // change this name to match the animation which is in the prim !
default {
state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); // ask the owner for permission to trigger animations llStartAnimation(anim); // automatically trigger animation. }
attach(key wearer) { if(wearer == NULL_KEY) { llStopAnimation(anim); llSetTimerEvent(0); } else { llRequestPermissions(wearer,PERMISSION_TRIGGER_ANIMATION); } }
run_time_permissions(integer permissions) { if (PERMISSION_TRIGGER_ANIMATION & permissions) { llStartAnimation(anim); llSetTimerEvent(15); } }
timer() { llStartAnimation(anim); }
}
</lsl>
Credits & History
- Script originally from a class by Minx Mousehold, modified by Toady Nakamura
- Modded again 08/06/12 to add state_entry after getting massive script errors - but only when worn by tinies!!
Big Scary Script Error
Here's the script error that you get if you don't have that state entry in the script & you're tiny
- Script trying to stop animations but PERMISSION_TRIGGER_ANIMATION permission not set
Because ... although the PERMISSION_TRIGGER_ANIMATION permission is automatically granted when sitting, a prior call to llRequestPermissions is required! (Thank you wiki_wakka!)