Hi all,
Rui is on to it I think. You need to cancel the sync'ing of your other
AI that you wish to stop.
If you want more than 2, you could use a multiplexer to control who
moves and who stops.
I see a couple of ways you could do this. The easiest I've posted a
pic of on my blog:
http://benv2423-2011vn.blogspot.com/2011/11/re-multiple-ai-stopstart-question.html
1) attach (link) tag points to each AI. AI1 is the parent, Tagpoint1
is the child. etc..
Then move the tag point in the direction you want your AI to walk
(assuming directly in front, so 5m in "y" direction)
However you could do a star-style graph, they could all move out from
a centre point, or whatever.
Then as you read your xml file, you check what range it is in (like
you've been doing), then assign a slot in the multiplexer for it.
Upon exiting multiplexer, cancel all movement (this will stop any of
the AI that is moving)
Then sync the selected one (this will move the one you want).
Note that this can only move 1 at a time. Something that you described
you are trying to achieve earlier.
Method 2) continuously sync each AI to their respective tagpoints
(which are detached by the way).
To do this upon "success" of syncing AI:GoTo (or AI:GoToSpeedStance),
loop back to "sync" via a logic:any node.
If the AI is standing on its tagpoint it will just stand still. As
soon as the tagpoint moves, it will chase.
Now all you need to do is move your tagpoints according to what range
is specified by your xml "value". You will again need a multiplexer to
control which tagpoint to move.
Cheers