La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 22:06:06


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Axwax
Voyageur
Inscrit le: 14 Avr 2004
Messages: 2
Répondre en citant
Posté le : 16/04/2004 09:15:15 Sujet du message : On s'est deja parlé!!!

Bonjour à tous!
Je suis un super débutant. Donc je m'y connais tres peu en termes techniques.
Voila, c'est tout bête: je cherche à faire en sorte qu'un NPC ne recommence pas son speech de bienvenu, du genre "Bonjour, qui êtes-vous?" alors que je lui ai deja parlé.

J'ai trouvé ce script que j'ai appliqué comme condition d'execution a une phrase du genre "Ha te revoila!" placée, dans le deroulement du dialoge, avant la phrase de depart.

NWScript :

//:: FileName verif_dejavu
//:: Created By: Script Wizard

int StartingConditional()
{
object oPNJ = GetObjectByTag("tag du pnj qui cause");
    // Inspecter variables locales
    if(GetLocalInt(oPNJ, "dejavu") == 1) return TRUE;
    else 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.


J'ai testé ce script tel quel, il ne fonctionne pas.
Celui qui l'a posté (Kiky.Le.Magnifique) rajoute ceci:
"Cette branche de dialogue n'apparaitera que si la variable nommé "dejavu" est égale à 1. Au début, elle est égale à 0 par défaut... "

Mais je ne vois pas trop ce que ca veut dire. Que faut-il faire pour changer cette variable?
Existe-t-il un autre script pour ce genre de probleme?

Merci pous vos réponses!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 16/04/2004 09:46:02 Sujet du message :

Hum, hum...

Je vais essayer de faire hyper simple...

1. Première ligne de dialogue ("Je suis ravi de vous rencontrer"). Dans l'onglet Action conséquentes tu places le script de Bioware nommé "nw_d1_talktime". (ds la fenêtre en dessous, son contenu doit apparaître...)

2. Deuxième ligne de dialogue (Ah vous revoila"). Dans l'onglet Conditions d'exécution tu colles le script suivant:
NWScript :
int StartingConditional()
{
    // nw_d1_talktime
    int iResult;

    iResult = GetLocalInt(OBJECT_SELF,"NW_L_TALKTIMES") >0;
    return iResult;
}
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.


Rq: la deuxiéme ligne de dialogue doit être au dessus de la 1e:

Citation :
Ah vous revoila
..........Bah voui...
Je suis ravi de vous rencontrer
..........itou itou

_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Axwax
Voyageur
Inscrit le: 14 Avr 2004
Messages: 2
Répondre en citant
Posté le : 16/04/2004 16:37:14 Sujet du message :

Ok, merci beaucoup Longbow. Ca marche sans probleme!!!
J'ai cependant une petite question:
Existe-t-il un lexique qui donne la signification de tous les scripts de bioware tel que "nw_d1_talktime" ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 16/04/2004 21:18:43 Sujet du message :

Hum, hum...

Un lexique pour les script officiels ?? Je ne sais pas... Mais la référence en terme de script c'est le Lexicon
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 16/04/2004 22:36:13 Sujet du message :

Dans la version de Mars du Lexicon, ils ont commencé à documenter les "include", mais ils ne les ont pas tous fait encore (en l'occurrence le nw_d1_talkime n'est pas évoqué). Normalement, Bioware a suffisamment bien documenté ces includes pour qu'ils soient faciles à utiliser. Il suffit de les ouvrir dans l'éditeur pour s'en assurer. A ma connaissance, il n'existe aucune autre documentation officielle ou officieuse, à moins qu'un courageux isolé, l'ait fait Smile
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 17/04/2004 02:34:32 Sujet du message :

J'ajoute, pour ta première question, qu'il y a un post-it qui parle de ça (puisque c'est une question qui a dû être posée environ 100 fois) :

[http]
_________________
» 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
 
Deekin
Acolyte
Inscrit le: 16 Juin 2004
Messages: 32
Répondre en citant
Posté le : 22/07/2004 18:17:42 Sujet du message : changement de zone et dialogue

Je profite de ce sujet pour compliquer un peu les choses (j'espère que je peux ?) au sujet des dialogues.

Dans la zone 1, le PNJ interpelle le PJ et un dialogue débute de manière classique. Une fois la conversation terminée, le PNJ quitte la zone et le PJ doit le rejoindre, ce qu'il fait.

Arrivé dans la zone 2, le PJ s'approche du PNJ pour continuer la conversation avant de s'en aller gaiment vers sa première quête. Or, non seulement le premier noeud de dialogue se répète (c'est fâcheux) mais en plus (snif... Sad), le second n'est pas pris en compte.

Je pense qu'il doit y avoir un "déjavu" quelque part et une fonction qui permet d'ignorer le premier noeud de dialogue ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Yahoo Messenger 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 : 25/07/2004 14:19:04 Sujet du message :

N'oublie pas que les phrases doivent arriver en ordre inversement chronologique : la dernière prononcée en premier, la première prononcée en dernier : le jeu lit les dialogues en partant du haut, et dès qu'il trouve une condition satisfaisante, il s'arrête et ne va pas plus loin.
_________________
» 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
 
Deekin
Acolyte
Inscrit le: 16 Juin 2004
Messages: 32
Répondre en citant
Posté le : 26/07/2004 10:16:45 Sujet du message : Ai-je bien compris ?

Merci finipe pour la précision. Toutefois, ôte-moi d'un doute. Les phrases que je dois prendre en compte sont bien celles qui débutent chaque noeud de dialogue ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Yahoo Messenger 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 : 27/07/2004 00:20:50 Sujet du message :

Oui, considère ça comme une arborescence conditionnelle. Exemple :

NWScript :
* Phrase 2 <--- si i==2
-- suite du dialogue...
* Phrase 1 <--- si i==1
-- suite du dialogue...
* Phrase de base <--- aucune condition (par défaut, i==0)
-- suite du dialogue...
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.


Admettons que ton joueur parle pour la 1ere fois. Le jeu lit le dialogue de haut en bas :

- il voit le premier noeud, la phrase 2. La condition de lecture est "si i==2". Or i n'est pas égal à deux puisque c'est la 1ere fois. Donc il continue.

- il voit le second noeud, la phrase 1. La condition de lecture est "si i==1". Ce n'est tjs pas bon, il continue.

- enfin il arrive au dernier noeud, qui n'a aucune condition, donc il te sort cette phrase là.


Ensuite, libre à toi de modifier la valeur de ta variable au gré de l'avancement de ta quête/dialogue ou tout ce que tu veux faire évoluer. Si par exemple dans la phrase de base, le joueur dit qqchose qui fait évoluer, tu fais passer ta variable à i==1, comme ça quand le joueur viendra reparler, le noeud de dialogue choisi sera la phrase 1, puisque la condition est "si i==1".

Bon courage ^^

edit : va voir ici --> [http] ce topic a été fait exprès... (visiblement va falloir que quelqu'un de plus pédagogue que moi le refasse, la question revient sans arrêt malgré tout Very Happy)
_________________
» 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
 
Deekin
Acolyte
Inscrit le: 16 Juin 2004
Messages: 32
Répondre en citant
Posté le : 27/07/2004 09:45:53 Sujet du message : Finipe, j'ai trouvé ce qui clochait...

... Enfin, je crois Confused. D'abord, j'ai réussi à comprendre que les noeuds de dialogue se classent du premier en bas, au dernier en haut. Au sein de chaque noeud, les répliques se rédigent (et se lisent) en revanche de haut en bas. Ensuite, à la dernière phrase de mon premier dialogue, justement, j'ai ajouté dans l'onglet "Actions Conséquentes" le script suivant :

NWScript :
void main()
{
SetLocalInt(GetPCSpeaker(),"parle1",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.


"parle1" est le nom de la variable qui sert de point de référence.

Ensuite, à la première phrase de mon second noeud de dialogue, j'ai ajouté dans l'onglet "conditions d'exécution" le script suivant, c'est-à-dire, celui que tu m'avais indiqué :

NWScript :
int StartingConditional()
{

// Inspecter variables locales
if(GetLocalInt(GetPCSpeaker(), "parle1") == 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.


Et pour l'instant, tout se déroule comme je le souhaitais. Est-ce bien la marche à suivre ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Yahoo Messenger MSN Messenger Ignorer l'utilisateur
 
k0rvet
Ecuyer
Inscrit le: 24 Nov 2003
Messages: 67
Répondre en citant
Posté le : 27/07/2004 10:05:18 Sujet du message :

"Si tout fonctionne et que tu ne sais pas pourquoi, surtout ne touche à rien: ça risquerait de ne plus jamais être le cas."

Il semblerait effectivement que tu ais procédé de la bonne manière. Wink
_________________
Moi j'dis ca, mais bon j'dis rien hein?
..:: Les Chroniques de la Terre du Milieu ::..
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Deekin
Acolyte
Inscrit le: 16 Juin 2004
Messages: 32
Répondre en citant
Posté le : 28/07/2004 15:44:55 Sujet du message : Merci kOrvet.

Cependant, j'ai encore deux problèmes avec les dialogues. Ben oui, je suis en plein dedans Crying or Very sad.

Tout d'abord, si je sais que les phrases en rouge correspondent au NPJ et les bleues, au PJ ; que signifient les phrases en gris ? J'ai fouiné dans les modules de la campagne officielle mais les scripts qui y sont associés m'ont encore plus embrouillé.

Par ailleurs, j'ai créé un début de dialogue :

- Salut, ami PJ.

auquel j'ai associé plusieurs réponses (j'ignore le terme exact) :

-- Salut, t'es qui, toi ?
--- Je suis le NPJ.
---- T'es gentil ou méchant ?
----- Gentil.

-- Quel est ton rôle dans ce module ?
--- T'aider à présenter ton exemple de dialogue.
---- Pourquoi c'est si dur de créer un module ?
----- Parce que tu es un débutant.

Lorsque j'arrive à la dernière phrase de chaque réponse, le dialogue se termine au lieu de me renvoyer vers la branche principale Mad. J'ai tenté d'utiliser des variables mais apparemment, ça ne fonctionne pas. Pourtant, je suis certain qu'il doit y avoir une fonction de "renvoi vers" ou quelque chose d'approchant.

Certes, je pourrais faire mon dialogue en continu, éludant ainsi le problème, mais je voudrais comprendre.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Yahoo Messenger MSN Messenger Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 28/07/2004 18:49:05 Sujet du message :

Si j'ai bien compris tes questions :


Les phrases en gris ce sont les phrases "copiées" et collées en tant que lien. Ce n'est pas très clair mais la suite de ma réponse devrait t'éclaircir :

Pour renvoyer au début du dialogue, il te suffit de te placer sur la première ligne de ton dialogue et de faire "copier", c'est un des icône sur la gauche de l'éditeur de dialogue.

Puis tu te place sur la dernière ligne de ton dialogue que tu veux faire boucler sur le début afin que le dialogue recommence et tu fais "click droit", "copier en tant que lien et hop ça te renverra sur la ligne que tu avais sélectionnée précédemment. Cette phrase est alors en gris...

Voilà, j'espère avoir répondu à ta question.
_________________
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
 
Deekin
Acolyte
Inscrit le: 16 Juin 2004
Messages: 32
Répondre en citant
Posté le : 28/07/2004 19:13:03 Sujet du message : C'était bien ma question, en effet.

Je vais donc tester ce procédé tout simple mais dont la recherche m'a donné du fil à retordre Very Happy. Merci à toi, Laxam.

(un peu plus tard...) Ca marche ! Ca marche ! Very Happy Un petit pas pour moi, un grand pas pour mon module.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Yahoo Messenger MSN Messenger 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 43.882ms