Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
LEGO Icons 10331 – Le martin-pêcheur
35 €
Voir le deal

 

 [résolu]Dialogues differents

Aller en bas 
2 participants
AuteurMessage
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 42

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Dialogues differents Empty
MessageSujet: [résolu]Dialogues differents   [résolu]Dialogues differents EmptySam 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
Revenir en haut Aller en bas
http://www.mad-day.fr
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 42

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Dialogues differents Empty
MessageSujet: Re: [résolu]Dialogues differents   [résolu]Dialogues differents EmptySam 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.
Revenir en haut Aller en bas
http://www.mad-day.fr
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu]Dialogues differents Empty
MessageSujet: Re: [résolu]Dialogues differents   [résolu]Dialogues differents EmptyDim 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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 42

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Dialogues differents Empty
MessageSujet: Re: [résolu]Dialogues differents   [résolu]Dialogues differents EmptyDim 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.
Revenir en haut Aller en bas
http://www.mad-day.fr
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu]Dialogues differents Empty
MessageSujet: Re: [résolu]Dialogues differents   [résolu]Dialogues differents EmptyDim 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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 42

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Dialogues differents Empty
MessageSujet: Re: [résolu]Dialogues differents   [résolu]Dialogues differents EmptyDim 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.
Revenir en haut Aller en bas
http://www.mad-day.fr
Contenu sponsorisé





[résolu]Dialogues differents Empty
MessageSujet: Re: [résolu]Dialogues differents   [résolu]Dialogues differents Empty

Revenir en haut Aller en bas
 
[résolu]Dialogues differents
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: