this is what I have:
[PHP
]string guardanim = "Guard";
string specialanim = "special";
string kickanim = "";
string forwardslashanim = "";
string rightslashanim = "";
string leftslashanim = "";
default
{
state_entry()
{
if ( llGetAttached() )
llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION|PERMISSION_TAKE_CONTROLS);
}
run_time_permissions(integer perm)
{
if (perm & PERMISSION_TAKE_CONTROLS|PERMISSION_TRIGGER_ANIMATION)
{
llTakeControls( CONTROL_DOWN | CONTROL_LBUTTON | CONTROL_ML_LBUTTON , TRUE, FALSE);
}
}
control(key id, integer held, integer change)
{
integer pressed = held & change;
integer down = held & ~change;
integer released = ~held & change;
integer inactive = ~held & ~change;
if (held & CONTROL_LBUTTON)
{
llStartAnimation(""

;
if (pressed & CONTROL_LEFT)
{
llStartAnimation(leftslashanim);
}
if (pressed & CONTROL_RIGHT)
{
llStartAnimation(rightslashanim);
}
if (pressed & CONTROL_FWD)
{
llStartAnimation(forwardslashanim);
}
if (pressed & CONTROL_BACK)
{
llStartAnimation(kickanim);
}
if (pressed & CONTROL_UP)
{
llStartAnimation(specialanim);
}
if (pressed & CONTROL_ROT_RIGHT)
{
llStartAnimation(rightslashanim);
}
if (pressed & CONTROL_ROT_LEFT)
{
llStartAnimation(leftslashanim);
}
}
if (change & CONTROL_LBUTTON)
{
llStopAnimation(""

;
}
if (held & CONTROL_DOWN)
{
llStartAnimation(guardanim);
}
if (change & CONTROL_DOWN)
{
llStopAnimation(guardanim);
}
}
}
[/PHP
]