Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -23%
(Black Friday) Apple watch Apple SE GPS 44mm ...
Voir le deal
199 €

 

 Mauvais Inventaire attribué au character 2

Aller en bas 
2 participants
AuteurMessage
Threepwood
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Threepwood


Nombre de messages : 144

Age : 52

Localisation : Hyères

Date d'inscription : 29/12/2012


Mauvais Inventaire attribué au character 2  Empty
MessageSujet: Mauvais Inventaire attribué au character 2    Mauvais Inventaire attribué au character 2  EmptyDim 3 Fév 2013 - 14:01

Bonjour !

Mon projet avance a grand pas mais etant pas un pro du coding je suis bien souvent bloqué par des casses têtes...Je m'en sors habituellement via les forums mais là j'avoue que je comprend plus trop d'où vient ce probleme.

Ags est réputé pour permettre de donner le controle à plusieurs Characters et surtout à ce que chaque characters ai son propre inventaire.
Je prevois donc de jouer avec 3 personnages.

Jusqu'ici j'ai fait un chapitre complet avec le premier et je m'attaque depuis hier au chapitre 2 avec le character 2... mais voilà...
j'arrive evidement et facilement attribuer le role du caractere 2 ( ccyprien) dans la room qui correspond au debut de son aventure avec


function room_FirstLoad()
{ ccyprien.SetAsPlayer();}

Le controle du personnage dans la room est ok...
Mais...Lorsque l'on clique sur l'inventaire, c'est celui du character 1 principal qui s'affiche. (lorsqu'on passe d'un room character 1 a la room du character 2 via ctrl-X on constate qu'il a les objets du caracter 1)
Mais en plus lorsqu'on prend un objet sur la room, il ne s'affiche pas dans cet inventaire du character 1 ....donc il s'affiche nulle part

Je pensais que le fait qu'un caractere soit placé en caracter principal via ccyprien.SetAsPlayer() lui attribuerai automatiquement son inventaire ...Mais je me suis trompé apparament...Il me manque un element pour que caracter 2 ai son reel inventaire actif et non l'inventaire du caracter 1 ...

ca semble evident peut-etre pour certains mais apprioris je ne trouve aucun tuto qui explique clairement comment attribuer correctement un inventaire a un second caractere...

Evidement du coup, vu que c'est l'inventaire du character 1, quand on clique sur un des items on a forcement une box d'erreur :
"ERROR : SetActiveInventory.Character doesn't have any of that item "


J'ai cherché de partout il en ressort sur les forum uk des lignes de code comme 'invInventory.CharacterToUse = player; ' que ags 3 ne semble pas comprendre...où alors je le place au mauvais endroit au mauvais mmoment...

Ca semblait tellement evident sur le papier l'utilisation de plusieurs character que je suis parti sur un jeu où on pourra en controler 3...
alors ca serai super cool que je puisse au moins deja en faire controler 2 correctement...
Sinon je vais devoir me cantoner a un seul hero... snif....

Resumé donc :
Comment faut-il proceder pour que l'inventaire du character 2 soit attribué au character 2 des le debut de la room ?
Car on affirme partout que chaque personnage a son propre inventaire...et je pensais donc que le sript inventaire prendrai tout simplement le relais sur ginventory.
Faut-il en fait creer un 2e gui d'inventaire pour le second personnage ? Et si oui, comment le lui attribuer ?

bref : un truc que je pensais qui se ferai naturellement sur ags qui permet de le switch de personnage me bloque là...
merci de votre aide car j'ai fini un chapitre avec le premier personnage et je suis plus motivé que jamais pour continuer le 2e avec un new perso sourire
Revenir en haut Aller en bas
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


Mauvais Inventaire attribué au character 2  Empty
MessageSujet: Re: Mauvais Inventaire attribué au character 2    Mauvais Inventaire attribué au character 2  EmptyDim 3 Fév 2013 - 14:41

Salut Threepwood.

Threepwood a écrit:
ca semble evident peut-etre pour certains mais apprioris je ne trouve aucun tuto qui explique clairement comment attribuer correctement un inventaire a un second caractere...
Je ne sais pas si ce tuto explique clairement comment faire, mais il a le mérite d'exister clin d'oeil

Threepwood a écrit:
J'ai cherché de partout il en ressort sur les forum uk des lignes de code comme 'invInventory.CharacterToUse = player; ' que ags 3 ne semble pas comprendre...où alors je le place au mauvais endroit au mauvais mmoment...
En fait AGS 3.2 comprend bien la propriété CharacterToUse pour les fenêtres d'inventaire dans les GUI.
EDIT : si tu utilises AGS 3.1 ou 3.0, il est possible que cette propriété soit différente et qu'elle concerne le numéro ID du personnage et non pas directement son nom de script.
Ce qu'il faut comprendre c'est que les fenêtres d'inventaire ont besoin d'être associées à un personnage pour afficher son inventaire, et c'est pour ça qu'elles ont cette propriété CharacterToUse.
Une possibilité pour toi est donc d'identifier le nom de script de cette fenêtre d'inventaire (possiblement invInventory comme dans ce que tu as copié, mais puisque ça ne marche pas, il y a des chances pour que tu aies nommé ta fenêtre d'inventaire autrement) et de placer cette fameuse commande nom_de_ton_inventaire.CharacterToUse = ccyprien; juste avant ou juste après ta commande ccyprien.SetAsPlayer();).
Évite peut-être d'utiliser nom_de_ton_inventaire.CharacterToUse = player; dans la mesure où la commande SetAsPlayer ne modifie pas instantanément la référence de player.

Threepwood a écrit:
Comment faut-il proceder pour que l'inventaire du character 2 soit attribué au character 2 des le debut de la room ?
Un inventaire est nécessairement associé à un personnage, puisque pour ajouter un objet dans un inventaire tu dois faire cPERSONNAGE.AddInventory(iObjet);.
L'association qui t'intéresse, c'est celle entre la fenêtre qui affiche l'inventaire et le personnage dont la fenêtre affiche l'inventaire (c'est justement ce dont on vient de parler avec la propriété CharacterToUse).

Threepwood a écrit:
Car on affirme partout que chaque personnage a son propre inventaire...et je pensais donc que le sript inventaire prendrai tout simplement le relais sur ginventory.
Comme je l'ai dit, chaque personnage a son propre inventaire.
Attention quand tu dis ginventory, généralement on fait précéder de 'g' le nom de GUI (interfaces) entiers, qui peuvent éventuellement contenir des fenêtres d'inventaire en effet. On a coutume de faire commencer le nom de ces fenêtres d'inventaire, comme mentionné plus haut, par "inv".
Et non, rien ne prend le relais automatiquement puisqu'on ne peut pas associer de fenêtre d'inventaire au "personnage joueur" de façon dynamique (c'est-à-dire que tu ne peux associer une fenêtre d'inventaire qu'à un personnage bien précis, pas à un concept de personnage comme le concept de personnage-joueur -- cette distinction est à relier à la notion de pointeurs pour qui ça intéresse n'est-ce pas Billbis clin d'oeil)

EDIT : au temps pour moi, j'ai parlé trop vite. Apparemment tout cela est censé être géré de manière dynamique lorsque tu passes null comme valeur pour la propriété CharacterToUse. Assure-toi donc que cette propriété de ta fenêtre d'inventaire vaut bien null et dis-nous si ça fonctionne comme tu veux.

Voilà, n'hésite pas à poser d'autres questions si tu rencontres des problèmes à implémenter cette fonctionnalité. Et tant mieux si ça avance, courage !

_________________
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
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Threepwood
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Threepwood


Nombre de messages : 144

Age : 52

Localisation : Hyères

Date d'inscription : 29/12/2012


Mauvais Inventaire attribué au character 2  Empty
MessageSujet: Re: Mauvais Inventaire attribué au character 2    Mauvais Inventaire attribué au character 2  EmptyDim 3 Fév 2013 - 15:29

Loué soit ce forums et ses intervenants !
Un grand merci pour cette aide
En fait , ce qui m'a echappé et que je n'ai pas reussis a trouver c'est effectivement le tuto sur https://adventuregamestudio.1fr1.net/t1577-tuto-faire-des-inventaires-a-la-dott#27133 qui est largement explicite pour debloquer mon soucis...

Il suffisait en effet de ne pas oublier d'attribuer la valeur du caractere dans la box windows inv !
Fabuleux ! je replonge dans le code et te remercie mille fois encore pour ton aide precieuse ainsi que tous ceux presents sur ce forums qui me semble plus qu'incontournable pour avancer avec ce logiciel !
Revenir en haut Aller en bas
Contenu sponsorisé





Mauvais Inventaire attribué au character 2  Empty
MessageSujet: Re: Mauvais Inventaire attribué au character 2    Mauvais Inventaire attribué au character 2  Empty

Revenir en haut Aller en bas
 
Mauvais Inventaire attribué au character 2
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: