You can play a bone animation just like a vertex animation with ent_animate(). As for how to play an animation of a window shattering or some such, i would make the animation for the modle in MED, name it something like "SHOOT" or some such, then put an ent_animate() command in the entities event function. like so:
Function car_event()
{ if(EVENT_TYPE==EVENT_SHOOT)
{ times_shot += 1;
if(times_shot>3)
{ anim_count = 0;
while(anim_count<100)
{ ent_animate(me,"SHOOT", 0);
anim_count += 5;
wait(1);
}
}
}
}
As for picking things up, you can make an animation where the model bends down and reaches for the ground to pick something up. You can make as many animations of whatever nature you want. The main character for the game im currently programming has like 40 or 50 different animations and over 300 frames of animations, including flips, rolls, three different mellee attacks, and more.