//Put your animations in the object to be animated
//first. Then create a new script and paste this code
//(make sure the script is in the object's inventory)
//Give it a couple minutes to warm up and then say
//"dance" in chat to animate the object. Simply
//say "stop" to make the object stop.
list ani_names;
float randomFloat;
string aniname;
integer aninumber;
integer synched;
integer toggle;
integer listenHandle;
integer countz ()
{
return llGetInventoryNumber(INVENTORY_ANIMATION);
}
list moves (integer count)
{
list InventoryList;
string ItemName;
while (count--)
{
ItemName = llGetInventoryName(INVENTORY_ANIMATION, count);
InventoryList += ItemName;
}
return InventoryList;
}
default
{
state_entry()
{
synched = countz();
ani_names = moves(synched);
llSetTimerEvent(90);
listenHandle = llListen(0, "", "", "");
}
timer()
{
randomFloat = llFrand(synched);
aninumber = (integer)randomFloat;
string oldaniname = aniname;
aniname = llList2String(ani_names, aninumber);
llStopObjectAnimation(oldaniname);
llStartObjectAnimation(aniname);
}
listen(integer channel, string name, key id, string message)
{
if (llToLower(message) == "stop")
{
llSetTimerEvent(0);
llStopObjectAnimation(aniname);
}
else if (llToLower(message) == "dance")
{
llSetTimerEvent(90);
llStartObjectAnimation(aniname);
}
}
changed(integer change)
{
if (change & CHANGED_INVENTORY)
{
llSetTimerEvent(0);
llStopObjectAnimation(aniname);
llResetScript ();
}
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎