Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-28%
Le deal à ne pas rater :
-28% Machine à café avec broyeur à grain MELITTA Purista
229.99 € 318.99 €
Voir le deal

 

 Speech à variables multiples

Aller en bas 
3 participants
AuteurMessage
CookiewooD
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
CookiewooD


Nombre de messages : 54

Age : 35

Localisation : Gard

Date d'inscription : 18/09/2018


Speech à variables multiples Empty
MessageSujet: Speech à variables multiples   Speech à variables multiples EmptyMer 31 Oct 2018 - 11:27

Bonjour à tous !

J'ai crée un dialogue au travers d'une porte qui est un hotspot. Le PNJ derrière la porte ne veut pas ouvrir et je voudrais que plus on clic sur la porte, plus le ton monte entre le player et le PNJ. J'ai crée des variables et je commence à avoir l'habitude de les utiliser, d'habitude je m'en sors pas trop mal mais là, il doit y avoir un truc qui m'échappe. Autant, il manque juste un tout petit truc que je ne vois pas.

Voilà à quoi ça ressemble.

Code:
function hPorte_Interact()
{
  if (Charmetmouette==1) {
player.Walk(3135, 835,  eBlock, eWalkableAreas);
player.FaceDirection(eDirectionUp);
player.LockView(3);
player.Animate(3, 2, eOnce);
player.UnlockView(3);
player.Say("Toc Toc ?");
cMaire.Say("Qui est là ?");
player.Say("Bonjour, c'est Suli. Je voudrais vous parler.");
cMaire.Say("Je suis occupé, vas t'en !");
Knocknock=Knocknock+1;
}
  
else if (Charmetmouette==1 && Knocknock==1) {
player.Walk(3135, 835,  eBlock, eWalkableAreas);
player.FaceDirection(eDirectionUp);
player.LockView(3);
player.Animate(3, 2, eOnce);
player.UnlockView(3);
cMaire.Say("Quoi encore ?");
player.Say("C'est vraiment important ! Allez, ouvrez moi !");
cMaire.Say("Fiche le camp je t'ai dit !");
Knocknock=Knocknock+1;
}

else if (Charmetmouette==1 && Knocknock==2) {
player.Walk(3135, 835,  eBlock, eWalkableAreas);
player.FaceDirection(eDirectionUp);
player.LockView(3);
player.Animate(3, 2, eOnce);
player.UnlockView(3);
cMaire.Say("Bon sang mais on peut jamais être tranquille ?!");
player.Say("Vite, il faut que vous ouvriez la porte ! Le village...euh...Le village EST EN FEU !");
cMaire.Say("Bien essayé, mais ma fenêtre est ouverte et je ne sens aucune fumée. Déguerpis !");
Knocknock=Knocknock+1;
}

else if (Charmetmouette==1 && Knocknock==3) {
player.Walk(3135, 835,  eBlock, eWalkableAreas);
player.FaceDirection(eDirectionUp);
player.LockView(3);
player.Animate(3, 2, eOnce);
player.UnlockView(3);
cMaire.Say("Suli, si c'est encore toi, je t'assure que je vais me fâcher !!");
player.Say("Archibaldus Balthazarius d'Harmony...Je suis la mort...Je viens te chercher... Ooouuuhhhh.");
cMaire.Say("HAAAAAA !!!");
Knocknock=Knocknock+1;

}

else if(Charmetmouette==1 && Knocknock==4) {
player.Walk(3135, 835,  eBlock, eWalkableAreas);
player.FaceDirection(eDirectionUp);
player.LockView(3);
player.Animate(3, 2, eOnce);
player.UnlockView(3);
cMaire.Say("...");
player.Say("Il ne répond plus. J'y suis peut-être allé un chouilla trop fort ?");
Knocknock=Knocknock-4;

}
else {
player.Walk(3135, 835,  eBlock, eWalkableAreas);
player.FaceDirection(eDirectionUp);
player.LockView(3);
player.Animate(3, 2, eOnce);
player.UnlockView(3);
player.Say("Malheureusement, il n'y a pas de cours de crochetage de serrures à l'école.");
}
}


Avec ce code, seule la première occurrence se lance à savoir :
player.Say("Toc Toc ?");
cMaire.Say("Qui est là ?");
player.Say("Bonjour, c'est Suli. Je voudrais vous parler.");
cMaire.Say("Je suis occupé, vas t'en !");
Knocknock=Knocknock+1;"

Alors que j'ai l'impression que la variable knocknock est bien palcé partout. Si je remplace les else if par des if, alors là, tout se lance d'affilé en un seul clic, alors que je voudrais que le joueur clic 4 fois bien distinctes.

Une idée ?

Merci merci <3

(La première partie du jeu est bientôt terminé ! Nous allons lancer une alpha test avec les collègues d'ici une semaine si au passage vous pouvez me glisser où je peux vous poster cette première partie en Alpha, je prends !)
Revenir en haut Aller en bas
Arlann
Cliqueur Amateur
Cliqueur Amateur
Arlann


Nombre de messages : 286

Date d'inscription : 06/04/2016


Speech à variables multiples Empty
MessageSujet: Re: Speech à variables multiples   Speech à variables multiples EmptyMer 31 Oct 2018 - 11:56

Salut, il y a un petit problème avec la variable Charmetmouette qui devient prioritaire sur Knocknock dans ton code.
Garde en tête qu'une condition se lit toujours de gauche à droite et que si tous les arguments sont vérifiés, toutes les conditions else suivantes seront ignorées.
La structure de ta fonction devrait être :
Code:
function hPorte_Interact()
{
   if (Charmetmouette==1) {
      if ( Knocknock==0) {
         // CODE A INSERER
        Knocknock=1;
     }
     else if ( Knocknock==1) {
        // CODE A INSERER
       Knocknock=2;
     }
     else if (Knocknock==2) {
         // CODE A INSERER
        Knocknock=3;
     }
     else if (Knocknock==3) {
        // CODE A INSERER
       Knocknock=4;
     }
     else if (Knocknock==4) {
         // CODE A INSERER
        Knocknock=0 ;
      }
  }
  else {
    // CODE A INSERER (si Charmetmouette!= 1)
  }
}

Note que j'ai modifié ta façon d'incrémenter la variable Knocknock pour la rendre plus lisible.
J'espère être assez clair pour que tu puisses comprendre d'où vient ton problème... sourire
Revenir en haut Aller en bas
CookiewooD
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
CookiewooD


Nombre de messages : 54

Age : 35

Localisation : Gard

Date d'inscription : 18/09/2018


Speech à variables multiples Empty
MessageSujet: Re: Speech à variables multiples   Speech à variables multiples EmptyMer 31 Oct 2018 - 12:15

Haaannn merci Arlann !

J'avais remarqué que je pouvais faire comme tu as dis ou avec les &&, mais je ne comprenais pas quelle était la différence précise entre les 2 manières de faire !

Merci ça va beaucoup m'aider pour la suite sourire

Merci pour le tips aussi de la variable, effectivement c'est beaucoup plus lisible comme ça !

Speech à variables multiples 1181541269
Revenir en haut Aller en bas
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


Speech à variables multiples Empty
MessageSujet: Re: Speech à variables multiples   Speech à variables multiples EmptyMer 31 Oct 2018 - 16:43

Ou bien tu aurais aussi tout simplement pu remplacer la ligne
Code:
  if (Charmetmouette==1) {
dans le code que tu as posté initialement par
Code:
  if (Charmetmouette==1 && Knocknock==0) {
sourire

_________________
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
Contenu sponsorisé





Speech à variables multiples Empty
MessageSujet: Re: Speech à variables multiples   Speech à variables multiples Empty

Revenir en haut Aller en bas
 
Speech à variables multiples
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Comment associer variables et textes multiples ?
» Trier des variables par valeur ?
» Variables dans les dDialog() et Changement d'image
» Petite question sur les types de variables
» [résolu]speech

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: