Using Lua we can determine the first & last frame of an animation which allows us to select a chunk/section of an animation that we want to play.
VAnimationFirstFrame lets us set the initial frame in which we want the animation to play from, whereas
VAnimationLastFrame lets us set where we want the animation to finish playing. The frames you set here also get taken into account for looping too, so in other words: it will only loop between the frame values you have assigned.
example:
getObject("ActiveAnimations[some animation]"):setValue(VAnimationFirstFrame, 5) -- set the initial frame to 5
getObject("ActiveAnimations[some animation]"):setValue(VAnimationsLastFrame, 13) -- set the last frame to 13
you could use an hook for checking if displayed text is about to be displayed & then check via an if query which animation should be played & then set it via the lua I provided above or you could create a called by other action part for checking or setting which animation should be triggered.
I guess the reason you don't want to use the character animations is because you intend to use the default talk animation feature of Visionaire Studio as opposed to manually calling the animations as required for lip syncing etc?