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 21:45: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 |
Jaheira 007 Seigneur Messages: 223 |
Voilà dans mon auberge: L'anguille Crevée, y a pleins de pnj... debouts... c'est pas top top. Ils sont devant les tables mais c'est pas trés joli joli.
Bref, dans la campagne solo je me rapelle avoir vu des clients d'une auberge assis sur leur chaise et se lever pour discuter avec le PJ et se rassoir ensuite. Je crois que c'était dans l'auberge miteuse dans le quartiers des docks. Comment fait-on pour faire ça? |
Revenir en haut | |
Fantome Ecuyer Messages: 63 |
|
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
c'est tres simple, il suffit de mettre ce script dans le OnHeartBeat de ton PNJ :
NWScript : void main() { object oChair = GetNearestObjectByTag( "Tag_de_ta_chaise" ); if ( ( !IsInConversation( OBJECT_SELF ) ) && ( GetIsObjectValid( oChair ) ) ) ActionSit( oChair ); } _________________ ... |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Pour tes NPC, il y a beaucoup mieux que tous les scripts qu'on pourrait te donner, il y a le NPC Activities, c'est tout un set de script qui a été développé et qui te permet de donner de la vie à tes NPC en parametrant des waypoint. Pour voir comment ça marche, c'est simple, va voir sur mon site (lien dasn ma signature). Tu pourras faire dormir, assoir, manger, parler, chanter,... tes PNJ...
_________________ 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 | |
Jaheira 007 Seigneur Messages: 223 |
Je vous remercie tous! Mon auberge ressemble plus à quelque chose grace à vous!
Puis-je vous demander autre chose? Comment fait-on pour qu'un pnj ( dans une auberge par exemple ), boive un coup tout les X secondes? |
Revenir en haut | |
Mars Seigneur Messages: 199 |
Il faudrait mettre un script dans le OnHeartBeat de ton pnj mais fais attention a ne pas en abuser parceque le OnHeartBeat se déclenche toutes les six secondes il me semble et trop de script déclenché tres souvent risque de saturer ton module.
|
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Hummm... je m'en serais douté qu'il faut mettre un script dans le OnHeartBeat mais ce n'était pas ça que je demandai. Vu je je n'y connais rien en scriptage, je demandai précisément LE script pour faire ça.
|
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
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. _________________ ... |
Revenir en haut | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
hum, hum...
Un autre problème du HB: si le joueur veut converser avec le PNJ, au bout de 6 secondes, il me semble que la conversation est stoppée brutalement et l'animation repart... Pour un alcolo... ok, mais ce n'est pas très propre... et frustrant pour le joueur. |
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
Dan ce cas-la il suffit de mettre :
NWScript : void main() { if ( !IsInConversation( OBJECT_SELF ) ) { ClearAllActions(); ActionPlayAnimation( ANIMATION_FIREFORGET_DRINK ); } } _________________ ... |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
ou encore mieux, utiliser le NPC Activities... C'est d'ailleurs curieux que Longbow ne le dise pas, lui l'inconditionnel du NPC Activities
_________________ 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 | |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
Hum, hum...
Effectivement, ca me démange... Mais Jaheira avoue être totalement novice en scripting et j'ai peur de l'effrayer.. même si une fois encore, c'est vraiment simplisisme... surtout avec ta traduction ! _________________ Rex illeteratus Quasi Asinus Coronatus Jean de Salisbury |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
En effet quant tu dis "NPC" je sais même pas de quoi tu veux parler alors...
NPC = Ne Peut Comprendre, c'est ça non? |
Revenir en haut | |
Klemmth Seigneur Messages: 176 Localisation: france |
Juste pour info :
NPC = Non Player Charachter _________________ ... |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Ah ouiiiiiiii!! c'est comme PNJ en fait! J'aurais dû le savoir ça! Je suis pas blonde pourtant...
Bref, j'ai un peu regarder le script et je viens de m'appercevoir que je peut changer les actions grace aux "constantes" en haut à droite de l'éditeur de script: ANIMATION_LOOPING ou ANIMATION_FIREFORGET... Mes tavernes et villes sont un peu plus animées maintenant! J'en apprends des choses avec vous! |
Revenir en haut | |
Deekin Acolyte Messages: 32 |
Salut tout le monde,
Si j'ai à peu près compris comment faire s'asseoir un PNJ, j'ignore en revanche de quelle manière le faire apparaître déjà assis au lancement de la zone. Je suppose que je dois placer un script dans la case "OnEnter" de la zone en question ; mais ensuite, j'en fais quoi ? J'ai, bien entendu, mon PNJ et la chaise sur laquelle je voudrais l'installer. J'en déduis qu'il me faut les tags du PNJ et de la chaise. Après, je suis dans le brouillard, les limbes, je pédale dans les volutes de l'ignorance. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
En théorie, suffit de mettre le script (ActionPlayAnim...etc...) dans le OnSpawn du perso o,O
_________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Konrad Grand Maître Chanteur du Conseil Messages: 1258 Localisation: Empire d'Halöven |
C'est bien avec les questions de Jaheira 007 ont révise tout les scripts de bases
J'étais justement entrain de faire une auberge ça tombe bien _________________ Le site du Module Dragon Noir Le groupe du Module L5A - L'ombre et la Lumière Crimson Skies |
Revenir en haut | |
Deekin Acolyte Messages: 32 |
Si, si, il y a une nuance . La preuve, je ne sais toujours pas quoi faire avec mon PNJ que je veux voir assis au lancement de la zone . D'accord, Kiky me dit :
Citation : En théorie, suffit de mettre le script (ActionPlayAnim...etc...) dans le OnSpawn du perso o,O Et pour moi, voilà ce que ça signifie : c'est du Jupitérien et antique, en plus .
Alors, pour le moment, dans la case "OnHeartBeat" de mon pauvre PNJ, j'ai mis le script de Nasher ("La chambre du rituel" de la campagne officielle de NWN) mais l'effet produit n'est pas celui que j'espérais puisque le personnage s'asseoit, se relève pour parler avec le PJ et retourne s'asseoir. Pour mémoire, voilà le script : NWScript :
////////////////////////////// /////////////////// // NW_C2_SITTING.nss // Copyright (c) 2001 Bioware Corp. ////////////////////////////// ////////////////// /* Will make the NPC sit down */ ////////////////////////////// ////////////////// // Created By: // Created On: ////////////////////////////// ////////////////// void main() { // ActionPlayAnimation(ANIMATION_ LOOPING_SIT_CHAIR,1.0,5000.0); // * do not do this if already sitting // * May 2002 (Brent): Don't do this if I am in combat or conversation if (!GetIsInCombat() && !IsInConversation(OBJECT_SELF)) if (GetCurrentAction() != ACTION_SIT) { ClearAllActions(); int i = 1; // * find first free chair object oChair = GetNearestObjectByTag("tag de la chaise", OBJECT_SELF,i); int bFoundChair = FALSE; while (bFoundChair == FALSE && GetIsObjectValid(oChair) == TRUE) { // * This chair is free if (GetIsObjectValid(GetSittingCreature(oChair)) == FALSE) { bFoundChair = TRUE; ActionSit(oChair); } else { i++; oChair = GetNearestObjectByTag("tag de la chaise", OBJECT_SELF,i); } } if (bFoundChair == FALSE) { // SpeakString("This sucks I have no place to sit"); ClearAllActions(); ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD); } } } Moi, je suis moins exigeant ; je voudrais juste que le PNJ se lève, dialogue et retourne s'asseoir. Et ça, je le fais comment ? Oui, je sais, je suis le roi des neuneus... |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Ben en fait la réponse est toujours la même, le NPC Activities qui fait tout... Je sais, moi aussi je me disais à chaque fois que Longbow me répondait ça : "Il est bien gentil mais j'en ai rien à faire de son NPC Activities, je veux juste une réponse clair et simple". Mais depuis que je m'y suis mis et bien tout est plus simple, faire assoir un NPC, le faire dormir, le faire dire une phrase (ou plusieurs), le faire chanter... il n'y a presque plus rien à faire alors ça vaut vraiment le coup de s'y mettre, surtout depuis qu'il y a une super traduction en ligne (voir ma signature)..
_________________ 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 | |
Deekin Acolyte Messages: 32 |
Merci Laxam. Bon, ben, j'vais p't'être y aller, moi, là...
(Beaucoup plus tard dans la soirée) A y est ! En effet, les "NPC Activities" sont sympa mais... si j'ai bien compris, ils fonctionnent avec des "waypoints". Donc, je ne sais toujours pas comment placer un PNJ sur une chaise directement, sans le faire s'asseoir . |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Heu, tu voulais dire pour faire assoir le NPC non ?
Et biena avec le NPC Activities, tu mets les script qui vont bien dans les événements lié au NPC (voir doc), tu places ton NPC vers la chaise, et tu mets un WP avec en tag qui va bien (voir doc) et tu utilises la fonction SIT du NPC Activities... c'est sûr je suis pas très précis mais tout est dans la doc en français, 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 | |
Deekin Acolyte Messages: 32 |
Pour être aussi précis que possible je voudrais que lorsque le PJ entre dans la zone, le PNJ soit déjà assis sur sa chaise. Je veux donc éviter de voir l'animation. Mais j'ai cru lire dans un vieux sujet de ce forum que la manoeuvre est complexe pour obtenir le résultat que je recherche. Donc, j'en reste au script par défaut "NW_SITTING.nss" (ou quelque chose du genre). A trop vouloir être pointilleux, je vais finir par devenir pénible et ce serait dommage.
Quoiqu'il en soit, je te remercie pour ton aide . |
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