yeah minus the quotes around the characters name because you have already converted it to a string at the beginning of the getObject("... & minus "Game" because Game is only used for data structure tables that are in the global game table. http://wiki.visionaire-tracker.net/wiki/Data_Structure#Game
...remember that names are case sensitive.
@ scud: no idea, but you should always make sure you close off any queries correctly. It's easy enough to see what your queries are linked to now with the tree/branching.
Quick note: you could whittle down what you have done there by naming your random animations all the same with a number on the end & then you use the value you created for setting a random value of the amount of milliseconds you want it to take before it should trigger the random animation.
-- action parts
set random value 'value_name' between x & x -- min max time in ms.
pause for 'value_name' -- good for creating dynamic pauses by combining random values
execute a script > (see below)
-- let's say I named all random animations as "rand_1", "rand_2" & "rand_3"
local char = "getObject("Characters[Tom].CharacterCurrentOutfit")
startAnimation( char:getObject(".OutfitRandomAnimations[rand_"..math.random(#char:getLinks(VOutfitRandomAnimations).."]") )
...here I've used a prefix so all random animations use same name but have a different number (index) on the end of the name. In the code block above we have used a math.random function to return a value from 1 to the total amount of animations found inside of the random animation table for the current outfit.
P.S: sorry, tried to reply ages ago but my internet went off for a while.