La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 27/11/2024 18:02:21


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 17/05/2004 09:10:50 Sujet du message : Conseil variables

Bonjour à tous,

On petite question concernant les variables. Voilà, lorsque un PNJ donne une mission au joueur, j'initialise un variable de type string du genre vMissionXXXEtat à "DONNEE", puis suivant l'avancement elle passe à "FAITE" puis "TERMINEE" que je stocke dans en GetModule() afin de pouvoir l'utiliser en dehors des dialogues....
Mon interogation porte sur le fait qu'en règle général, il vaut mieux utiliser des variables en integer pour des questions de place mémoire. A votre avis c'est genant si je continue à utiliser des variables en string (beaucoup plus parlante que des 1,2,3,... Est-ce que le problème de mémoire est important à prendre en compte ?

Merci. Razz
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 17/05/2004 09:23:53 Sujet du message :

Ha mon avis, c'est pas les variables qui vont faire laguer ton module!
Du moment que tu évites un max les OnHeart, les DelayCommand,
et les acces fréquents à la base bioware, c'est déjà pas mal... Surprised

M'enfin, ce n'est qu'un avis perso, sans calcul, sans preuve, sans calcul,
juste au feeling quoi, donc attend p'tête une confirmation (ou réfutation Embarassed ) d'un autre avant ^^ Laughing

Par contre d'empiler TOUTES tes variables dans le GetModule, je sais pas si c'est l'idéale,
j'ai cru comprendre que trop de variable sur un même objet, c pas trop bon... Confused
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
olfleouf
Acolyte
Inscrit le: 21 Nov 2003
Messages: 35
Répondre en citant
Posté le : 17/05/2004 16:03:16 Sujet du message :

Je pense globalement comme kiky.le.magnifique pour ce qui est de la mémoire, mais je me permet de te rappeler que tu peux aussi commenter ton code à chaque fois pour dire ce que signifie le 1, 2 où 3, c'est aussi très parlant Wink


Sinon j'ai pas compris :
Citation :
que je stocke dans en GetModule() afin de pouvoir l'utiliser en dehors des dialogues....
Ben pourquoi? Si tu la met sur le joueur tu peux aussi la récupérer dans d'autres cas, par exemple avec des GetEnteringObject, enfin bref sauf des cas vraiment spéciaux (que je ne connais pas) il y a toujours moyens de récupérer le joueur Very Happy
_________________
Arkanis, forum jeux de rôle dungeons et dragons 3.5
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 17/05/2004 18:25:31 Sujet du message :

Ok merci...
Pour l'objet à qui attribuer la variable, j'avais commencer à mettre mes variables sur le GetPCSpeaker(), mais comme ensuite, suivant une action réalisé, je devais changer l'état de cette variable (en dehors d'un dialogue), j'ai essayé en utilisant le GetFirstPC() (dans mon cas c'est un jeu solo, donc un seul PC) mais il semble que GetPCSpeaker et GetFirstPC ne renvoie pas le même objet, même s'il n'y a qu'un seul joueur, enfin sauf si je me trompe car en tout cas mon truc marchait pas...
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
olfleouf
Acolyte
Inscrit le: 21 Nov 2003
Messages: 35
Répondre en citant
Posté le : 17/05/2004 22:58:00 Sujet du message :

Normalement ca doit bien te renvoyer le même objet, le joueur, je ne vois pas d'autre solution. La seule possibilité que je verrais est que si le dialogue n'a qu'une branche (pas de réponse) GetPCSpeaker retourne un objet_invalid je crois, mais sinon dans un solo GetFirstPC et GetPCSpeaker c'est totalement pareil Wink
_________________
Arkanis, forum jeux de rôle dungeons et dragons 3.5
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 18/05/2004 08:01:53 Sujet du message :

Je vois pas la différence, question ressources,
entre tout stocké sur GetModule ou sur le PC,
c'est grave docteur? Embarassed

Je disais que ce qui me genait, c'était que tu stockait tout sur un seul objet,
mais que ce soit le module ou le joueur, c kif kif bourico pour moi...
M'enfin, je peux me trompé bien sur... Laughing

Moi, perso, je stock ça sur les PNJ qui donne la quete ^^
Ou même des fois, sur le placeable qui contient l'objet à trouver Razz
Tout ça dans le soucie de répartir mes variables sur plusieurs objets... Very Happy

Personne peut dire si c bien ou mal de stocker plusieurs variable sur un même objet? Surprised
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 18/05/2004 08:18:46 Sujet du message :

Bon, peut-être que le problème venait d'autre part... je vais réessayer de mettre mes variables sur le joueur en utilisant une fois GetPCSpeaker et une fois GetFirstPC, c'est vrai que j'avais été surpris que ça ne marche pas (pas même objet) mais comme je le dis ci-dessus, peut-être était-ce une autre erreur...
Merci pour vos conseils en tout cas.
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Mathrim Cauthon
Ecuyer
Inscrit le: 11 Mai 2004
Messages: 54
Répondre en citant
Posté le : 18/05/2004 08:41:58 Sujet du message :

@kiki: je suis plutôt novice en conception, mais voilà mon propre avis.
Tout dépend du type de module que tu conçois.
Dans le cas d'un monde persistant, il faut que les variables se trouvent sur les PJ, afin d'éviter que seul le premier joueur interrogeant un PNJ (par exemple) n'ait accès à une quête.
Dans le cas d'un module conçu pour être joué en multi, il vaut mieux que les variables se trouvent sur les objets, afin que la même quête ne soit pas déclenchée deux fois de suite par deux PJ différents.
Dans le cas d'un module conçu pour être joué en solo, je pense que ça a peut d'importance. Personnellement, j'ai tendance à associer mes variables aux objets comme tu le fais, pour éviter entre autre de créer des doublons dans mes variables.

Maintenant, j'apprécierais beaucoup l'opinion d'un expert sur le sujet Wink

Edit: après mure réflexion (en bon français, après avoir dû recommencé quelques scripts ça et là), je me rend compte qu'il y a quand même un gros problème lié à l'utilisation de variable associée à des objets plutôt qu'à des PJ: si l'objet disparaît, certaines indications disparaissent avec lui. Entre autre, si un PNJ quitte une zone, on ne peut cependant lui permettre d'être détruit, et on doit donc le laisser dans un endroit inaccessible au PJ, ce qui manque singulièrement d'élégance.
_________________
It's time to toss the dice.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
olfleouf
Acolyte
Inscrit le: 21 Nov 2003
Messages: 35
Répondre en citant
Posté le : 18/05/2004 21:41:59 Sujet du message :

C'est pour ca qu'il utilise GetModule, qui ne risque pas d'être détruit Wink

Bon après bien sur je pense quand même que la meilleure solution reste d'assigner la variable sur le pj, c'est plus propre.
_________________
Arkanis, forum jeux de rôle dungeons et dragons 3.5
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Mathrim Cauthon
Ecuyer
Inscrit le: 11 Mai 2004
Messages: 54
Répondre en citant
Posté le : 18/05/2004 22:10:20 Sujet du message :

Mais ça ne risque pas de poser de problèmes dans le cas d'un module multijoueur, dans lequel tous les joueurs appartiennent à un même groupe ? Si un des PJ déclenche une quête en parlant à un PNJ, que le groupe finit la quête, et que toutes les variables liées à la quête se trouvent associées au PJ, un autre PJ du même groupe ne risque-t-il pas de re-déclencher la quête ?
_________________
It's time to toss the dice.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 19/05/2004 09:13:22 Sujet du message :

A mon humble avis pour un module multi-joueur il faut effectivement assigner les variables soit à un objet soit au module pour qu'un autre joueur ne déclenche pas à son tour la même quête... quoique ça pourrait être interessanr que plusieurs joueurs aient la même quête et au plus rapide de récupérer la récompense.. En tout cas pour mon module, come c'est un module solo, ce n'est pas un problème d'assigner les variables au joueur ou à un objet ou au module...
_________________
Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM
La première version française de la doc du NPC Activities (version 2.0)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Mathrim Cauthon
Ecuyer
Inscrit le: 11 Mai 2004
Messages: 54
Répondre en citant
Posté le : 20/05/2004 09:39:57 Sujet du message :

En fait, je viens de voir qu'il existait une fonction nommée "SetLocalIntOnAll", qui a la même syntaxe que SetLocalInt, mais qui permet d'assigner des variables locales à l'ensemble du groupe dont fait partie le PJ. A noter qu'il semble que la cible doivent être obligatoirement un PJ (ce qui semble normal).
_________________
It's time to toss the dice.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 32.171ms