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

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 128

Age : 60

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 : 2539

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 En ligne
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
avatar

Nombre de messages : 128

Age : 60

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 : 128

Age : 60

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 : 1381

Age : 28

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 pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
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 : 128

Age : 60

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
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Vérifier si un objet/hotspot/personnage a déjà été cliqué
» [Résolu] Déplacements aleatoires PNJ ou object dans une room ou walkarea
» [Sims 3] Site de téléchargement de poses pour le Pose Player [Résolu]
» Hattrick player
» [Tournoi] King of Player II Asianim 24-25 oct 2009 LIEGE (BE

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: