string DISPLAY_TEXT = "Object";
string ANIMATION;
integer is_sitting;
default
{
state_entry()
{
ANIMATION = llGetInventoryName(INVENTORY_ANIMATION, 0);
is_sitting = 0;
llSitTarget(<-.6,0,-.4>,llEuler2Rot(<0,270,0> * DEG_TO_RAD));
llSetText(DISPLAY_TEXT,<1,1,1>,1);
}
changed(integer change)
{
if(change & CHANGED_LINK)
{
key av = llAvatarOnSitTarget();
if(av != NULL_KEY)
{
llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION);
}
else
{
if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && is_sitting)
{
is_sitting = 0;
llStopAnimation(ANIMATION);
llSetText(DISPLAY_TEXT,<1,1,1>,1);
}
}
}
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);
llSetText("",<1,1,1>,1);
}
}
on_rez(integer start_param)
{
llResetScript();
}
}