Cours de Scripts pour les Quiches. Leçon Six.

Répondre
Partager Rechercher
J'ai regardé pour ça :
Code PHP:

ActionSpeakString("Bonjour");
ActionDoCommand(AssignCommand(oPNJ2,SpeakString("Hello")));
ActionWait(0.5);
ActionSpeakString("Ca va ?");
ActionDoCommand(AssignCommand(oPNJ2,SpeakString("l'a matelas et toi ?")));
ActionSpeakString("Yeau de poîle !");
ActionWait(0.5);
ActionDoCommand(AssignCommand(oPNJ2,SpeakString("Hahaha"))); 

Ne vaudrait-il pas mieux l'écrire comme ça ?
Code PHP:

ActionSpeakString("Bonjour");
AssignCommand(oPNJ2,ActionDoCommand(ActionSpeakString("Hello")));
ActionWait(0.5);
ActionSpeakString("Ca va ?");
AssignCommand(oPNJ2,ActionDoCommand(ActionSpeakString("l'a matelas et toi ?")));
ActionSpeakString("Yeau de poêle !");
ActionWait(0.5);
AssignCommand(oPNJ2,ActionDoCommand(ActionSpeakString("Hahaha"))); 
Si tu utilises une fonction ActionXXXX(), tu n'as pas besoin de mettre un ActionDoCommand qui sert justement à empiler les actions qui ne sont pas prévues pour l'être, à la base, et généralement, on le fait via un AssignCommand(oXXX, ActionDoCommand(...))
Et dans ce cas ?
Code PHP:

ActionSpeakString("Bonjour");
AssignCommand(oPNJ2,ActionDoCommand(SpeakString("Hello")));
ActionWait(0.5);
ActionSpeakString("Ca va ?");
AssignCommand(oPNJ2,ActionDoCommand(SpeakString("l'a matelas et toi ?")));
ActionSpeakString("Yeau de poêle !");
ActionWait(0.5);
AssignCommand(oPNJ2,ActionDoCommand(SpeakString("Hahaha"))); 
Ce qui m'étonnait le plus c'est de voir la fonction ActionDoCommand avant AssignCommand, ou alors peut-on les intervertir librement ?
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.
la lecon numéro 1 j'ai comprit
Mais la 2 elle passe pas faut que je vérifi mon embrayage !!!


J'me demande si c'est fait pour un elf ou un orc des grand foréts allemandes comme moi....ben ouai ca vient de la les elfs...
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés