La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 18/04/2024 22:31:42


  Page 1 sur 2 ¤ Aller à la page 1, 2  Suivante

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 05/08/2003 08:21:02 Sujet du message : [Tutorial] Utilisation des Variables Locales

Comment utiliser les variables locales dans une conversation, de manière à ce que le PNJ ne réponde pas la même chose selon le déroulement de la discussion.

Exemple :

- Oooh mais c'est mon ami <FirstName> ! <-- ici la phrase que le pnj prononce après avoir reconnu le joueur : Script 2, dans Condition d'exécution
-- SUITE DE LA CONVERSATION...
- Bonjour, mon gars, comment tu t'appelles ? <-- ici la phrase que le pnj prononce avant de connaître le joueur
-- Je m'appelle <FirstName> <-- Script 1, dans Action conséquente
--- Je m'en souviendrai l'ami ![FIN DE DIALOGUE]


Sur la phrase "-- Je m'appelle <FirstName>", placez dans "action conséquente" le script qui définit la variable locale confirmant que le PNJ se "souviendra" avoir déjà parlé au joueur. Ce serait donc un truc comme ça (Script 1) :

NWScript :
SetLocalInt(GetPCSpeaker(), "nom_de_variable", 1);
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Ensuite, sur la ligne de dialogue "Oooh mais c'est mon ami <FirstName> !", placez dans le "Condition d'exécution" ça (Script 2) :

NWScript :
int StartingConditional()
{
  if(GetLocalInt(GetPCSpeaker(), "nom_de_variable") == 1) return TRUE;
  return FALSE;
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


EDIT : ceci peut être adapté à plein de situations. Déroulement de quêtes en plusieurs étapes, reconnaissance du joueur par le PNJ, etc... c'est très facile à changer, le principe reste le même.

EDIT 2 : ATTENTION ! La conversation se lit toujours de haut en bas. Si votre variable définit donc un ordre selon :

variable == rien ---> 1ère conversation
variable == 1 ---> 2ème conversation
variable == 2 ---> 3ème conversation
etc.

...alors il faudra mettre vos phrases dans l'ordre inverse, c'est-à-dire commencer le fichier de conversation par la dernière phrase et finir par la 1ère.

Dès que le logiciel rencontre un script remplissant les conditions suffisantes, il s'arrête et ne vérifie pas qu'il y en ait un autre plus bas qui fonctionne mieux.
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
Dernière édition par finipe le 02/04/2006 04:25:02; édité 3 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
ScnMzt
Novice
Inscrit le: 20 Jan 2005
Messages: 13
Répondre en citant
Posté le : 21/01/2005 17:36:35 Sujet du message :

Donc si je reflechit... (C' est rare lol)
Si dans le dialogue que tu as eu la gentillesse de nous faire, il y aurait eu deux solutions.
La premier donner 5000 po ;
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

Et la deuxieme donner 10 000 po ;
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Apres le PJ vas revoir le PNJ et lui reparle dans le dialogue ont mettra ;
"--A je te reconnais c' est toi qui m' as donné 5000 po"
Avec ca comme int ;
NWScript :
SetLocalInt(GetPCSpeaker(), "5000_po_ok", 1);
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

ou
"--A je te reconnais c' est toi qui m' s donné 10 000po"

NWScript :
SetLocalInt(GetPCSpeaker(), "10000_po_ok", 1);
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

Eh ben ce sera bon ?
(Ensuite deuxieme question lol)

Si le pnj aurait refusé de donner les 5000 ou 10 000 po au lieu de recrée une variable aurait' ont pu faire ; SetLocalInt(GetPCSpeaker(), "10000_po_ok", 0);
Et alors quand le PJ retourne voir le PNJ ont mette if(GetLocalInt(GetPCSpeaker(), "10000_po_ok") == 0) Alors le dialogue ne sera pas le même.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 21/01/2005 18:04:12 Sujet du message :

C'est à peu près ça, sauf que pour que le PNJ reconnaisse le PJ une fois que ce dernier a donné 5000 ou 10000 PO, ce n'est pas SetLocalInt (qui "écrit" la variable), mais GetLocalInt (qui "lit" la variable").

Tu aurais pu faire plus simple, en n'utilisant qu'une seule variable, que tu mettrais à la valeur 1 pour 5000, et 2 pour 10000 Wink

Le PJ ne donne rien --> SetLocalInt(GetPCSpeaker(), "nom_de_variable", 0);
Le PJ donne 5000 --> SetLocalInt(GetPCSpeaker(), "nom_de_variable", 1);
Le PJ donne 10000 --> SetLocalInt(GetPCSpeaker(), "nom_de_variable", 2);

Et ensuite de même pour la lecture des infos :
if(GetLocalInt(GetPCSpeaker(), "nom_de_variable") == 0) ... --> Tu m'as rien donné fumier !
if(GetLocalInt(GetPCSpeaker(), "nom_de_variable") == 1) ... --> Tu m'as donné 5000 t'es sympa
if(GetLocalInt(GetPCSpeaker(), "nom_de_variable") == 2) ... --> Tu m'as donné 10000, t'es vachement généreux !
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
Dernière édition par finipe le 22/01/2005 02:30:11; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
ScnMzt
Novice
Inscrit le: 20 Jan 2005
Messages: 13
Répondre en citant
Posté le : 21/01/2005 18:10:39 Sujet du message :

Ah ok ... en fait je pensais que le ""nom_de_variable", 0/1); " 0 : Non / 1 : Oui.
Alors qu' en faite si j' ai bien ecouter les nombres suivant la variable c' est comme si c' était un objet.
Donc quand le PNJ lit la variable il lit a quel objet le PNJ est relié a par rapport a cette variable nommé.
Ok merci me voila plus éclairci et j' espere que mes questions seront utils a d' autre Embarassed
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 22/01/2005 02:27:46 Sujet du message :

J'ajoute au cas où que dans cet exemple ta variable est stockée sur le PJ, défini grâce à GetPCSPeaker() (utilisé en cas de dialogue).

Mais selon les besoins et les circonstances, les variables peuvent être stockées sur n'importe quel objet (créature, plaçable...), défini alors par, selon le cas, des événements tels que GetObjectByTag(), GetLastUsedBy(), etc., ou même sur le module lui-même, grâce à GetModule().
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
ScnMzt
Novice
Inscrit le: 20 Jan 2005
Messages: 13
Répondre en citant
Posté le : 22/01/2005 12:22:34 Sujet du message :

Ah ok donc par exemple sur un objet ca donnera ;

NWScript :
SetLocalInt(GetLastUsedBy(), "nom_de_ta_variable", 1);
...
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Darkavanger
Grand Chevalier
Inscrit le: 15 Déc 2004
Messages: 114
Répondre en citant
Posté le : 22/01/2005 12:44:35 Sujet du message :

Heu, je ne suis pas sûr de ce que je vais dire, mais il me semble que non, là tu metterai ta variable sur le dernier utilisateur, à mon avit, il vaudrait peut être mieux utiliser un truc du genre OBJECT_SELF.
Mais attends les conseils des grands gouroux du script ^^, ça vaut mieu.
A +
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 22/01/2005 17:34:14 Sujet du message :

Exact : si tu utilises GetLastUsedBy(), càd "le dernier utilisateur", alors c'est en l'occurrence le PJ qui a utilisé l'objet en dernier qui est défini, donc la variable sera stockée sur le PJ, et non pas l'objet !

Si tu veux stocker la variable sur l'objet utilisé, mieux vaux mettre OBJECT_SELF. Ensuite si tu veux récupérer ladite variable, il faudra probablement utiliser qqchose du genre GetObjectByTag pour définir précisément cet objet sur lequel la variable se trouve.

Le tout est de toujours savoir :

- Où ai-je stocké ma variable (objet, créature, module) ? Selon l'utilisation et les circonstances, le choix est important.

- A l'aide de quel événement puis-je définir l'endroit où j'ai stocké ma variable ? Cet événement ne sera pas forcément le même selon que j'écris ou que je lis une variable.

Les événements/définitions les plus courants :

- GetModule() : définit le module
- OBJECT_SELF : définit l'objet lui-même
- GetLastUsedBy() : définit le dernier utilisateur
- GetObjectByTag("tag_de_qqchose") : définit un objet possédant le tag en question
- GetFirstPC() : définit le premier PJ de la liste
- GetPCSpeaker() : définit le PJ lors d'une conversation

...et tant d'autres encore Wink
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Tchong
Novice
Inscrit le: 30 Aoû 2003
Messages: 12
Localisation: Ank Morpork
Répondre en citant
Posté le : 30/01/2005 18:39:55 Sujet du message :

Merci Finipe pour cette documentation précise expliquée des variables. Si je ne me trompe pas, il semble qu'on puisse stocker plusieurs milliers d'entre elles sur un même objet, ce qui nous laisse une assez large marge pour manoeuvrer.

Cela dit, j'ai une petite question, si tu permets : il existe pour bon nombre de choses dans l'éditeur, une option "Variables", qui ouvre un tableau toujours vide. A quoi sert ce tableau ?

Merci par avance pour tes éclaircissements Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 04/02/2005 17:02:47 Sujet du message :

Un tableau ? Je ne vois pas à quoi tu fais référence... A vrai dire je me sers plus beaucoup de l'éditeur, c'est peut-être une fonctionnalité récente. En tout cas, je sais que maintenant on peut assigner des valeurs à des variables par défaut sur des objets par l'intermédiaire de l'éditeur, lorsque tu ouvres la fenêtre de propriété de l'objet.

A toi de voir quel profit tu peux en tirer pour l'élaboration de ton module Wink
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Tchong
Novice
Inscrit le: 30 Aoû 2003
Messages: 12
Localisation: Ank Morpork
Répondre en citant
Posté le : 04/02/2005 17:19:29 Sujet du message :


Finipe a écrit :
En tout cas, je sais que maintenant on peut assigner des valeurs à des variables par défaut sur des objets par l'intermédiaire de l'éditeur, lorsque tu ouvres la fenêtre de propriété de l'objet.
Cela doit correspondre au "tableau" auquel je faisais allusion.
Merci Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
potjo
Acolyte
Inscrit le: 21 Fév 2005
Messages: 37
Répondre en citant
Posté le : 25/02/2005 16:43:00 Sujet du message : merci...mais

merci a toute vos explications mais j'ai quand méme une question...
quand tu dis "variable == rien"--->premiére discut
"variable == 1"---> deuxiéme discut... ... ...
bon sa je suis d'accor mais dans le "conditions d'exécution" faut metre quoi dans la premiére discut au lieu de rien... parcque moi vu que j'ai rien mis dans les conditions pour la premiére discut il me dit tjr la premiére discut Embarassed
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 26/02/2005 13:27:53 Sujet du message :

Par défaut, ta variable prend la valeur 0. Donc le truc c'est d'ordonner tes conversations en sens inverse. Je me (ré)explique :

Si tu ordonnes comme ça :

- Dialogue 1 (aucune condition, par défaut variable = 0)
- Dialogue 2 (condition : variable = 1)
- Dialogue 3 (condition : variable = 2)

...dans ce cas, le dialogue sera toujours lu en commençant par le début. Et dès qu'il tombe sur une condition satisfaisante, une condition qui se vérifie, il s'arrête et exécute la phrase. Imaginons que ta variable soit égale à 1 à un moment donné du jeu. Le joueur va dialoguer ; le jeu regarde la première condition, voit qu'il n'y en a pas, ça lui suffit, il lit la 1ère phrase et non pas la 2nde. Il n'ira pas vérifier que plus loin dans le dialogue il y a une phrase avec des conditions qui satisfont mieux aux données.

Pour éviter ça, il faut ordonner tes phrases en sens inverse : toujours commencer par la dernière, et finir par la première. Comme ça :

- Dialogue 3 (condition : variable = 2)
- Dialogue 2 (condition : variable = 1)
- Dialogue 1 (aucune condition, par défaut variable = 0)

Voilou ! Cool
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
potjo
Acolyte
Inscrit le: 21 Fév 2005
Messages: 37
Répondre en citant
Posté le : 04/03/2005 18:25:39 Sujet du message : oki

Ok merci c'est cool, mais si sa t'embette pas...
Maintenant j'aimerais définir une variable lorsque le PJ tue un enemi; je m'explique
J'ai une variable du nom "anadith",
Elle est a 0; donc le PNJ commence son dialogue
-WAW ce serai cool si tu me butais le chef du gang des nuls
--wé ok

voila le dialogue ensuite j'amerais que lorsque je tue un enemi sa mette la variable "anadith" a 2 j'ai donc pensé a sa...

SetLocalInt(Get Killer? (), 1);
c'est coment qu'il faut faire?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 04/03/2005 19:40:15 Sujet du message :

Si c'est bien ce à quoi je pense que tu veux faire, alors c'est très simple.

Sur l'événement onDeath du méchant qui doit se faire tuer, tu mets :

SetLocalInt(GetLastKiller(), "nom_de_ta_variable", 1);

Le GetLastKiller() définira le PJ. Mais rien ne t'empêche de stocker ta variable à un autre endroit si c'est plus pratique. Pour l'exemple cité, tu pourrais tout aussi bien stocker ta variable sur le module, avec des GetModule() à la place de GetPCSpeaker() et GetLastKiller().
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
potjo
Acolyte
Inscrit le: 21 Fév 2005
Messages: 37
Répondre en citant
Posté le : 05/03/2005 08:22:32 Sujet du message :

oki mais en fait sa change quooi de le stocker sur le pj ou sur le module?
o fait si non c'est nickel sa marche super bien est ce que tu pourrais donner d'autres éxemple?
(style: si t'es entré dans une certaine zone sa change la variable, ou encore si t'utilise un objet sa change la variable etc)
parcque moi je trouve que les variables sont super intéréssentes mais assez dur a mettre en place... Embarassed
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 05/03/2005 13:35:52 Sujet du message :

Stocker sur le PJ ou sur le module dans ton exemple n'aurait rien changé, les deux solutions fonctionnent, mais selon ce que tu veux faire, l'endroit où tu stockes ta variable peut avoir son importance.

Pour des exemples, j'ai donné qques exemples plus haut, je les remets :

- GetModule() : définit le module
--> Pratique pour définir l'avancement des quêtes ou les variables "globales"
- OBJECT_SELF : définit l'objet lui-même
--> Lorsque la variable doit être stockée sur l'objet où se trouve le script (souvent dans des événements onUsed)
- GetLastUsedBy() : définit le dernier utilisateur
--> Idem que précédemment, sauf que là ce sera le PJ qui sera défini (le dernier utilisateur) donc la variable sera stockée sur le PJ
- GetObjectByTag("tag_de_qqchose") : définit un objet possédant le tag en question
--> Permet de définir n'importe quel objet du module par son tag (s'assurer qu'il a bien un tag unique)
- GetFirstPC() : définit le premier PJ de la liste
--> Souvent utilisé dans les scripts de boucles while ou for, couplé avec GetNextPC() (il y a bcp d'exemples sur le forum)
- GetPCSpeaker() : définit le PJ lors d'une conversation
--> Exclusivement utilisé dans les scripts intégrés aux dialogues.
- Get LastKiller() : définit le dernier à avoir tué la créature qui vient de mourir
--> La plupart du temps utilisé à l'intérieur de l'événement onDeath d'une créature.

Cette liste n'est pas exhaustive, loin de là.
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
potjo
Acolyte
Inscrit le: 21 Fév 2005
Messages: 37
Répondre en citant
Posté le : 05/03/2005 15:44:33 Sujet du message :

oki merci pour tout grace a ce sujet j'ai pu vraiment énormément avencer... c'est cool!! Very Happy
même si j'ai certainement encore énormément a aprendre... Embarassed
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Néphilim
Voyageur
Inscrit le: 30 Mai 2005
Messages: 3
Localisation: Ivry sur Seine
Répondre en citant
Posté le : 30/05/2005 22:59:14 Sujet du message :

J'ai baucoup à apprendre moi aussi, à commencer par la base et le vocabulaire, dans un dialogue pour emettre une condition on a variable locale, que signifie entier(int), decimale(float)et string, ainsi que entier constant et variable, il y a aussi une histoire d'égalité??
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 31/05/2005 12:13:19 Sujet du message :

Ce sont les types de variables que tu dois déclarer, il en existe principalement 3 :

- int : signifie "integer", pour nombre entier. Donc prend pour valeur -5, -58, 0, 1, 5, 549, etc.
- float : nombre réel, ou nombre à virgule. Prend pour valeur par exemple 54.568, -8.5, etc.
- string : chaîne de caractère. Valeur : "Tagada pouêt pouêt", "Maître corbeau sur un arbre perché", ou encore "A"

Pour utiliser les variables locales ainsi, tu auras besoin essentiellement (voire uniquement) des variables de type int

Pour les opérateurs de comparaison, eh bien il y a surtout les suivants :

== vérifie l'égalité entre deux termes
!= vérifie la différence entre deux termes
>= supérieur ou égal
> strictement supérieur
<= inférieur ou égal
< strictement inférieur

Enfin tu peux être amené à devoir associer plusieurs expressions par les termes ET ou OU, notés ainsi :

OU : || (alt gr + 6)
ET : &&

Pour donner des exemples, on peut dire que cette expression :

NWScript :
object oPC = GetPCSpeaker();

if((GetLocalInt(oPC, "Nom_de_variable") > 0) && (GetLocalInt(oPC, "Nom_de_variable") < 2))
{
  // bloc d'instructions
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

...revient exactement au même que :

NWScript :
object oPC = GetPCSpeaker();

if(GetLocalInt(oPC, "Nom_de_variable") == 1)
{
  // bloc d'instructions
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
Dernière édition par finipe le 13/01/2008 20:50:12; édité 2 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Néphilim
Voyageur
Inscrit le: 30 Mai 2005
Messages: 3
Localisation: Ivry sur Seine
Répondre en citant
Posté le : 31/05/2005 20:27:41 Sujet du message :

Ok, merci, mais encore une question : a quoi correspondent les entiers(int)? Je suppose que les chiffre ne sont pas choisis par hazard.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 31/05/2005 23:06:08 Sujet du message :

Si, ils sont tout à fait arbitraires, c'est toi qui décides. Généralement on choisit des choses comme (ici, un exemple d'avancement de quête) :

- int = 0 --> correspond à l'état "quête non commencée"
- int = 1 --> 1ere étape de la quête achevée
- int = 2 --> ...

Voilà. Mais si tu voulais, tu pourrais tout aussi bien mettre 0, 100, 200, c'est arbitraire.
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
potjo
Acolyte
Inscrit le: 21 Fév 2005
Messages: 37
Répondre en citant
Posté le : 29/12/2005 10:28:16 Sujet du message : rep

Euh étant donné que la variable donnée par default == 0
étons obligés de définir la variable avant ça modification ?
Parceque là je me perd un peu dans toute les variables du module !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 29/12/2005 11:23:55 Sujet du message : Obligation ?

Bonjour Potjo,
normalement tu n'es pas obligé de spécifier au début qu'une variable est égale à zéro. Mais bien sûr tu dois le faire si tu veux que le dialogue reparte du début pour telle ou telle raison.
J'espère que cela a répondu à ta question, je ne suis pas sûr d'avoir bien compris.
(J'ai peu dormi).
A bientôt !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Legion
Voyageur
Inscrit le: 12 Fév 2006
Messages: 1
Répondre en citant
Posté le : 12/02/2006 15:58:58 Sujet du message :

Grande question : dans un aspect multijoueur, dans la mesure où l'on fait des reboot serveur environ 1 fois par jour, le fait de stocker l'info autrepart que sur le PJ ne risque-t-il pas de nous faire perdre la variable au moment du reboot ? Ou est-ce que la base de donnée complète des variable est sauvegardée comme celle du joueur ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 2 ¤ Aller à la page 1, 2  Suivante


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 53.592ms