LES DIALOGUES :Quand vous voulez qu'un personnage parle, utilisez la commande Say dans le script :
- Code:
-
cEgo.Say("Quelle belle journée !");
Le personnage cEgo (Roger) dira "Quelle belle journée !". Si vous avez choisi le mode de dialogue LucasArts, le texte s'affichera automatiquement au-dessus de sa tête. En mode Sierra, il s'affichera en haut de l'écran, avec la Speech View du personnage à côté.
Toutefois, beaucoup de jeux Lucasarts ont un système de dialogues avec plusieurs choix de réponses multiples, ce qui permet de rendre la discussion plus vivante et plus interactive. Pour cela, il faut bien sûr un minimum de deux personnages ; si vous n'avez toujours que votre unique Roger, rendez-vous d'abord dans la section Création de Personnages afin de lui donner un interlocuteur.
Si vous souhaitez lancer un dialogue de ce type, dans le menu de gauche, cliquez sur Dialogs pour lancer le gestionnaire de dialogues. Vous pouvez voir une liste de dialogues numérotés ; il vous suffira de sélectionner le numéro du sujet que vous souhaitez lancer.
Double-cliquez sur dDialog0. Nous allons faire en sorte que Roger et son ami, appelons-le Sam par exemple, se disent bonjour et se demandent de leurs nouvelles.
Cliquez sur Create New Option : cela va ajouter une phrase que Roger peut dire. Nous allons lui donner la possibilité entre trois :
- Comment vas-tu ?
- Et les enfants ça va ?
- Au revoir !
Ecrivez une phrase par Option, en laissant cochées les deux options Show et Say pour le moment. Attention aux cédilles si vous n'avez pas modifié la police.
L'option Show signifie que cette phrase est disponible dès le début du dialogue ; si elle est décochée, elle ne sera pas visible, et il faudra déterminer un événement durant le jeu qui la rendra visible et donc sélectionnable par le joueur (par exemple, on peut faire en sorte qu'il demande "tu n'aurais pas perdu une clef ?" uniquement s'il a ramassé la clef).
L'option Say signifie que le personnage va prononcer cette phrase lorsque le joueur l'aura sélectionnée. Si elle est décochée, le joueur clique seulement dessus, et cela sera suivi immédiatement de la prochaine réplique. Cela peut être utile par exemple si vous faites semblant de laisser au joueur le choix entre plusieurs réponses, mais que quel que soit le choix, le personnage dira de toutes façons autre chose (un gag que l'on voit souvent dans ce type de jeu !).
Une fois que vous aurez déterminé les phrases possibles, vous pouvez éditer le script. Vous allez pouvoir préciser ce qui se passe durant le dialogue.
Commençons par faire en sorte que Roger et Sam se saluent. Entrez les phrases suivantes, en allant à chaque fois à la ligne pour chaque phrase :
- Code:
-
EGO: Tiens salut Sam !
SAM: Salut Roger !
return
SAM correspond donc ici au nom de script pour Sam, comme EGO pour Roger (ben alors, vous n'avez pas suivi le tuto ou quoi ?). Ne laissez pas d'espace entre le nom et les deux points.
L'expression "return" à la fin signifie que vous demandez au programme de montrer à ce moment les trois phrases possibles précédemment déterminées.
Après "return", nous allons déterminer les répliques qui suivent chacune des phrases sélectionnables :
- Code:
-
@1 // option 1
SAM: Bien et toi ?
return
@2 // option 2
SAM: Oui sauf le petit dernier qui a la rougeole.
return
@3 // option 3
SAM: A la prochaine !
stop
Notez donc que chaque réplique doit être suivie de :
- RETURN si vous souhaitez retourner à la liste des phrases
- STOP si vous souhaitez que la conversation s'arrête à ce moment-là
Vous pouvez également décider qu'une phrase entraîne un autre sujet de conversation : dans ce cas, faites suivre la réplique par "GOTO-DIALOG x" où x est le numéro correspondant au nouveau Topic.
N'oubliez pas de proposer l'option STOP après au moins une réplique (même si elle n'arrive que dans un autre topic appelé avec GOTO-DIALOG), sinon la conversation se fera en boucle et n'aura jamais de fin !
Il faut maintenant dire au logiciel à quel moment le dialogue doit être lancé. Attention de ne l'appeler que dans un écran où l'interlocuteur est présent, sinon vous aurez de drôles de conséquences...
Mettons par exemple que ce dialogue ne se lance que quand Roger parle à Sam.
Allons dans le panneau de gestion des personnages, et choisissez Sam. Cliquez sur Interaction, puis sur Talk to Character (ce qui signifie : "quand le joueur clique sur le personnage avec la souris en mode Parler"). Dans le script, entrez le code :
- Code:
-
dDialog0.Start()
Si vous avez rendu l'une des options invisibles (en décochant l'option "Show"), vous pouvez la rendre visible après un événement avec le code
- Code:
-
dDialog0.SetOptionState(x, eOptionOn);
x est le numéro de l'option que vous souhaitez activer.