| [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? | |
|
|
Auteur | Message |
---|
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Lun 13 Juin 2016 - 8:46 | |
| Salut Bon bin, tout est dans la question J'avais souvenir d'un topic à ce sujet sur le forum, mais impossible de remettre la main dessus :'( J'ai bien une idée mais je sais pas si c'est la bonne piste... Dans la cadre InventoryWindows du GUI de mon inventaire, il y a le réglage : "CharacterID : -1". J'imagine qu'il y a moyen de "tricher" en ajoutant les objets à un seul personnage, et en affichant celui-ci quelque soit le personnage (vu qu'on intervient sur le GUI). Mais ça m’embête un peu, parce qu'à un moment j'aurai besoin que quelques objets spécifiques n'apparaissent qu'avec un certain personnage (mais bon, je peux encore me débrouiller sans cette fantaisie, lol) Merci d'avance pour les réponse
Dernière édition par chefgeorges le Mer 15 Juin 2016 - 13:35, édité 1 fois |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Lun 13 Juin 2016 - 12:43 | |
| Je ne sais pas si je comprends bien ce que tu veux faire, alors je récapitule : L'idée d'avoir un inventaire par personnage ne te convient pas, tu préfères avoir un seul inventaire commun à tes trois personnages. Tu veux quand même avoir la possibilité d’afficher ou non des items dans cet inventaire commun selon le personnage que le joueur contrôle.
C'est ça ? |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Lun 13 Juin 2016 - 13:24 | |
| Je plussoie Arlann, mais qu'est-ce que c'est donc que tu essaye de faire ? |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Lun 13 Juin 2016 - 13:39 | |
| J'ai compris comme toi Arlann, ça me paraît pas extraordinaire comme requête Je serais toi chefgeorges, je créerais des fonctions personnalisées pour l'ajout/la suppression des objets d'inventaire, qui se chargent de les ajouter/supprimer à tous les personnages à la fois. Ensuite j'utiliserais les fonctions par défaut pour ajouter/supprimer des objets spécifiques à chaque personnage. Comme ça ça te permet de continuer d'utiliser HasInventory comme avant. Exemple : - Code:
-
function AddInventory(InventoryItem* item) { cChar1.AddInventory(item); cChar2.AddInventory(item); // ... }
function LoseInventory(InventoryItem* item) { cChar1.LoseInventory(item); cChar2.LoseInventory(item); // ... }
// Pour ajouter un objet commun : AddInventory(iBaguette);
// Pour ajouter un objet à cChar2 : cChar2.AddInventory(iPerruque);
// Pour enlever un objet à tous les personnages : LoseInventory(iBaguette);
// Pour enlever un objet seulement à cChar2 : cChar2.LoseInventory(iPerruque); _________________ 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 ! |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 9:53 | |
| Ah oui ! c'est pas bête du tout ça ! Merci Kitai, je m'y mets tout de suite NB: pour "l'explication", oui je veux un inventaire commun aux 3 personnages pour la plupart des objets collectables, mais 1 ou 2 seront spécifiques à un personnage en particulier... ( c'est pas plus clair, hin ? lol) |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 10:04 | |
| Bon j'ai un bug dans la room Voici le message : Failed to save room room13.crm; details below room13.asc(277): Error (line 277): Type mismatch: cannot convert 'InventoryItem*' to 'int' |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 12:40 | |
| Tu dois avoir passer un objet d'inventaire là où tu es censé passer une variable numérique, ou un nombre directement. À la ligne 277 du script de ta pièce 13. Tu peux coller ça ici ? _________________ 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 ! |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 15:10 | |
| Voilou - Code:
-
function oPotPeinture_PickUp() { player.FaceLocation(mouse.x+GetViewportX(), mouse.y); if (player.ID == 0) { Display("Mon instinct me dit de le prendre..."); oPotPeinture.Visible = false; AddInventory(iPotPeinture); } } |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 16:46 | |
| Je suis pas complètement sur qu'on ai le droit d'appeler une fonction du nom d'une fonction déjà définit comme le fait Kitai un peu trop inconsciemment. Peut tu renommer AddInventory en: AddInventoryAll ?
Là, AGS traduit: AddInventory(iPotPeinture) par iPotPeinture.AddInventory() et du coup plante. |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 16:55 | |
| Alors, j'ai essayé et... ça marche toujours pas, j'ai d'ailleurs un autre problème (sur la même ligne).
Failed to save room room13.crm; details below room13.asc(277): Error (line 277): wrong number of parameters in call to 'AddInventoryAll'
|
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 17:39 | |
| Étrange... Comment as-tu définit la fonction ? Peux-tu nous copier/coller le code ? |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 19:56 | |
| - Code:
-
function AddInventoryAll(InventoryItem* item) { cCHEF.AddInventory(item); cPGM.AddInventory(item); cSIMON.AddInventory(item); } function LoseInventoryAll(InventoryItem* item) { cCHEF.LoseInventory(item); cPGM.LoseInventory(item); cSIMON.LoseInventory(item); } |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mar 14 Juin 2016 - 20:24 | |
| Question bête, mais est-ce que tu appelles bien toujours la fonction AddInventoryAll comme avant ? - Code:
-
AddInventoryAll(iPotPeinture); En particulier, suite au message de Billbis (bien vu au passage le coup de l'interprétation d'AGS, si on survole AddInventory dans mon code de déclaration on peut voire que la fonction est déjà listée en interne par AGS comme prenant un int comme argument, raccord avec le premier message d'erreur de chefgeorges) est-ce que tu aurais pas remplacé par ça ? - Code:
-
iPotPeinture.AddInventoryAll(); _________________ 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 ! |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mer 15 Juin 2016 - 10:56 | |
| Non, j'ai bien mis : - Code:
-
AddInventoryAll(iPotPeinture); Et oui, j'appelle bien la fonction AddInventoryAll, je l'importe aussi : - Code:
-
import function AddInventoryAll(); import function LoseInventoryAll(); NB: je suis sous AGS 3.4.0.6 |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mer 15 Juin 2016 - 12:09 | |
| Tu dois préciser les arguments pour importer tes fonctions. - Code:
-
import function AddInventoryAll(InventoryItem* item); import function LoseInventoryAll(InventoryItem* item); |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mer 15 Juin 2016 - 13:05 | |
| |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mer 15 Juin 2016 - 13:12 | |
| En même temps j'arrive un peu à la fin de la bataille... Disons que c'est un travail d'équipe. |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? Mer 15 Juin 2016 - 13:34 | |
| Bravo Arlann ! C'était ça C'est toujours des p'tis problèmes un peu bêtes qui empoisonnent la vie d'un développeur... enfin, surtout la mienne ! lol Merci |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? | |
| |
|
| |
| [résolu] Comment avoir un inventaire partagé entre plusieurs personnages ? | |
|