
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 16/04/2025 09:01:36
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 |
Fantome Ecuyer Messages: 63 |
Bonsoir
![]() J’ai 2 questions concernant les dialogues : - la première concerne un dialogue situé dans une zone A, le pnjA donne une info au pj. Le pj quitte alors la zone A et se rend dans la zone B pour parler au pnjB. Le pnjB va parler différemment au pj selon que le pj aura ou pas eu l’info du pnjA de la zone A. Comment puis je mettre ce cas de figure en pratique ? - la seconde concerne un dialogue situé dans une zone A, le pnjA donne une info au pj. Le pj quitte alors la zone A et se rend dans la zone B. A ce moment, et parce que le pj a eu l’info du pnjA, un pnjC vient spontanément parler au pj. Comment puis je mettre ce cas de figure en pratique ? Merci ![]() |
Revenir en haut | ![]() ![]() ![]() |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Première chose : on dirait que tu as quelques problèmes avec les ' qui deviennent ’
![]() Deuxième chose : pour ta première question, deux possibilités : _Soit tu sais déjà comment faire pour qu'un pnjA dit une première fois par exemple 'bonjour' et la deuxième fois 'Ah te revoilà'. Dans ce cas, c'est tout simple : ça ne change absolument rien sauf que les conditions d'éxécution s'apliquent évidement au pnjB ![]() _Soit c'est pas le cas et alors je vais tenter d'être le plus clair possible ![]() ![]() Troisième chose : ben là ça dépend et c'est certainement plus dur ![]() ![]() _________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | ![]() ![]() ![]() |
Fantome Ecuyer Messages: 63 |
Merci Lavok pour tes réponses.
J ai bien assimilé la première. Et en plus ca fonctionne !!! ![]() J ai déja utilisé des zones de déclenchement et je crois savoir comment régler ma deuxième question. (c est en lisant ta réponse que celà m est apparu ![]() Mais je veux bien que tu m expliques ta méthode (en détail). a+ ![]() ps: si tu as un truc pour éviter mon pb d'apostrophe, n'hésite pas je suis preneur. |
Revenir en haut | ![]() ![]() ![]() |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Euh pour les apostrophes, je sais pas, c'est bizarre
![]() ![]() Code : void main() { object oPnjC = CreateObject(OBJECT_TYPE_CREATURE,"PnjC",GetLocation(OBJECT_SELF)); object oTarget = GetWaypointByTag ("WP_PnjC"); AssignCommand( oPnjC, JumpToObject( oTarget)); } Attention ! Le premier mot qui est entre guillemets représente le blueprint de pnjC ( tu dois aller voir dans ses propriétés de créature pour voir quel est ce blueprint ). Le deuxième est le nom du point de passage ( que tu peux créer dans la barre avec créatures, marchands, etc ) où tu souhaiterais que ton pnjC apparaisse. Tu peux aussi placer normalement ton pnjC et simplement définir des variables comme suit : si pnjA t'a parlé, alors pnjA=1. Si pnjA=1 alors pnjC donne son autre réplique ( comme avant ). Mais alors, tu devras mettre la condition aussi dans le prochain script ( pour que pnjC ne marche vers le joueur que si pnjA=1 ). Dans ce cas, simple copier-coller du script de condition d'éxécution ![]() ![]() ![]() Si, en plus, tu veux que ton pnjC parle spontanément à ton joueur, il faut placer par exemple un déclencheur inévitable qui aura dans ses propriétés à la ligne 'OnEnter' un script qui devrait ressembler à ceci : Code : void main() { object oPC = GetEnteringObject(); // Mettre le tag de votre perso object oNPC = GetNearestObjectByTag("PnjC"); // Trouvez le Npc. Il est peut etre mort.. if (GetIsObjectValid(oNPC)) { // verifie que le npc ne parle pas déjà à quelqu'un if (!IsInConversation(oNPC)) { // stop les actions en cours du Npc. AssignCommand(oNPC, ClearAllActions()); // Faire marcher le Npc vers le joueur. Si vous voulez que le npc court, changez la variable par true. AssignCommand(oNPC, ActionMoveToObject(oPC, TRUE)); // Pour que le Npc parle au joueur. AssignCommand(oNPC, ActionStartConversation(oPC)); } } // Si vous voulez que le script ne marche qu'une seule fois // placer la ligne en dessous en la mettant sans commentaire: //DestroyObject(OBJECT_SELF); } Attention ! Le mot entre guillemets fait référence au tag de la créature ( qui ne coresspond pas nécessairement au blueprint ). Comme noté, tu peux copier-coller "DestroyObject(OBJECT_SELF);" en dessous si tu veux que pnjC n'interpelle qu'une seule fois le joueur chaque fois qu'il marche sur le déclencheur. Bon, tu te rends bien compte que c'est déjà plus dur mais si tu veux essayer, rien ne t'en empêche, simplement, tu risques de te planter ![]() ![]() _________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | ![]() ![]() ![]() |


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