Si tu utilises ActionDoCommand(AssignCommand()), tu affectes ça à la pile d'action de l'objet courant, pour faire effectuer une action à l'objet de AssignCommand().
Si tu utilises AssignCommand(ActionDoCommand()), tu maîtrises mieux dans quelle pile tu places l'action.
Tu peux faire aussi :
AssignCommand(oPJ1, ActionDoCommand(AssignCommand(oPJ1, SpeakString()))). (Bon ok, c'est tiré par les cheveux, mais ça marche )
Ca veux dire que tu empiles dans la pile de PJ2 une action à faire exécuter à PJ1 une fois arrivé à un certain stade dans cette pile et pas avant.
Evidemment, il faut éviter de vider les piles quand on en entasse beaucoup.
Et parfois, ça pose des soucis. Par exemple, dans le script de danse que j'avais fait, la danseuse perd un peu la boule en fin de script. Elle continue à hocher la tête alors que sa pile est vide.
Bref, tout dépend de l'enchaînement que tu veux réaliser. Le tout étant de rester logique.
|