Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Boutique Nike : -25% dès 50€ sur TOUT le site Nike avec le code ...
Voir le deal

 

 [résolu]Conditions multiples

Aller en bas 
4 participants
AuteurMessage
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]Conditions multiples Empty
MessageSujet: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyMer 18 Jan 2017 - 16:24

Bonjour,
j'ai un bouton qui me dirige vers 3 rooms suivant 3 conditions:

Code:
if(player.InventoryQuantity[11]== 1)     cBrett.ChangeRoom (53);
if(player.InventoryQuantity[9]== 1)     cBrett.ChangeRoom (49);
if(player.InventoryQuantity[11]== 0) &  if(player.InventoryQuantity[9]== 0)  cBrett.ChangeRoom (4);
Comment faire?

Merci


Dernière édition par dominouche le Jeu 19 Jan 2017 - 14:21, édité 1 fois
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


[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyMer 18 Jan 2017 - 16:51

Ta question est un peu vague, mais j'imagine que ton code entraîne un problème lors de la compilation. Essaie de la façon suivante :
Code:
if(player.InventoryQuantity[11]== 1)    cBrett.ChangeRoom (53);
else if(player.InventoryQuantity[9]== 1)    cBrett.ChangeRoom (49);
else if(player.InventoryQuantity[11]== 0 && player.InventoryQuantity[9]== 0)  cBrett.ChangeRoom (4);

_________________
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
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyMer 18 Jan 2017 - 16:55

Je me suis permis d'éditer ton message pour ajouter les balises de code.

Tu dois ajouter le mot-clé else (sinon) avant les deux dernières conditions. Ainsi, si la première condition est vérifiée, alors le code associé s'exécutera, et les deux autres conditions seront ignorées. Sinon, la deuxième sera vérifiée et ainsi de suite.

Attention sur la 3ème ligne : l'opérateur "&" ne peut pas s'utiliser comme ça. Si tu souhaites que les deux conditions soient vérifiées (et donc vraies toutes les deux) pour exécuter le code, alors tu dois utiliser l'opérateur "&&" (ET). Mais dans ton exemple, c'est impossible car elle s'excluent mutuellement*. Tu recherche certainement que le code s'exécute si l'une OU l'autre des conditions sont vérifiées. Il faut donc utiliser l'opérateur OU qui s'écrit avec deux barres verticales : || (touche 6). Plus d'infos ici sur les opérateurs.

Code:
if(player.InventoryQuantity[11]== 1)     cBrett.ChangeRoom (53);
else if(player.InventoryQuantity[9]== 1)     cBrett.ChangeRoom (49);
else if(player.InventoryQuantity[11]== 0  || player.InventoryQuantity[9]== 0)  cBrett.ChangeRoom (4);

*Edit : En fait je viens de me rendre compte que non, puisque si je comprends bien ce sont deux inventaires différents qui sont vérifiés. Donc je dis des bêtises, tu peux utiliser l'opérateur "&&" si c'est bien ce que tu veux faire. Mais bon comme ça tu auras les deux exemples.

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
dominouche


Nombre de messages : 145

Age : 68

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyMer 18 Jan 2017 - 22:16

Vous êtes vraiment tous super! [résolu]Conditions multiples 1181541269
Des réponses rapides et efficaces!

Je ne savais pas que l'on pouvais mettre 2 "else" à la suite.
J'ai utilisé le script de Kitai et ça fonctionne!

Merci à vous 2.
Revenir en haut Aller en bas
Samaël Pyro
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
Samaël Pyro


Nombre de messages : 22

Age : 27

Localisation : France - Normandie

Date d'inscription : 24/11/2015


[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyDim 2 Avr 2017 - 21:47

Bonjour j'ai un problème de mon côté.
Je ne comprends trop comment marche le code ci-dessus.
Et j'aimerais pour ma part qu'une fois les bons items obtenus, que mon personnage dise qu'il en a finit pour cette zone du jeu. C'est a ce moment que j'active une walkable area et le fait changer de zone.
Je ne vois pas du tout comment faire surtout qu'il y a des items facultatifs dont le joueur n'a pas forcement besoin pour avancer (objectif Bonus/second)
.
J'espère m'être expliqué assez clairement et que vous pourrez répondre à mon problème au plus vite, merci d'avance!
Revenir en haut Aller en bas
http://samaelpyro.deviantart.com/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyDim 2 Avr 2017 - 22:12

Qu'est-ce que tu ne comprends pas dans le code ? Est-ce que quelque chose comme ça pourrait faire l'affaire ?

Dans la fonction de l'event  [résolu]Conditions multiples 3053503851  "First Load" de la room :
Code:
bool couverts = false;

Dans le repatedly_execute de la room :
Code:

if (!couverts){
 if ((player.HasInventory(iCouteau)) && (player.HasInventory(iFourchette)) && (player.HasInventory(iCuiller))){
   couverts = true;
   RestoreWalkableArea(2);
   player.WalkTo(600, 200, eBlock);
   RemoveWalkableArea(1);
 }
}

Remplacer évidemment par les bons objets d'inventaire.
En l'état tu ne pourras pas revenir en arrière.
Je ne détaille pas trop mais n'hésite pas à demander des explications supplémentaires.
(lalalère !)

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.


Dernière édition par valoulef le Dim 2 Avr 2017 - 22:27, édité 5 fois
Revenir en haut Aller en bas
Samaël Pyro
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
Samaël Pyro


Nombre de messages : 22

Age : 27

Localisation : France - Normandie

Date d'inscription : 24/11/2015


[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples EmptyDim 2 Avr 2017 - 22:14

Merci beaucoup Valoulef! =D Je teste ça au plus vite.
Cela me permet d'avancer grandement dans mon jeu! =D
Revenir en haut Aller en bas
http://samaelpyro.deviantart.com/
Contenu sponsorisé





[résolu]Conditions multiples Empty
MessageSujet: Re: [résolu]Conditions multiples   [résolu]Conditions multiples Empty

Revenir en haut Aller en bas
 
[résolu]Conditions multiples
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: