Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Probleme avec multiple global variables Mar 16 Nov 2021 - 17:42 | |
| Bonjour, mon héros doit allez voir la gamelle du chat pour voir qu'il n'y a plus de lait (maintenant que j'y pense le lait n'est pas bon pour les chat) loul Ce qui entraine son depart de la piece, mais avant ça il doit mettre sa veste (la tasse). J'ai donc créer un variable global pour la gamelle (gamelle) puis pour la veste (avoirveste) gamelle=false et avoirveste=false. Le probleme vient de la derniere fonction liée à l'interaction avec la porte. Au moment des if else if et else. Le héros ne part pas - Code:
-
//Changement de salle function gamelait_Interact() { player.FaceDirection (eDirectionUp); player.Say("Je crois qu'Arthur n'a plus de lait."); Wait(10); player.Say("Ca me donnera une occassion de sortir un peu."); avoirveste=true; } function Veste_Interact() { if(avoirveste==false){ player.Say("Je ne compte pas sortir."); } else if(avoirveste==true){ player.Say("Je suis pret."); } }
function Porte_Interact() { if(gamelle==false){ player.Say("Je n'ai pas envie de sortir pour l'instant."); } else if(gamelle==true){ player.Say("J'ai besoin de ma veste pour sortir."); } else{ avoirveste=true; player.Say("Allons chercher ce lait."); player.Walk(242, 137, eBlock, eWalkableAreas); player.ChangeRoom(2, 25, 138, eDirectionRight); player.PlaceOnWalkableArea(); } }
Dernière édition par Kitai le Mar 16 Nov 2021 - 18:23, édité 2 fois (Raison : mise en forme du code) |
|
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Probleme avec multiple global variables Mar 16 Nov 2021 - 18:23 | |
| Salut, Ton dernier "else" ne sera jamais exécuté parce que les "if"/"else if" qui précèdent couvrent déjà toutes les situations possibles : soit gamelle vaut false et alors le "if" est exécuté, soit gamelle vaut true et alors le "else if" est exécuté. Dans les deux cas, le code n'ira jamais jusqu'au "else" puisqu'il aura exécuté soit le "if", soit le "else if" Il me semble que ton code devrait plutôt ressembler à ça : - Code:
-
//Changement de salle function gamelait_Interact() { player.FaceDirection (eDirectionUp); player.Say("Je crois qu'Arthur n'a plus de lait."); Wait(10); player.Say("Ca me donnera une occassion de sortir un peu."); gamelle=true; } function Veste_Interact() { if(gamelle==false){ player.Say("Je ne compte pas sortir."); } else { avoirveste=true; player.Say("Je suis pret."); } } function Porte_Interact() { if(gamelle==false){ player.Say("Je n'ai pas envie de sortir pour l'instant."); } else if(avoirveste==false){ player.Say("J'ai besoin de ma veste pour sortir."); } else{ player.Say("Allons chercher ce lait."); player.Walk(242, 137, eBlock, eWalkableAreas); player.ChangeRoom(2, 25, 138, eDirectionRight); player.PlaceOnWalkableArea(); } } J'ai changé avoirveste=true; en gamelle=true; dans l'interaction avec la gamelle, changé avoirveste==false en gamelle==false dans le "if" dans l'interaction avec la veste et "ajouté avoirveste=true; dans le "else", et changé les "if" et "else if" dans l'interaction avec la porte _________________ 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 ! |
|
Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Re: Probleme avec multiple global variables Mar 16 Nov 2021 - 19:21 | |
| En testant ça n'a pas marché mais avec quelques modification ça à marché. Un grand merci à toi. Mais je me demande si il est possible de créer une variable global avec un systeme de point à atteindre. Par exemple si tu atteins 3 avec une accumulation d'evenement qui valent 1 la porte s'ouvre. _________________ De voir que dans les infos persos on peut ajouter son MSN Messenger ça me fend le coeur de nostalgie. |
|
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Probleme avec multiple global variables Mer 17 Nov 2021 - 15:39 | |
| Oui, tu peux augmenter la valeur d'une variable numérique de 1 en faisant - Code:
-
mavariable += 1; et tu peux tester que sa valeur vaut 3 en faisant - Code:
-
if (mavariable == 3) _________________ 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 ! |
|
Nylon Adepte de la Grande Tasse Bleue
Nombre de messages : 52
Age : 32
Localisation : Saintes
Date d'inscription : 06/08/2020
| Sujet: Re: Probleme avec multiple global variables Mer 17 Nov 2021 - 16:04 | |
| Super, ça me sera tres utile pour gagner de la place dans mon script. |
|
Contenu sponsorisé
| Sujet: Re: Probleme avec multiple global variables | |
| |
|