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 17:34:22
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 |
Daschy Novice Messages: 5 |
Je débute avec Neverwinter mais je me marre bien à faire un module même si je trouvais RPG maker plus facile mais bon passons!...
Voilà mon blème, je veux que mes pnj soient assis, jusque là pas de problème sauf que chaque fois que un pj leur cause ces cons ils se lèvent. soit g un prob dans mon script soit je pige pas Le script vient d'un autre module, module dans lequel les pnj ne se lèvent pas quand on leur cause! soyez sympa, je débute et je suis pas un super scripteur donc... expliquez moi ça clairment afin que le tebé que je suis puisse comprendre sinon ça va? |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Salut, et bienvenu ici !
C'est normal que les PNJ se lèvent pour parler, c'est un script par défaut. Je CROIS qu'il existe un script pour les forcer à rester assis, je vais essayer de le retrouver mais je ne te promet rien... Sinon j'ai remarqué un truc : quand on déclenche une conversation par trigger, le PNJ reste assis, donc ça pourrait être une solution, un peu bancale, mais bon... _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
c parce que s'asseoir c'est considéré comme une action, parler aussi. Donc ils se lévent (logique)
La couille serait par exemple de faire un objet invisible pour parler au PNJ. _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Je crois que j'avais entendu parlé d'une astuce qui mettait le script pour s'asseoir dans le OnHeartBeat, comme ça le perso n'a pas le temps de se lever.
Mais je ne sais pas si ça n'interfère pas avec le dialogue par contre... _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Gorkk Site Admin Messages: 1768 Localisation: Ici et ailleurs |
L'autre solution, mais bon ce seraiit un gros boulot, ce serait de créer des PNJs assis sur leur chaise. Autrement dit un le "PNJ" serait en fait le PNJ + la chaise et serait un PNJ qui ne peut pas se déplacer. Mais il faudrait aussi lui mettre quelques animations en plus a priori, donc ce serait un travail assez éprouvant. Surtout si on veut faire ça pour plusieurs PNJs qui n'ont pas la même gueule
_________________ Sacred - FR - La Bibliothèque de Neverwinter - Titan Quest - FR Bloqué dans SoU ? La solution n'est pas loin... HotU vous pose des problèmes ? Une seule solution |
Revenir en haut | |
jon snow Novice Messages: 18 |
Ma solution, trouvé dans nw vault :
A mettre dans le onspawn du npc (pense a mettre une chaise avec le tag de ton choix, ici "chaise_bob" par default). Code : void main() { object oChaise; int nChaise = 1; oChaise = GetNearestObjectByTag("chaise_bob", OBJECT_SELF, nChaise); ClearAllActions(); ActionSit(oChaise); } Tu fais ton dialogue et a la fin, a la derniere replique du pnj, tu vas dans action conséquente et tu remet le meme script que plus haut pour que ton npc retourne s'assoir... ---------------------------------------------------------------------------------- Un autre mais pas testé .... On conversation Code : //:////////////////////////////////////////////// //:: SetListeningPatterns //:: NW_C2_DEFAULT4 //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////////////////////////// /* Determines the course of action to be taken by the generic script after dialogue or a shout is initiated. */ //:///////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Oct 24, 2001 //:///////////////////////////////////////////// //only use this modified version on a seated NPC that you wish to remain seated //while conversing with Players #include "NW_I0_GENERIC" void main() { int nMatch = GetListenPatternNumber(); object oShouter = GetLastSpeaker(); object oIntruder; if (nMatch == -1 && GetCommandable(OBJECT_SELF)) { ClearAllActions(); //This is the Added Text to Keep Your NPC Seated string sSeat = GetTag(OBJECT_SELF);//get tag of NPC object oSeat = GetObjectByTag ("TAGOFCHAIR");//tag of seat AssignCommand (OBJECT_SELF, ActionSit (oSeat)); // BeginConversation(); //NPC STAY SEATED WHILE I'M TALKING TO YOU ClearAllActions(); // } else if(nMatch != -1 && GetIsObjectValid(oShouter) && !GetIsPC(oShouter) && GetIsFriend(oShouter)) { if(nMatch == 4) { oIntruder = GetLocalObject(oShouter, "NW_BLOCKER_INTRUDER"); } else if (nMatch == 5) { oIntruder = GetLastHostileActor(oShouter); if(!GetIsObjectValid(oIntruder)) { oIntruder = GetAttemptedAttackTarget(); if(!GetIsObjectValid(oIntruder)) { oIntruder = GetAttemptedSpellTarget(); if(!GetIsObjectValid(oIntruder)) { oIntruder = OBJECT_INVALID; } } } } RespondToShout(oShouter, nMatch, oIntruder); } if(GetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT)) { SignalEvent(OBJECT_SELF, EventUserDefined(1004)); } } Edit de Gorkk : la prochaine fois que du mets des scripts dans tes codes, penses à utiliser les balises [ code ] et [ /code ] (sans espaces après [ et avant ] ), ça rend le script beaucoup plus lisible _________________ ...Jon Snow... "Dans la vie, il y a ceux qui ont un revolver chargé et ceux qui creusent. Alors, creuse!" Clint Eastwood dans "le Bon, la Brute et le Truand" de Sergio Leone |
Revenir en haut | |
Daschy Novice Messages: 5 |
bon et bien merci de votre rapidité d'action mais bon mes pnj ne veullent tjs pas s'assoir! pendant qu'on cause, ils sont assis c'est très bien, je leur cause... et ils se lèvent une fois la discution finie puis se rassoient... débile quoi! j'ai essayé vos script, et c'est pas mieux enfin peut être que je les utilisent pas de la bonne manière...
enfin mon module avence un peu car je commence à piger les script de discution, comment passer d'un discution à l'autre et ainsi de suite... Il me reste énormément à apprendre... et j'ai si peux de temps Je m'amuse comme un fou à adapter un de mes sénaris j'en suis à la fin de la première page lol... Si vous avez des conseil ou quoi que ce soit merci d'avance a+ |
Revenir en haut | |
Ak Darkster Grand Maître Chanteur du Conseil Messages: 1354 Localisation: canada |
Qu'ils se lèvent et se rassoient, tu pourrais faire comme si c'était une signe de politesse. Je dis ça comme ça.
_________________ On doit tous mourir un jour... mais pour moi, c'est pas demain la veille, alors sort tes armes sale dragon!!! |
Revenir en haut | |
KaG Légende vivante Messages: 445 Localisation: Rodez (12) |
essaies de placer celui-ci dans le "onconversation" du NPC :
Code : ////////////////////////////////////////////
//////////////////////////////////////////// ////// NPC - Sit and Talk ////// Causes NPC to sit and face in the ////// Direction of the chair while talking ////// to the PC. //////////////////////////////////////////// //////////////////////////////////////////// ////// Scripted by: Weeping Ashes ////// Date: July 1, 2002 ////// Scripting Time: 33hrs 14 mins ////// Is aware he is a newbie... //////////////////////////////////////////// //////////////////////////////////////////// ///// Make sure you have a sit command in ///// OnSpawn part of your NPC. Otherwise ///// This will make the NPC sit AFTER the ///// conversation. //////////////////////////////////////////// //////////////////////////////////////////// void main() { if(GetCommandable(OBJECT_SELF)){ //This sets the NPC as the speaker { BeginConversation(); //This starts the conversation script. } ClearAllActions(); // Clears the actions so the NPC will not follow you with his/her eyes int nChair = 1; object oChair; oChair = GetNearestObjectByTag("chair01", OBJECT_SELF, nChair); ActionSit(oChair); //Sits the NPC down } } je crois bien qu'il fonctionne _________________ Mon antre (et son module NWN) :ici! |
Revenir en haut | |
Jedaï Chevalier Messages: 89 Localisation: Le Havre, ville pourrie |
Je ne le répéterai jamais assez...
Supprimez les scripts de fin de conversation (dans l'onglet "Autre fichiers" de l'éditeur de conversation), depuis la 1.25 Bioware en rajoute par défaut et ça fout la m**** dans nos scripts... |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
D'après ce que je viens de voir il semblerait que maintenant avec le 1.27 on puisse discuter sans se lever !
Peut-être la solution à ton problème ? _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Daschy Novice Messages: 5 |
Et bien un grand merci, c'était tout con, merci Jet d'aïl il suffissait de sup toute anim...
je suis bien content, ça donne bien comme je veux maintenant... Allez j'y retourne à plus |
Revenir en haut | |
daedra Novice Messages: 17 |
Bonsoir,
Je viens de lire ce post qui correspond exactement a ma question sans pour autant y trouver ma solution. J'ai crée un PNJ qui s'assoi sur le on spawn. J'ai crée un dialogue en supprimant toutes les animations Je suis allé sur l'onglet fichier actuel et j'ai tout retiré. Dans le on conversation, j'ai mis cela : 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.
Malgrés cela mon PNJ se lève J'ai essayé de faire des ClearAllAction et des AssignCommand dans la queue du PNJ mais rien n'y fait. Pourrait on m'aider ? Merci d'avance _________________ Daedra |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
daedra a écrit : J'ai essayé de faire des ClearAllAction et des AssignCommand dans la queue du PNJ mais rien n'y fait. Oufffff ça doit faire mal
(désolé, j'ai pas pu résister ) _________________ » 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 | |
S@ntoS Seigneur Messages: 169 Localisation: J'aimerais bien le savoir. |
Allez, hop, "le club des sadiques" pour toi Finipe. [http] . Punition, ça t'apprendra.
_________________ L'oiseau vole, le serpent rampe et l'homme... heu, j'en sais rien. Le RP, cé vrémant tro z'injuste ! |
Revenir en haut | |
daedra Novice Messages: 17 |
Ah oui c'est vrai qu'avec du recule ma phrase peut avoir double sens mais c'était pas volontaire
Toujours est il que je n'ai toujours pas trouvé comment faire rester assis un PNJ quand je lui parle. Si quelqu'un connais un module sur le vault ou ailleurs ou un PNJ reste assis malgrés la conversation je me ferais une joie de décortiquer ce module. Merci d'avance Daedra _________________ Daedra |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Je crois qu'il y a ça dans "les lions diffamés" de Finipe non ? à moins que ce soit dans un autre 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 | |
daedra Novice Messages: 17 |
Merci Laxam
Je vais regarder cela dès que je serais à la maison ! _________________ Daedra |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Ah bon ? Y a ça dans le seul module que j'aie jamais pondu y a de ça 2 ans ? (je sais, chuis un feignant, mais mon scénar' et mes dialogues sont bétons )
_________________ » 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 | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
C'est pas dans ton module qu'on rencontre un gars qui reste assis sur un trône ? Il me semble que si mais c'est vrai que j'ai joué à pas mal de module et que je ne suis plus tout jeune alors.....
_________________ 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 | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Ah oui en effet, ptêt bien le roi qui reste assis quand on lui cause...
_________________ » 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 | |
daedra Novice Messages: 17 |
Bien je suis allé voir le module Laxam et j'ai trouvé dans une auberge des gens assis mais quand on leurs parlent, ils se deplacent en restant assis.
Enfin j'ai essayé une autre solution et ça marche. Je poste ici au cas ou cela interesserai quelqu'un histoire de lui éviter des longues heures de recherches. Dans le on conversation du PNJ 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. Dans le on spawn du PNJ NWScript :
void main() { object oChaise = GetObjectByTag("chaise_accueil_arcadie"); // tag de votre chaise ActionSit(oChaise); } Il ne vous reste plus qu'a faire un fichier dialogue pour le PNJ. Petite remarque : Votre PNJ ne peut plus utiliser ça que..e file d'attente d'action. Si il se fait attaquer par le PJ il ne bougera pas alors penser à mettre un script genre 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.
dans le script on damage du PNJ juste après la fonction main. Voila j'espère que cela sera utile à quelqu'un. _________________ Daedra |
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