La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 22/09/2024 04:21:36


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
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 Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Blackblood
Chevalier
Inscrit le: 20 Juil 2004
Messages: 80
Localisation: France
Répondre en citant
Posté le : 06/08/2004 13:34:51 Sujet du message :

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());

  }
}
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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 06/08/2004 16:53:24 Sujet du message :

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 () */
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.


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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Jaheira 007
Seigneur
Inscrit le: 24 Juin 2004
Messages: 223
Répondre en citant
Posté le : 06/08/2004 19:41:52 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 09/08/2004 00:54:01 Sujet du message :

@ blackblood : j'ai trouvé le moyen de lancer ce le script de test, je l'ai mis dans le ondamaged et oncombatroundend du PNJ. Very Happy

@ 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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 09/08/2004 12:01:05 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 09/08/2004 17:13:13 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Laxam
Légende vivante
Inscrit le: 12 Avr 2004
Messages: 425
Localisation: Lyon
Répondre en citant
Posté le : 09/08/2004 20:28:49 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Télépathe
Novice
Inscrit le: 24 Juil 2004
Messages: 19
Répondre en citant
Posté le : 12/09/2004 17:59:13 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
grosraoul
Ecuyer
Inscrit le: 10 Sep 2004
Messages: 60
Répondre en citant
Posté le : 12/09/2004 18:52:03 Sujet du message :

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 ?Confused
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Télépathe
Novice
Inscrit le: 24 Juil 2004
Messages: 19
Répondre en citant
Posté le : 12/09/2004 19:47:49 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
grosraoul
Ecuyer
Inscrit le: 10 Sep 2004
Messages: 60
Répondre en citant
Posté le : 12/09/2004 20:57:31 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
CryinG.FreeM4n
Acolyte
Inscrit le: 28 Aoû 2004
Messages: 20
Répondre en citant
Posté le : 12/09/2004 22:15:34 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
grosraoul
Ecuyer
Inscrit le: 10 Sep 2004
Messages: 60
Répondre en citant
Posté le : 12/09/2004 23:17:59 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Heldar
Seigneur
Inscrit le: 09 Sep 2004
Messages: 169
Localisation: France
Répondre en citant
Posté le : 13/09/2004 18:28:05 Sujet du message :

si c'est ça.
_________________
Heldar qui tue tous les monstres du soir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Morcar
Ecuyer
Inscrit le: 16 Sep 2004
Messages: 42
Localisation: Vannes
Répondre en citant
Posté le : 16/09/2004 18:06:55 Sujet du message :

Hein ?!
Ben j'ai terminé le jeu depuis longtemps, et JAMAIS je n'ai eut accès à ces modules dans l'éditeur...
Je vois pas où j'ai pu manquer quelque chose...
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
grosraoul
Ecuyer
Inscrit le: 10 Sep 2004
Messages: 60
Répondre en citant
Posté le : 16/09/2004 18:50:40 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Montrer les messages depuis :
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


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 58.75ms