Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

 [résolu]Remplacer un objet dans l'inventaire par un autre.

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


Nombre de messages : 151

Age : 41

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 15:14

Bonjour à tous,

J'espère pouvoir avoir de l'aide sur mon problème suivant:
J'ai dans une room (BureauFabrication) 2 objets (Pochette1 et Pochette2).
Je les ai rajouté dans "inventory items" (iPochette1 et iPochette2).

Pochette1 et 2 sont simplement 2 pochettes rouges une à côté de l'autre dans un creux de commode.
iPochette1 est affiché dans l'inventaire seul.
iPochette2 est l'image de iPochette1 avec une deuxième dessous pour en afficher 2. (tout simplement)

Pour plus de clarté, je vous illustre tout ça ici:

[résolu]Remplacer un objet dans l'inventaire par un autre. Pochet10

[résolu]Remplacer un objet dans l'inventaire par un autre. Ipoche10

J'aimerai alors que lorsque je prend une pochette(1 ou 2) il m'ajoute la iPochette1 dans l'inventaire, mais si je prend la deuxième il m'ajoute la iPochette2.
Si je fais un après l'autre (dans l'ordre) c'est facile, mais j'aimerai que n'importe qu'elle pochette soit considérée comme la première si je la prend en premier (logique) et qu'ensuite peu importe la seconde il va m'ajouter la iPochette2 en effaçant la iPochette1.

Je ne sais pas si je suis clair, alors n'hésitez pas si vous avez besoin de plus de détails... sourire

J'essaye de chercher un peu partout même sur les forums anglais et j'arrive de plus en plus à me débrouiller, mais là j'avoue que je sèche...

Merci d'avance
Revenir en haut Aller en bas
http://www.mad-day.fr
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 45

Localisation : Montpellier

Date d'inscription : 17/04/2006


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 16:26

Crée une variable, par exemple nbpochettes, définie sur 0 au départ.
Quand le joueur prend une pochette, tu mets :

Code:
nbpochettes = nbpochettes + 1 ;
if (nbpochettes == 1){
player.addInventory(iPochette1);
}
if (nbpochettes == 2){
player.LoseInventory(iPochette1);
player.AddInventory(iPochette2);
}

Et tu mets le même code pour chaque objet pochette sourire
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
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]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 16:30

Une variante de la proposition de Shai-la :

Dans chacune des fonctions "Prendre l'objet", tu vérifies si le joueur possède déjà l'objet d'inventaire iPochette1 et si c'est le cas tu l'enlèves et le remplaces par iPochette2. Comme ça :
Code:
if (player.HasInventory(iPochette1)) {
  player.LoseInventory(iPochette1);
  player.AddInventory(iPochette2);
}
else
  player.AddInventory(iPochette1);
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 41

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 18:15

Merci pour les réponses, ce forum est très réactif ça fait plaisir.
J'avais presque le code de Kitai (il me manquait la partie else) du coup bah ça marchait pas!  langue
J'ai rajouté également la partie "Pochette1.Visible = false;" pour la pochette n°1 et "oPochette2.Visible = false;" pour la n°2 afin que les pochettes disparaissent du décor.

Je me posais encore une question. Y a-t-il moyen de garder l'emplacement du premier objet dans l'inventaire? Je galère avec ID mais je ne pense pas être sur la bonne voie...

Quelqu'un saurait faire ça?


Dernière édition par adauca le Dim 30 Aoû 2015 - 20:56, édité 1 fois
Revenir en haut Aller en bas
http://www.mad-day.fr
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 20:26

adauca a écrit:

Je me posais encore une question. Y a-t-il moyen de garder l'emplacement du premier objet dans l'inventaire?
Tu voudrais faire quoi exactement ?
adauca a écrit:

Je galère avec ID mais je ne pense pas être sur la bonne voix...
Je pense que tu es sur la bonne voie.
En effet, la fonction AddInventory accepte un deuxième paramètre pour indiquer l'index de positionnement dans l'inventaire.
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 41

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 20:54

En fait, lorsque je récupère ma première pochette, elle se place à la suite des objets déjà présent. Ensuite par exemple je continue à ramasser des objets et je décide de prendre la deuxième pochette. Et bien au lieu de garder l'emplacement de la première et se rajouter, j'aurais le premier emplacement qui ne sera plus disponible et tous les objets de l'inventaire qui suivent vont se décaler. Au final j'aurais la deuxième pochette qui sera à la fin de l'inventaire au lieu d'avoir pris l'emplacement de base...
Revenir en haut Aller en bas
http://www.mad-day.fr
Atavismus
Grand Cliqueur Royal
Grand Cliqueur Royal
Atavismus


Nombre de messages : 1857

Localisation : France

Date d'inscription : 27/01/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 21:12

Ok je vois.

Alors ça dépend comment tu comptes utiliser tes pochettes, mais plutôt que de perdre l'item pour en ajouter un autre, tu pourrais changer le .Graphic de cet item, comme ça plus de problème d'index/placement.
Et quand tu utilises l'item, tu testes quel .Graphic a il a pour savoir quelle interaction lancer.

Si tu ne peux pas faire ça, tu pourrais faire une boucle sur tous les items et tester pour connaître l'index/emplacement à remplacer (ça demande un peu de code, je ne sais pas où tu en es niveau script, mais si tu ne vois pas comment faire, je devrais pouvoir te montrer).
Revenir en haut Aller en bas
http://store.steampowered.com/app/367110/
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 41

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyDim 30 Aoû 2015 - 22:42

Très bonne idée Atavismus! J'avais pensé à ça sans savoir le faire du coup je m'étais pas penché plus dessus. Mais j'ai essayé de trouver d'après le code que j'ai du coup en changeant le .Graphic mais aussi le .Name afin d'avoir le pluriel de pochette. J'ai testé ceci qui fonctionne bien, avec mes pochettes qui ne bougent pas de place et qui s'ajoutent sans problème:

Code:
if (cNico.HasInventory(iPochette1)) {
           iPochette1.Graphic = 622;
           iPochette1.Name = "Pochettes rouges";
        }
        else
          cNico.AddInventory(iPochette1);
          oPochette1.Visible = false;

merci beaucoup pour le coup de main sourire
Revenir en haut Aller en bas
http://www.mad-day.fr
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]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyLun 31 Aoû 2015 - 2:30

Si tu veux tu peux aussi ajouter player.AddInventory(iPochette1); dans ton premier if, comme ça le joueur possède réellement deux copies de l'objet (et ensuite tu peux vérifier le nombre de copies avec la propriété InventoryQuantity).
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 41

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyLun 31 Aoû 2015 - 9:13

Exact Kitai, c'est vrai que l'utilisation de mes pochettes dans le jeu fait que je ne me rends pas compte que j'en ai qu'une vu que j'utilise les 2 en une fois.
Mais je vais l'utiliser c'est clairement nécessaire!
Pour InventoryQuantity je vais faire un test histoire de parfaire ma connaissance du code c'est toujours utile et intéressant à faire.
Plus j'essaye de coder et plus j'ai l'impression qu'il y a de possibilités c'est dingue! Ça s'arrête plus!
langue

merci encore
Revenir en haut Aller en bas
http://www.mad-day.fr
adauca
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
adauca


Nombre de messages : 151

Age : 41

Localisation : Strasbourg

Date d'inscription : 10/02/2014


[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. EmptyLun 31 Aoû 2015 - 20:43

J'ai testé le tout et c'est tout bon, même InventoryQuantity qui est très simple à utiliser.

Je clos le sujet.
Revenir en haut Aller en bas
http://www.mad-day.fr
Contenu sponsorisé





[résolu]Remplacer un objet dans l'inventaire par un autre. Empty
MessageSujet: Re: [résolu]Remplacer un objet dans l'inventaire par un autre.   [résolu]Remplacer un objet dans l'inventaire par un autre. Empty

Revenir en haut Aller en bas
 
[résolu]Remplacer un objet dans l'inventaire par un autre.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Comment importer un dessin papier/une photo dans AGS?resolu
» Aller d'une room à l'autre grâce à un objet
» [Résolu] Dessiner des hotspots sur un objet ?
» [résolu] IgnoreWalkbehinds > Objet Caché par un WalkBehinds
» Interaction de la souris derrière un objet [RESOLU]

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: