Here is the script your searching for its called flash dance script i found it for free on mp and is as far i know open source just copy past in a script.
integer ON = 0; //STATE OF SCRIPT
//YOU EDIT THESE PARTS FOR NEW ANIMATIONS, SOUND CLIPS ETC. DO NOT TOUCH THE SCRIPT
integer MaxSoundClips = 8; //AMOUNT OF SONG CLIPS, NAME THEM 1,2,3,4,ETC
integer SoundLength = 10; //FIRST SERIES OF SOUND LENGTHS
integer LastSoundLength = 5; //INCASE LAST SOUND CLIP IS SHORTER
integer SoundClipNumber = 0; //FOR SOUND LOOP
integer AnimCycleTime = 0;
integer CurrAnimCycle = 0;
integer AnimNumber = 0;
integer MaxAnims = 0;
string LastAnim = "";
ResetToDefault()
{
llStopSound();
llSetTimerEvent(0.00);
llStopAnimation(LastAnim);
ON = 0;
SoundClipNumber = 0;
AnimNumber = 0;
}
Initialize()
{
MaxSoundClips = llGetInventoryNumber(INVENTORY_SOUND);
MaxAnims = llGetInventoryNumber(INVENTORY_ANIMATION);
ResetToDefault();
}
default
{
state_entry()
{
llListen(1, "", "", "");
LastAnim = llGetInventoryName(INVENTORY_ANIMATION, 0);
Initialize();
}
attach(key id)
{
if(id)
{
llOwnerSay(" Commands /1 on or /1 off");
llRequestPermissions(id, PERMISSION_TRIGGER_ANIMATION);
}
else ResetToDefault();
}
run_time_permissions(integer perm)
{
if(perm & PERMISSION_TRIGGER_ANIMATION)
{
Initialize();
}
}
timer()
{
llPlaySound((string)(++SoundClipNumber),1.0);
if(ON == 1){llSetTimerEvent(SoundLength); ON = 2;}
if(SoundClipNumber == MaxSoundClips){llSetTimerEvent(LastSoundLength); ON = 1; SoundClipNumber = 0;}
llPreloadSound((string)(SoundClipNumber+1));
CurrAnimCycle++;
if(CurrAnimCycle >= AnimCycleTime)
{
CurrAnimCycle = 0;
AnimNumber++;
if(AnimNumber >= MaxAnims)
{
AnimNumber = 0;
}
string anim = llGetInventoryName(INVENTORY_ANIMATION, AnimNumber);
llStopAnimation(LastAnim);
llStartAnimation(anim);
LastAnim = anim;
}
}
listen(integer channel, string name, key id, string message)
{
message = llToLower(message);
if (ON == 0 && message == "on")
{
ON = 1;
string anim = llGetInventoryName(INVENTORY_ANIMATION, AnimNumber);
llStartAnimation(anim);
LastAnim = anim;
llSetTimerEvent(0.01);
}
else if(message == "off")
{
ResetToDefault();
}
}
}