key owner; key sitter; string curanim; default { on_rez(integer params){llResetScript();} state_entry() { owner=llGetOwner(); vector eul = <0,0,0>; //45 degrees around the z-axis, in Euler form eul *= DEG_TO_RAD; //convert to radians rotation quat = llEuler2Rot(eul); //convert to quaternion llSitTarget(<0,0,.2>,ZERO_ROTATION); llSetText("",<0,0,0>,1); } touch_start(integer total_number){ } changed(integer change) { // something changed curanim=llGetInventoryName(INVENTORY_ANIMATION,0); if (change & CHANGED_LINK) { // and it was a link change llSleep(0.5); // llUnSit works better with this delay if (llAvatarOnSitTarget() != NULL_KEY) { // somebody is sitting on me sitter=llAvatarOnSitTarget(); llSleep(0.5); llRequestPermissions(sitter, PERMISSION_TRIGGER_ANIMATION); llStopAnimation("sit"); llStartAnimation(curanim); llSetAlpha(0,ALL_SIDES); }else{llStopAnimation(curanim);sitter=NULL_KEY;llSetAlpha(1,ALL_SIDES);} } } }