This is the Dance Script I am trying to use. The dance balls allows me to load as many dances as I like but, when Touched, the menu will only show 11 dances.
// Just add this script into a prim with up to 11 dances and touch the prim to start
string dances;
list dance_buttons;
integer chat_channel = -468;
integer dance_number;
stopAllDances()
{
integer total_dances = llGetInventoryNumber(INVENTORY_ANIMATION);
integer i = 0;
while(i < total_dances)
{
llStopAnimation(llGetInventoryName(INVENTORY_ANIMATION, i++));
}
}
default
{
state_entry()
{
integer total_dances = llGetInventoryNumber(INVENTORY_ANIMATION);
if(total_dances > 11) total_dances = 11;
integer i = 0;
while(i < total_dances)
{
dances = (dances = ""

+ dances + (string)(++i) + " " + llGetInventoryName(INVENTORY_ANIMATION, i) + "\n";
dance_buttons = (dance_buttons = []) + dance_buttons + (string)i;
}
dance_buttons = (dance_buttons = []) + dance_buttons + "STOP";
llListen(chat_channel, "", NULL_KEY, ""

;
}
touch_start(integer total_number)
{
llDialog(llDetectedKey(0), dances, dance_buttons, chat_channel);
}
listen(integer channel, string name, key id, string message)
{
if(message == "STOP"

dance_number = -1;
else
dance_number = (integer)message - 1;
llRequestPermissions(id, PERMISSION_TRIGGER_ANIMATION);
}
changed(integer change)
{
if(change & CHANGED_INVENTORY)
llResetScript();
}
run_time_permissions(integer perms)
{
if(perms & PERMISSION_TRIGGER_ANIMATION)
{
stopAllDances();
if(dance_number > -1)
{
llStartAnimation(llGetInventoryName(INVENTORY_ANIMATION, dance_number));
}
}
}
}