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 18:00:33
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 |
ptolemee Ecuyer Messages: 42 |
Voilà,
je souhaiterais qu'à la mort d'un monstre, un enfant sorte de sa cachette et vienne vers le NPC qui vient de tuer le Monstre. je met cela dans le Ondeath du monstre. NWScript :
void main() { object oNPC = GetNearestObjectByTag("tong"); object oPC = GetLastKiller (); if (GetIsObjectValid(oNPC)) if (!IsInConversation(oNPC)) AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionMoveToObject(oPC, FALSE)); AssignCommand(oNPC, ActionStartConversation(oPC)); } Avez-vous une idée ? Suis-je loin de la solution ? merci |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Enlève les deux 'if'. Non seulement, ils ne servent à rien ici mais en plus, ils n'ont pas de {}.
La cachette de l'enfant est-elle une autre zone ? Ou apparaît-il ? Si c'est un de ces deux cas, ton script n'y est pas adapté. Sinon, tout est presque correct. Disons qu'à ta place, j'aurais mis un GetFirstPC() au lieu d'un GetLastKiller() (il ne reprend pas toujours le joueur), mais bon... Sauf s'il s'agit d'un module multijoueur. Et puis, il me semblerait plus logique que l'enfant vienne parler au pc en courant. Donc, de mettre un TRUE au lieu du FALSE dans le ActionMoveToObject(). _________________ 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 | |
ptolemee Ecuyer Messages: 42 |
Merci pour tes conseils.
voici donc le code remanié NWScript :
void main() { object oNPC = GetNearestObjectByTag("tong"); object oPC = GetFirstPC (); (GetIsObjectValid(oNPC)); (!IsInConversation(oNPC)); AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionMoveToObject(oPC, TRUE)); AssignCommand(oNPC, ActionStartConversation(oPC)); } pourtant rien ne change....en fait l'idée est de faire croire que tant que le loup n'est pas tué, le petit reste dans un recoin de la pièce. Une fois tué, il sort et vient remercier le PC. Mais bon, il ne bouge pas le vilain.. merci [Edit de Lendraste : utiliser de préférence la balise [nwscript] au lieu de [code] pour présenter les script. merci] |
Revenir en haut | |
k0rvet Ecuyer Messages: 67 |
Ca devrait donner un truc du genre (toujours dans le OnDeath du streum):
NWScript :
void main(); { object oNPC = GetObjectByTag("TAG_DU_NPC"); // On stocke dans "oPC" le tueur du monstre. object oPC = GetLastKiller(); if(GetIsPC(oPC) && !IsInConversation(oNPC)) { AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionMoveToObject(oPC, TRUE)); AssignCommand(oNPC, ActionStartConversation(oPC)); } } J'ai pas NWN sous le coude, mais y a pas de raison que ca marche pas. : [edit]: Rectification du script suite à la remarque de YellowSubmarine _________________ Moi j'dis ca, mais bon j'dis rien hein? ..:: Les Chroniques de la Terre du Milieu ::.. Dernière édition par k0rvet le 03/12/2003 17:02:28; édité 1 fois
|
Revenir en haut | |
yellow submarine Grand Chevalier Messages: 143 |
salut
le OBJECT_SELF de GetLastKiller(OBJECT_SELF); est en trop GetLastKiller(); suffit si c'est dans le OnDeath du monstre amicalement |
Revenir en haut | |
ptolemee Ecuyer Messages: 42 |
Merci pour votre aide, cela fonctionne maintenant mais qui pourrait me dire la différence entre le dernier script edité et mon premier car là je sèche un peu...
|
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
ptolemee a écrit : NWScript : //(...) if (GetIsObjectValid(oNPC)) if (!IsInConversation(oNPC)) AssignCommand(oNPC, ClearAllActions()); //pas de ; apres //pas de { avant le assignCommand //(...) ptolemee a écrit : 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. k0rvet a écrit : NWScript : //(...) if(GetIsPC(oPC) && !IsInConversation(oNPC)) { AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionMoveToObject(oPC, TRUE)); AssignCommand(oNPC, ActionStartConversation(oPC)); } //les assignCommand sont entre {} //(...) NWScript :
if (quelque chose) { Les actions à faire quand les condition du if sont vérifiés } C'est pas évident à expliquer comme ça! J'espère avoir été clair... _________________ 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 | |
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