// List of the emotes each command triggers;
//
//"express_wink_emote","express_tongue_out","express_kiss",
//"express_toothsmile","express_smile","express_laugh_emote",
//"express_open_mouth","express_disdain","express_repulsed_emote","express_anger_emote",
//"express_bored_emote","express_sad_emote","express_cry_emote",
//"express_embarrassed_emote","express_frown","express_shrug_emote",
//"express_afraid_emote","express_worry_emote","express_surprise_emote"

string ANIMATION = "express_tongue_out";
integer TouchSW;
vector touched_color = <0,1,0>;
vector normal_color = <1,1,1>;

default
{
state_entry()
{
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");
llSetColor(touched_color, -1);
llSetTimerEvent(0.5);
}
else
{
//llOwnerSay("Tongue In");
llSetColor(normal_color, -1);
llSetTimerEvent(0);
}
TouchSW = !TouchSW;
}
timer()
{
llStopAnimation(ANIMATION);
llStartAnimation(ANIMATION);
}
}