// FlipperPA's auto-transparent minimum lag pose thingy.
// STEP 1: Drop your pose into an object inventory with this script (only 1)
// STEP 2: Simply enter the text you wish to hover about the pose object below
string DISPLAY_TEXT = "Float";
// STEP 3: Hit "SAVE" below. If you change the pose, you can reset the script to re-read the pose
/////////////////////// DO NOT CHANGE BELOW ////////////////////////
string ANIMATION;
integer is_sitting;
key kAvatar = NULL_KEY;
default
{
state_entry()
{
ANIMATION = llGetInventoryName(INVENTORY_ANIMATION, 0);
is_sitting = 0;
llSitTarget(<0,0,.1>,ZERO_ROTATION);
llSetTexture("5748decc-f629-461c-9a36-a35a221fe21f",ALL_SIDES);
DISPLAY_TEXT = llGetObjectDesc();
llSetText(DISPLAY_TEXT,<1,1,1>,1);
llSetSitText(DISPLAY_TEXT);
}
changed(integer change)
{
if(change & CHANGED_LINK)
{
key av = llAvatarOnSitTarget();
kAvatar = av;
if(av != NULL_KEY)
{
llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION);
llMessageLinked(LINK_ALL_OTHERS, 0, "stop", NULL_KEY);
llMessageLinked( LINK_ALL_OTHERS, 0, "unlink", NULL_KEY );
}
else
{
if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && is_sitting)
{
is_sitting = 0;
llStopAnimation(ANIMATION);
llMessageLinked(LINK_ALL_OTHERS, 0, "stop", NULL_KEY);
llMessageLinked( LINK_ALL_OTHERS, 0, "unlink", NULL_KEY );
llSetText(DISPLAY_TEXT,<1,1,1>,1);
llSetSitText( DISPLAY_TEXT );
llSetTexture("5748decc-f629-461c-9a36-a35a221fe21f",ALL_SIDES);
}
}
}
ANIMATION = llGetInventoryName(INVENTORY_ANIMATION, 0);
}
run_time_permissions(integer perm)
{
if(perm & PERMISSION_TRIGGER_ANIMATION)
{
is_sitting = 1;
llStopAnimation("sit_generic"
; llStopAnimation("sit"
; llStartAnimation(ANIMATION);
llMessageLinked(LINK_ALL_OTHERS, 0, "start", NULL_KEY);
llMessageLinked( LINK_ALL_OTHERS, 0, "link " + (string)kAvatar, NULL_KEY );
llSetTexture("f54a0c32-3cd1-d49a-5b4f-7b792bebc204",ALL_SIDES);
llSetText("",<1,1,1>,1);
}
}
on_rez(integer start_param)
{
llResetScript();
}
}