La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 22:50:57
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
Hello,
Je voudrai savoir si il serai possible, que dès qu'on arrive dans une pièce, un PNJ arrive vers nous et commence une discution. Merci d'avance. _________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Djezebel Héros Messages: 252 |
Oui, c'est très possible
Il suffit de faire un trigger au sol et sur le onEnter tu appliques un script pour que le personnage vienne te parler. Je te conseille d'ouvrir le module de la campagne officielle, c'est la première action qu'il se passe quand tu entres : un PNJ vient te parler. |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
oki ben merci je vais essayer.
_________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
J'arrête pas d'essayer mais c'ets le vrai bazar !!!
Ouin !!! J'y arrive pas !!!! _________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Voila un script je vien de le faire sans le teste..
NWScript :
void main() { object oPC = GetEnteringObject(); object oSpeaker = GetObjectByTag("Interaction"); AssignCommand(oSpeaker, ActionMoveToObject(oPC)); DelayCommand(GetDistanceBetween(oPC, oSpeaker), AssignCommand(oPC, ActionStartConversation(oPC, "dialogue", TRUE))); } "Interaction" Tag du PNJ qui vas bouger puis parle Le GetDistanceBetween dit combien de metre sépare les 2 Creature, puis s'active (donc cela remplace la distance par un delay ) _________________ [http] |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Comme disais Djezebel, c'est ce qui se passe dans le prélude au début, donc tu ouvres le script et tu trouves :
NWScript :
/*source : Bioware*/ // this is the on enter script if a trigger that encompasses the NPC who will be //initiating dialouge. Make sure to replace the value of sTag with the tag of //the NPC in question. void main() { string sTag = "M1Q0APavel"; object oNPC = GetLocalObject(GetArea(OBJECT_SELF),"NW_G_" + sTag); object oPC = GetEnteringObject(); if(GetIsPC(oPC) && GetLocalInt(oPC,"NW_L_Init" + GetTag(oNPC)) == FALSE && IsInConversation(oNPC) == FALSE) { AssignCommand(oPC,ClearAllActions()); AssignCommand(oNPC,ClearAllActions()); AssignCommand(oNPC,ActionMoveToObject(oPC)); AssignCommand(oNPC,ActionStartConversation(oPC)); } } donc tu l'arranges à ta sauce et ça doit marcher. |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
ben j'ai essayé le truc comme Djezebel m'a dit mais ça marche pas, je n'arrive pas à faire marcher le trigger.
et pour celui de Black Knight je le met où ? dans le "OnEnter" ? _________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
oki ça marche.
Merci !!! _________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
je voudrai faire varier un truc dans mon texte.
Le problème c'est que après être sortit de la zone si j'y retourne le texte recommence (même si le PNJ ni est plus). Comment je pourrai faire pour que ça ne marche qu'une seule fois ? Merci d'avance. _________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Tu peux détruire le trigger si c'est un module solo.
Sinon, dans le script de Black Knight, le PJ se parle à lui même, donc effectivement le dialogue peut se lancer même si le PNJ n'est pas là. Si tu remplace : NWScript :
DelayCommand(GetDistanceBetween(oPC, oSpeaker), AssignCommand(oPC, ActionStartConversation(oPC, "dialogue", TRUE))); par : NWScript :
DelayCommand(GetDistanceBetween(oPC, oSpeaker), AssignCommand(oSpeaker, ActionStartConversation(oPC))); Là le dialogue ne se déclanchera plus si le PNJ n'est pas là (et lancera le dialogue par défaut du PNJ) Si c'est en multi, il faut placer une variable locale sur le trigger, avec le nom du PJ et son nom de compte par exemple,et faire un test dessus à l'entrée. |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Il se declenchera .... -_-
Fait juste une variable toute con... : NWScript :
void main() { object oPC = GetEnteringObject(); object oSpeaker = GetObjectByTag("Interaction"); if(GetLocalInt(oPC, "Conversation") == 0) { SetLocalInt(oPC, "Conversation", 1); AssignCommand(oSpeaker, ActionMoveToObject(oPC)); DelayCommand(GetDistanceBetween(oPC, oSpeaker), AssignCommand(oPC, ActionStartConversation(oPC, "dialogue", TRUE))); } else { return; } } Sith il ne faut pas oublier que ActionStartConversation et a partir du ObjectTo... Donc si tu met le oPC, alors il se declenchera ! De plus faudrais mettre le nom du dialogue... _________________ [http] |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Ah non je maintiens, là tu fais parler le joueur tout seul. C'est pratique dans certains cas, mais là c'est pas nécessaire.
Et tu ne dois préciser le dialogue que si il n'y a pas de dialogue de base ou si tu ne veux pas l'utiliser, pour un joueur il n'y en a pas, mais sur un PNJ tu peux le mettre directement à partir de l'éditeur. NWScript : // Starts a conversation with oObjectToConverseWith - this will cause their // OnDialog event to fire. /* lance une conversation AVEC oObjectToConverseWith */ // - oObjectToConverseWith // - sDialogResRef: If this is blank, the creature's own dialogue file will be used // - bPrivateConversation // Turn off bPlayHello if you don't want the initial greeting to play void ActionStartConversation(object oObjectToConverseWith, string sDialogResRef="", int bPrivateConversation=FALSE, int bPlayHello=TRUE) |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Et ? Quand on dit lancez une conversation avec quelqu'un ce n'est pas oblige que ce soit OBLIGATOIREMENT avec une personne et la c'est ce cas... Donc que le PNJ soit la ou pas, le dialogue se declenchera, j'ai deja teste plusieur fois et sa me le refait!
_________________ [http] |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
hello, totu ce passe bien maintenant grace à vous mais j'ai encore une petit problème, c'est que le PNJ se salue avant de commencer la discution avec le PJ.
Je m'explique (on va dire le le PNJ qui est une femme s'appelle Ginette), elle commence par dire : "Bonjour Ginette." (mais pas dans le dialogue, elle dit ça comme si j'avais mis ce texte sans dialogue, comme en "non-i,terruption"). Mais je n'ai pas coché la case "non-intérruption." Qu'est-ce qui se passe ? _________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Heu, une question la PNJ vas pas se dire "Bonjour Ginette" surtout si le PNJ s'appelle Ginette c'est pas logique... Et il doit etre possible de faire une phrase avec sa :
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. A mettre dans le OnConversation du PNj, je pense j'ai pas testé _________________ [http] |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
C'est la salutation de base qui joue c'est ça ?
Dans le ActionStartConversation, tu as un paramètre int bPlayHello à TRUE par défaut, définis le en FALSE et là le PNJ parle sans dire bonjour. en gros : NWScript : (c'est le dernier 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. |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
oki ben je vais essayer.
_________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
AZAZEL11 Seigneur Messages: 156 |
Tiens j'ai pour toi ici un script qui fait en sorte que c'est la créature qui commence la conversation (a mettre dans le onEnter du trigger)
NWScript : //auteur: Jonathan Boivin// // forcer un dialogue // //la creature entamme le dialogue quand le pj entre dans le trigger// void main() { object ocreature = GetObjectByTag("xxx"); //le tag de la creature// object oPC = GetEnteringObject(); object oSpeaker = GetObjectByTag("xxx"); //le tag du dialogue// AssignCommand(oSpeaker, ActionMoveToObject(oPC)); DelayCommand(GetDistanceBetween(oPC, oSpeaker), AssignCommand(ocreature, ActionStartConversation(oPC, "xxx", FALSE)));//le tag du dialogue// } _________________ L'imagination est plus importante que le savoir. (Albert Einstein) |
Revenir en haut | |
Kamu d'Ishtar Héros Messages: 281 Localisation: Citée des lumières d'Ishtar, Montagnes de Niork. |
Oki ben merci alors je vais essayer !!!
_________________ "Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar." |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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