Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 [résolu]vérifier si player est passé par une room

Aller en bas 
AuteurMessage
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 143

Age : 61

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


MessageSujet: [résolu]vérifier si player est passé par une room   Mar 2 Mai 2017 - 16:51

Bonjour,
je voudrais vérifier si mon personnage est passé par une room.
Dans le code ci-dessous, je ne sais pas comment formuler:

  • à la ligne 6 "si cBrett est passé par la room 59"


  • à la ligne 9 "si cBrett n'est pas passé par 59"

Code:
function Marais_OnClick(GUIControl *control, MouseButton button)
 {
    if(player.InventoryQuantity[10]== 1)    
      {cBrett.ChangeRoom (53, 667, 521); gCarte.Visible = false;}
          
    else if  cBrett passé par room 59 && player.InventoryQuantity[10]== 0)
      {cBrett.ChangeRoom (49, 397, 634); gCarte.Visible = false;}
        
    else if cBrett pas passé room 59 && (player.InventoryQuantity[10]== 0
      {cBrett.ChangeRoom (45, 417, 687); gCarte.Visible = false;}
 }


Dernière édition par dominouche le Mar 2 Mai 2017 - 19:19, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2612

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]vérifier si player est passé par une room   Mar 2 Mai 2017 - 18:11

Tu peux utiliser la fonction HasPlayerBeenInRoom. Par ailleurs, tes else if expriment des conditions redondantes : le else t'assure déjà que la condition du (else) if situé plus haut n'est pas remplie. (Bien que techniquement en ce qui concerne les conditions sur l'objet d'inventaire, il y a toujours la possibilité que le personnage possède plus d'une copie et donc spécifier == 0 peut se défendre)

_________________
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
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 143

Age : 61

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]vérifier si player est passé par une room   Mar 2 Mai 2017 - 18:22

Super, merci.
Je modifie les conditions redondantes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 143

Age : 61

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]vérifier si player est passé par une room   Mar 2 Mai 2017 - 18:50

J'ai une erreur:
GlobalScript.asc(805): Error (line 805): PE04: parse error at '('
C'est la ligne 6 du code ci-dessous.
Code:
function Marais_OnClick(GUIControl *control, MouseButton button)
 {
    if(player.InventoryQuantity[10]== 1)    
      {cBrett.ChangeRoom (53, 667, 521); gCarte.Visible = false;}
          
    else (HasPlayerBeenInRoom(59))  
      {cBrett.ChangeRoom (49, 397, 634); gCarte.Visible = false;}
        
    else
      {cBrett.ChangeRoom (45, 417, 687); gCarte.Visible = false;}
 }
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 1499

Age : 29

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]vérifier si player est passé par une room   Mar 2 Mai 2017 - 18:58

Tu as oublié un if.

Code:
else (HasPlayerBeenInRoom(59))

Pourrait se traduire littéralement comme ça : "sinon, le joueur a été dans la room 59". Ce qui ne veut rien dire.
Ce que toi tu veux dire c'est "sinon, si le joueur a été dans la room 59..."

Il faut donc écrire :
Code:
 else if (HasPlayerBeenInRoom(59)) 
      {cBrett.ChangeRoom (49, 397, 634); gCarte.Visible = false;}

_________________
"Je ne suis point cet assemblage de membres que l’on appelle le corps humain ; je ne suis point un air délié et pénétrant répandu dans tous ces membres ; je ne suis point un vent, un souffle, une vapeur, ni rien de tout ce que je puis feindre et m’imaginer, puisque j’ai supposé que tout cela n’était rien, et que, sans changer cette supposition, je trouve que je ne laisse pas d’être certain que je suis quelque chose."

René Descartes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 143

Age : 61

Localisation : Olonne sur mer, Vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]vérifier si player est passé par une room   Mar 2 Mai 2017 - 19:18

Merci Valoulef.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [résolu]vérifier si player est passé par une room   

Revenir en haut Aller en bas
 
[résolu]vérifier si player est passé par une room
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: