This script stops an animation when touched:

 

//touching worn object will open close mouth

string ANIMATION = "express_open_mouth";
integer TouchSW;

default
{
    state_entry()
    {
        llSay(0, "Open Mouth Animation");
         if (!(llGetPermissions() & PERMISSION_TRIGGER_ANIMATION))
        {
            llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
        }  
    }
    
    changed(integer change)
    {
        if(change & 128)    // You'd better put the this changed() event when you use llGetOwner
        {                   // by way of precaution.
            llResetScript();
        }
    }    

    touch_start(integer total_number)
    {
        if(TouchSW == FALSE)
        {
            //llOwnerSay("Tongue Out");
            llSetTimerEvent(0.5);
        }
        else
        {
            //llOwnerSay("Tongue In");

            llSetTimerEvent(0);
        }
        TouchSW = !TouchSW;
    }
    timer()
    {
        llStopAnimation(ANIMATION);
        llStartAnimation(ANIMATION);
    }
}