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 19:37:44
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 |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Posté le : 06/08/2004 00:11:04 Sujet du message : Comment faire pour qu'un pnj s'arrête de vous attaquer?
Bonjour, je voudrais savoir comment scripter le fait qu'un PNJ m'attaque lors d'une conversation, mais que les PNJ à coté ne se mettent pas à m'attaquer aussi. (sans passer par le changement de faction...)
Et aussi bien entendu, quand on lui a fait perdre un certain nombre de points de vie, il se rend, donc redevient neutre et entame la conversation... Dans le cas échéant, si c'est lui qui gagne comment faire pour que le PJ ne meure pas... Par exemple le PNJ ne fait que l'assommer? J'ai pensé à un on heart beat, mais en 6 secondes il peut se passer beaucoup de choses! lol |
Revenir en haut | |
Blackblood Chevalier Messages: 80 Localisation: France |
J'ai essayé de te faire un script sans garanti de succès.
Il faut le placer dans la conversation. ce qui se passe c'est que le NPC attaque le joueur. Mon doute pour le fonctionnement de ce script est qur les conditions. Si les points de vie du NPC sont inférieur à 20 il arrête le combat, idem pour le joueur. Le soucis c'est qu'il ne regarde ces données qu'une fois, l'idale serait de vérifier les HP en boucle jusqu'à ce que les HP du NPC ou du joueur sont égal à 20. Mais n'étant pas doué pour cela, je laisse la main aux spécialistes. Voici quand même mes travaux : NWScript : #include "nw_i0_generic" /* Script generated by Lilac Soul's NWN Script Generator, v. 1.6 For download info, please visit: http://www.lilacsoul.revilit y.com */ //Put this on action taken in the conversation editor void main() { object oPC = GetPCSpeaker(); /// le NPC attaque le PC dans une conversation object oTarget; oTarget = OBJECT_SELF; SetIsTemporaryEnemy(oPC, oTarget); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); int nInt; nInt=GetLocalInt(oPC, GetCurrentHitPoints("Tag_du_NPC")); if (nInt <= 20) { oTarget = GetObjectByTag("Tag_du_NPC"); AssignCommand(oTarget, ClearAllActions()); AssignCommand(oTarget, ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE, 1.0f, 15.0f)); AssignCommand(GetObjectByTag("Tag_du_NPC"), ActionSpeakString("")); } nInt=GetLocalInt(oPC, GetCurrentHitPoints(oPC)); else if (nInt <= 20) { oTarget = GetObjectByTag("Tag_du_NPC"); AssignCommand(oTarget, ClearAllActions()); } } |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Pour éviter que les autres NPC t'attaque il faut à mon avis faire changer ton NPC de faction (une faction hostile au PJ mais pas à la faction des autres NPC) et une fois que le combat s'arrête tu le remets dans sa faction de départ. C'est un peu tiré par les cheveux mais ça doit marcher !! Peut-être d'autres auront une autre idée.
Pour faire stopper le combat moi j'ai utilisé le script suivant mis dans le OnDamage du NPC (avec l'aide de Longbox) : NWScript :
#include "NW_I0_GENERIC" #include "nw_i0_plot" void main() { int iDommage = 30; object oPC = GetNearestCreature ( CREATURE_TYPE_PLAYER_CHAR , PLAYER_CHAR_IS_PC ); if ( (GetPercentageHPLoss( OBJECT_SELF ) <= iDommage ) { SurrenderToEnemies (); AdjustReputation ( oPC, OBJECT_SELF, 0 ); DelayCommand(2.0, ActionStartConversation(oPC,"bp_vbp_tald2")); } } /* warning: 1 unclosed parenthesis () */ Pour vérifier le PV du PJ, peut-être dans le OnHeartBeat de ton NPC... un truc similaire à ce script. Voilà. _________________ 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 |
Pour qu'un pnj arrete d'attaquer et entame la conversation aprés avoir été endommagé j'ai une solution:
En fait c'est un truc tout béte mais qui marche! Il faut ouvrir le module de campagne NWN ( chapitre 3 ) et recherche dans les créatures personnalisées un certain "Vaath" ( un chef orque ). Quant vous l'avez trouvé dans la palette, il faut l'exporter. Ensuite, fermer ce module et ouvrez le votre. Importer "Vaath" dans votre palette et allez voir ces propriétés. Sauvegarder le set de script. Créez votre propre pnj. Charger le même set de script que "Vaath" et attibuez à votre pnj le même dialogue que "Vaath". Bien sur renommer ce dialogue et changer les phrases. L'effet que sa donne: Le pnj cour vers le pj en disant une phrase du genre: "Que faite vous sur mon territoire" et vous attaque. Ensuite quant le pnj atteint le staus "agonisant" il s'arrette de se battre et redevient neutre ( une phrase apparait au dessus de sa tête genre "Ne me frappez plus vous avez gagné". A partir de ce moment on peur engager la conversation normalement. Voilà pour ton cas j'aurai fait ça et je me serai pas embété avec les faction j'aurai crée une faction neutre pour les gars qui ne doivent pas attaquer le pj. _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
@ blackblood : j'ai trouvé le moyen de lancer ce le script de test, je l'ai mis dans le ondamaged et oncombatroundend du PNJ.
@ Laxam : oui j'ai essayé ton script et je l'ai un peu modifié, mais c'est normal que le PNJ devient vert après et non pas blanc? (enfin quand je dis vert c'est qu'il est carrément amical avec le PJ et non plus neutre...) @ Jaheira : merci! Le truc c'est que ce script ne teste que les HP du PNJ et moi je voudrais qu'il teste aussi celui du PJ... Ben en tous cas merci à tous, mon script marche à peu près, sauf que j'ai encore un ptit problème avec le PNJ qui devient amical (donc on peut plus l'attaquer) après le combat mais à part ca c'est tout... |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Le fait que le NPC devient amical doit venir du
AdjustReputation ( oPC, OBJECT_SELF, 0 ); peut-être qu'en ne mettant pas 0 mais un autre chiffre que ça marcherait mieux.... Sinon à la fin de ton dialogue, tu peux mettre un truc du genre "ataquer le NPC" et de mettre un script qui fait repasser le NPC à hostile... _________________ 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 | |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Non non c'est très bien qu'il soit neutre à la fin de la bagarre! Sinon bon je vais essayer de changer ce nombre, mais je pense que ca peut venir du SurrendertoEnnemies() aussi non?
|
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Ben j'avoue que j'en sais rien du tout !! Il faut peut-être regarder dans la doc du Lexicon s'ils disent quelque chose là dessus...
_________________ 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 | |
Télépathe Novice Messages: 19 |
Bonjour à tous
Je suis très intéressé par la réponse de Jaheira 007 Jaheira 007 a écrit : En fait c'est un truc tout béte mais qui marche! Il faut ouvrir le module de campagne NWN ( chapitre 3 ) et recherche dans les créatures personnalisées un certain "Vaath" ( un chef orque ). Quant vous l'avez trouvé dans la palette, il faut l'exporter. Voici peut-être une question à réponse facile :
Si ce fichier est celui qui se trouve dans le répertoire NWN, comment fait-on pour ouvrir ce module ? Merci d'avance |
Revenir en haut | |
grosraoul Ecuyer Messages: 60 |
ben je dois pas bien comprendre votre probleme mais ca a l'air simple non ?
tu prends le module qui est dans le dossier nwn , tu en mets une copie dans le dossier module, tu l'ouvre avec l'editeur , tu choppes la créature waath dans la palette ,click droit dessus , tu l'exportes (avec sa conversation et ses scripts), il va te créer un fichier .erf , tu ouvres ton module et tu y importes le .erf . non ? |
Revenir en haut | |
Télépathe Novice Messages: 19 |
Le seul fichier que je trouve est NWN/nwm/Chapter3.nwm .
Ce fichier mis dans NWN/modules n'apparaît pas dans l'éditeur. |
Revenir en haut | |
grosraoul Ecuyer Messages: 60 |
oui c'est normal il nereconnait que les .mod je pense , il faut que tu le renommes : de l'extension .nwn en extension .mod
|
Revenir en haut | |
CryinG.FreeM4n Acolyte Messages: 20 |
Pas besoin de faire une copie du fichier et de renommer l'estenxion ensuite. Il suffit de faire "ouvrir" et de selectionner "modules campagne" au lieu de "modules normaux". Et il n'y a aucun risque de les modifier par erreur, ils sont protégés en écriture...
|
Revenir en haut | |
grosraoul Ecuyer Messages: 60 |
oui mais ils n'apparaissent pas tous . je ne sais pas pourquoi . je me demande si il ne faut pas les avoir fini en jeu, pour y avoir accés.
|
Revenir en haut | |
Heldar Seigneur Messages: 169 Localisation: France |
si c'est ça.
_________________ Heldar qui tue tous les monstres du soir. |
Revenir en haut | |
Morcar Ecuyer Messages: 42 Localisation: Vannes |
|
Revenir en haut | |
grosraoul Ecuyer Messages: 60 |
c'est peut etre parce que tu as raté ce petit bouton a cocher dans l'ouverture d'un module
Citation : Pas besoin de faire une copie du fichier et de renommer l'estenxion ensuite. Il suffit de faire "ouvrir" et de selectionner "modules campagne" au lieu de "modules normaux". Et il n'y a aucun risque de les modifier par erreur, ils sont protégés en écriture... |
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