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

Partagez | 
 

 Comment savoir si un objet fait partie de l'inventaire ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
arnack
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 30

Date d'inscription : 05/04/2007


MessageSujet: Comment savoir si un objet fait partie de l'inventaire ?   Mar 26 Fév 2008 - 21:15

Bonsoir à tous ,

Me revoici encore avec une question existentielle :

Comment (via le code) vérifier que l'objet est bien dans l'inventaire...

Je m'explique :

Un code (oCode1) est placé derrière une plante (oPlante)
Je peux faire glisser cette plante sur l'axe x

(j'utilise le Template Lucasart de LUniqueDan)

Voici le code :

Citation :

// script for Object 3 (la plante): PousseTir object
cCama.Walk(160,105,eBlock);
if (Verbe == vPousser)
if (Object.GetAtScreenXY(156,90) == oPlante)
{
cCama.Say("Je vais la mettre un peu au soleil");
oPlante.Move(97,104,1,eNoBlock);
oCode1.Visible=true;
}
else
{
cCama.Say("Je sais pas la pousser plus loin");
}
else
{}
if (Verbe == vTirer)
if (Object.GetAtScreenXY(120,90) == oPlante)
{
cCama.Say("Remettons là en place");
oCode1.Visible=false;
oPlante.Move(125,104,1,eBlock);

}
else
{
cCama.Say("Il est déjà remis en place");
}
else
{}

Le problème est que si je pousse la caisse , le code apparait je le prends ok
Si je remets la caisse en place (==vTirer) et que je la repousse(==vPousser) le code ré-apparait ! (normal vu que je mets : oCode1.Visible=true; :geek:

Mais ne sachant pas (et ne trouvant pas) comment faire , je me permets de vous demander de l'aide :lol!:

En fait je me doute qu'il faut tester si icode1 est bien dans la liste de l'inventaire mais je ne trouves rien !

Merci d'avance pour les "chercheurs" :study:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5501

Age : 39

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Comment savoir si un objet fait partie de l'inventaire ?   Mar 26 Fév 2008 - 21:49

Au lieu de rendre le code visible ou invisible selon que la plante soit déplacé ou non, tu peux peut-être tout simplement le rendre visible tout le temps et le cacher naturellement par le sprite de la plante, en mettant sa baseline plus haute que celle de la plante. Ainsi, une fois que tu l'auras rendu invisible quand le perso le prend, il le restera.

Sinon, pour vérifier que tu as un objet d'inventaire, tu dois utiliser le code :
Code:
if(player.InventoryQuantity[x]==1){
//code
}
où x est le numéro de l'inventaire correspondant à l'objet code.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
arnack
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 30

Date d'inscription : 05/04/2007


MessageSujet: Re: Comment savoir si un objet fait partie de l'inventaire ?   Mar 26 Fév 2008 - 22:06

Merci Shaïla :cheers:

Cela fonctionne enfin ! :lol!:

En fait j'ai essayé cette méthode mais je ne mettais pas le numéro de l'inventaire au lieu du x MAIS je mettais le nom de l'inventaire (iCode) :geek:

j'aurais pu encore rester longtemps sur ma faim

Ps : Pour ce qui est de la baseline , c'est également bon mais je me suis mis à la programmation depuis samedi :lol!: J'apprend vite mais là cela fait beaucoup d'infos à ingurgiter en un coup ! :rendeer:

Et encore merci Shaïla :cheers:


PS 2 : (pas la console !!) :lol!:

Après avoir mis la condition en application dans le code , j'ai également aménégé les baselines et la walkable area pour rendre "l'apparition" plus fuide ! :study:


Dernière édition par scoubidou le Mer 27 Fév 2008 - 9:28, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
LUniqueDan
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 211

Age : 42

Date d'inscription : 05/07/2007


MessageSujet: Re: Comment savoir si un objet fait partie de l'inventaire ?   Mar 26 Fév 2008 - 22:49

Wow! tu avances vite pour a peine 4 jours de scripting!

Pour un effet maximal, je te sugère de remplacer ton :
Code:
 cCama.Walk(160,105,eBlock); 

Par un :

Code:
 cCama.Walk(oPlante.X,105,eblock);

(une 30aines de pixels ca fait une diff.) grand sourire

Du même, coup, si tu ne veux pas te compliquer la tête avec Object.GetAtScreenXY(x,y); Tu peux tout simplent fonctionner avec
(par exemple)
Code:
 if (oPlante.X > x)



Mais tout est très bien!
:cheers:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
arnack
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 30

Date d'inscription : 05/04/2007


MessageSujet: Re: Comment savoir si un objet fait partie de l'inventaire ?   Mer 27 Fév 2008 - 9:25

Bonjour et merci de tes conseils LuniqueDan :cheers:

Il est vrai que 4 jours ce n'est pas encore assez (5 avec aujourd'hui) pour comprendre toutes les subtilités d'AGS ...

Cependant étant en repos et en plus malade :drunken: j'ai du temps devant moi , j'ai essayé ton template pour le Gui Monkey ... et voilà comment je me suis lancé dans l'aventure :geek:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Comment savoir si un objet fait partie de l'inventaire ?   

Revenir en haut Aller en bas
 
Comment savoir si un objet fait partie de l'inventaire ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu][Urgent : Comment savoir ou avoir l'adresse de quelqu'un qui nous DDoS régulierement]
» Comment configurer une bonne partie sur 7 Days to Die
» Comment savoir quel bios est installé sur ma naomi ?
» Comment savoir si ma xbox 360 est une version fiable?
» [Résolu] comment savoir si quelqu'un a effacé votre CA de sa liste?

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: