|
| [résolu]Dialogues differents | |
| | Auteur | Message |
---|
adauca Adepte de la Grande Tasse Bleue
Nombre de messages : 151
Age : 42
Localisation : Strasbourg
Date d'inscription : 10/02/2014
| Sujet: [résolu]Dialogues differents Sam 5 Mar 2016 - 19:21 | |
| Hello tout le monde, nouveau petit problème concernant des dialogues. Je dois aller parler à un personnage dans une pièce et il doit avoir trois réactions: 1) Si j'y vais sans rien faire dans le jeu (sans activer ce qu'il faut) il parlera est lancera mon dialogue 1. 2) Si je lui rend visite après avoir récupérer un devis et que je lui donne, il dira autre chose et je lui répondrais. 3) Une fois le personnage en possession du devis, si je lui parle à nouveau, j'aimerai lancer un autre dialogue (le 2) et non pas utiliser un énième booléen pour débloquer des lignes de dialogues. Voilà mon code: - Code:
-
function cSteph_Talk() { cNico.Walk(518, 780, eBlock, eWalkableAreas); cNico.LockViewAligned(1, 2, eAlignCentre); cSteph.Animate(1, 5, eOnce); if (devisDonne == true && cNico.HasInventory(iDevis) == false){ cNico.Say("T'as vu, le devis est posé là, hun!"); dDialSteph02.Start(); StopDialog(); } if (cNico.HasInventory(iDevis)){ dDialSteph01.Start(); //pas obligatoire mais pour vous montrer que c'est bien le dialogue 1 dDialSteph01.SetOptionState(1, eOptionOffForever); dDialSteph01.SetOptionState(2, eOptionOn); } else dDialSteph01.Start(); } Tout fonctionne mais le problème c'est que quoi qu'il arrive, mon dialogue 1 se répète toujours... Y t-il une fonction pour le désactiver complètement? _________________ Une agence de publicité, c'est 85 % de confusion et 15 % de commission.
Dernière édition par adauca le Sam 5 Mar 2016 - 23:16, édité 1 fois |
| | | adauca Adepte de la Grande Tasse Bleue
Nombre de messages : 151
Age : 42
Localisation : Strasbourg
Date d'inscription : 10/02/2014
| Sujet: Re: [résolu]Dialogues differents Sam 5 Mar 2016 - 23:15 | |
| Bon et bien j'ai trouvé mon erreur était dans l'ordre de script. Voilà avec cet ordre tout fonctionne normalement! - Code:
-
function cSteph_Talk() { cNico.Walk(518, 780, eBlock, eWalkableAreas); cNico.LockViewAligned(1, 2, eAlignCentre); cSteph.Animate(1, 5, eOnce); if (devisDonne == true && cNico.HasInventory(iDevis) == false){ cNico.Say("Humm!"); dDialSteph02.Start(); } else dDialSteph01.Start();
if (cNico.HasInventory(iDevis)){ dDialSteph01.SetOptionState(1, eOptionOffForever); dDialSteph01.SetOptionState(2, eOptionOn); StopDialog(); } } _________________ Une agence de publicité, c'est 85 % de confusion et 15 % de commission.
|
| | | Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Dialogues differents Dim 6 Mar 2016 - 1:13 | |
| À vrai dire je pense que le code suivant correspond davantage à ce que tu recherches : - Code:
-
cNico.LockViewAligned(1, 2, eAlignCentre); cSteph.Animate(1, 5, eOnce); // Si on a donné le devis if (devisDonne == true && cNico.HasInventory(iDevis) == false) { cNico.Say("T'as vu, le devis est posé là, hun!"); dDialSteph02.Start(); } // Sinon (c-à-d on n'a pas donné le devis), si on possède le devis else if (cNico.HasInventory(iDevis)) { dDialSteph01.SetOptionState(1, eOptionOffForever); dDialSteph01.SetOptionState(2, eOptionOn); } // Sinon (c-à-d on n'a pas donné le devis et on ne le possède pas) else dDialSteph01.Start(); Avec le deuxième code que tu as posté, le dialogue 1 se déclenchera même si le joueur possède le devis, mais ce n'est pas ce que tu veux d'après ce que tu décris comme réaction 2 dans ton premier message : - adauca a écrit:
- 2) Si je lui rend visite après avoir récupérer un devis et que je lui donne, il dira autre chose et je lui répondrais.
PS : La fonction StopDialog n'a aucun utilité hors de la fonction dialog_request (cf. la page d'aide). _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
| | | adauca Adepte de la Grande Tasse Bleue
Nombre de messages : 151
Age : 42
Localisation : Strasbourg
Date d'inscription : 10/02/2014
| Sujet: Re: [résolu]Dialogues differents Dim 6 Mar 2016 - 1:51 | |
| Aaaah, Superman; je t'attendais lol Merci pour ce code "propre". Je suppose qu'il risque moins de me créer une erreur écrit comme ça (voir pas du tout). Bien que ça fonctionne comme j'ai écris je savais que c'était du bidouillage... J'ai encore du mal à bien comprendre l'ordre des choses mais ça viendra, entre autre, grâce à ton aide. Par contre j'ai tout de même du rajouter cette ligne entre else if et dDialSteph01.SetOptionState(...) - Code:
-
dDialSteph01.Start(); Car sinon, mon personnage reste sans bouger entrain de regarder mon héro comme un tebé... Merci en tout cas, c'est un très bon exercice pour moi d'autant plus que je dois utiliser ce même schéma pour un autre personnage donc je vais tester si j'ai tout bien compris. _________________ Une agence de publicité, c'est 85 % de confusion et 15 % de commission.
|
| | | Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu]Dialogues differents Dim 6 Mar 2016 - 4:43 | |
| Mais je comprends pas, tu lances le dialogue 1 aussi bien lorsqu'on vient voir Steph au début sans le devis que lorsqu'on vient le voir avec le devis (pour lui donner) ? _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
| | | adauca Adepte de la Grande Tasse Bleue
Nombre de messages : 151
Age : 42
Localisation : Strasbourg
Date d'inscription : 10/02/2014
| Sujet: Re: [résolu]Dialogues differents Dim 6 Mar 2016 - 14:47 | |
| Oui tout à fait, mais sans cette ligne, c'est juste lorsque je donne le devis qu'il commence la conversation que je veux et pas quand je viens lui parler simplement. Bizarre mais bon, à la limite? Est-ce vraiment grave?
_________________ Une agence de publicité, c'est 85 % de confusion et 15 % de commission.
|
| | | Contenu sponsorisé
| Sujet: Re: [résolu]Dialogues differents | |
| |
| | | | [résolu]Dialogues differents | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |