Une astuce pour économiser des triggers
Pour les dialogues, plutot que de faire un objet de dialogue à chaque fois, préférez plutot mettre tous les dialogues à la suite. Certe pour retrouver le début du dialogue c'est pas forcément pratique, mais au moins on ne conserve qu'un seul objet et c'est parfois le petit truc qui nous manquait
Après il suffit de placer sur notre dialogue des events pour stopper le script à la fin de chaque dialogue incluts. Exemple :
Dialogue test
PNJ 1 : bonjour
PNJ 2 : salut ! ça va ?
PNJ 1 : super, tu veux une bière ?
PNJ 1 : Aller, je t'en offre une autre
PNJ 2 : non merci je dois retourner au boulot
PNJ 1 : bon ben à plus tard alors
PNJ 2 : à plus
Dans ce cas, on veut que le début s'arrête après la troisième réplique.
On place donc un event :
Code: Select all
when Dialog dialogue test reaches step 'Aller ...'
dialog stops
Note : la condition reaches, c'est l'option 'before step' dans la liste de sélection. N'utilisez pas trop 'after step' c'est traitre. Dans mon exemple, si je précise after step 'super ...', le dialogue va quand même faire la phrase 'aller ...' Du coup c'est pas pratique pour s'y retrouver quand on vient retoucher le dialogue.
Faites ainsi pour chaque morceau de dialog, sauf le dernier évidemment puisque ça s'arrête tout seul
Après dans les trigger on a plus qu'à place indiquer
Code: Select all
when mon trigger is triggered
Dialog dialogue test start at step 'Aller ...'
Note : quelques soit le dialogue, même le premier, indiquez toujours 'start at step'. Si vous ne le faite pas pour le premier et que vous décidez d'ajouter un broadcast avant, il faudra aller changer l'event du dialogue pour le remplacer par un 'start at step' donc autant le faire de suite
De plus, le ring ne gère pas les phrases par leur position, mais par une référence interne, donc même si vous déplacez une phrase tous vos event qui s'y rapporte resteront inchangés.
Petit truc important aussi. J'ai pas réussit à faire marcher cette méthode pour un brodcast que j'avais placé en dernier. Donc si vous voulez faire un broadcast d'une seule ligne, placez le en premier, tout en haut de la liste. D'où l'intérêt de toujours définir ses event en 'start at step'
Autre truc, faut que je teste plus en détail, mais j'arrive pas à faire marcher un dialogue avec un 'message to gamemaster' dedans.
Si vous avez vraiment du mal à retrouver vos partie, vous pouvez aussi les séparer avec des brodcast vide.
Et voilà, pour peu qu'on ai 3 ou 4 dialogues dans notre scénario, on économise de la place pour 2-3 triggers en plus ou 2-3 créatures