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:59:21
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 |
Manlight Novice Messages: 13 |
Bonjour,
J'explique : Lorsque qu'un PJ meurs, j'ai fait un script qui permet de déposer un objet à terre suivant son alignement. Maintenant, si un autre PJ ramasse cet objet, je voudrais que cet objet soit détruit s'il est du même alignement que le PJ mort Merci |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
J'ai pas très bien compris ce que tu souhaites faire mais si ça doit se déclencher lorsque le joueur ramasse l'objet, c'est dans OnAquireItem du module qu'il faut mettre ton script.
D'après ce que j'ai compris, il faut ensuite tester l'alignement du joueur qui aquire l'objet (avec le Lexicon et l'aide contextuel de l'éditeur) tu devrais pouvoir trouver. Pour connaître l'alignement du mort et bien dans ton script qui dépose l'objet, tu récupère l'objet du mort et tu le stockes dans une variable sur l'objet. _________________ 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 | |
Manlight Novice Messages: 13 |
Alors je réexplique :
J'ai ce script que j'ai réussi à faire : NWScript :
object oPC = GetEnteringObject(); object oTarget; location lTarget; oTarget = oPC; lTarget = GetLocation(oTarget); int iAlign = GetAlignmentGoodEvil(oPC); //regarde l'alignement if (iAlign == ALIGNMENT_GOOD) { CreateObject(OBJECT_TYPE_ITEM, "coeurdevivant", lTarget); } if (iAlign == ALIGNMENT_NEUTRAL) { CreateObject(OBJECT_TYPE_ITEM, "item", lTarget); } if (iAlign == ALIGNMENT_EVIL) { CreateObject(OBJECT_TYPE_ITEM, "item001", lTarget); } Ce script fait tomber l'objet que je veux par alignement. Mais ce que je veux faire, c'est si un alignement bon prend un objet de son alignement (ici : "coeurdevivant") je veux qu'il disparaisse de son inventaire. |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Et bien il faut faie ce que j'ai dit :
NWScript :
object oPC = GetEnteringObject(); object oTarget; location lTarget; oTarget = oPC; lTarget = GetLocation(oTarget); int iAlign = GetAlignmentGoodEvil(oPC); //regarde l'alignement if (iAlign == ALIGNMENT_GOOD) { CreateObject(OBJECT_TYPE_ITEM, "coeurdevivant", lTarget); // Ca stocke l'alignement du mort sur l'objet // Remarque ce que tu peux faire aussi c'est mettre cette valeur SetLocalInt(GetObjectByTag("Tag_du_coeurdevivant"), "vAlign", iAlign); } if (iAlign == ALIGNMENT_NEUTRAL) { CreateObject(OBJECT_TYPE_ITEM, "item", lTarget); SetLocalInt(GetObjectByTag("Tag_du_item"), "vAlign", iAlign); } if (iAlign == ALIGNMENT_EVIL) { CreateObject(OBJECT_TYPE_ITEM, "item001", lTarget); SetLocalInt(GetObjectByTag("Tag_du_item001"), "vAlign", iAlign); } Ensuite il faut géré le fait de ramasser l'objet (je crois qu'il y a un truc en version 1.65 qui fait qu'il suffit d'avoir un script qui porte le même nom que le tag (là si quelqu'un peut confirmer) Quoiqu'il en soit si ce n'est pas le cas, ce script tu lme mettras dans le OnAquire Item du modude : NWScript :
void main() { //objet aquis object oItem = GetModuleItemAcquired(); if ((GetTag(oItem) == "1er tag") || ((GetTag(oItem) == "2eme tag") || (GetTag(oItem) == "3eme tag") ) { object oPC = GetModuleItemAcquiredBy(); // alignement int iAlign = GetAlignmentGoodEvil(oPC); int vAlign = GetLocalInt(oItem, "vAlign"); if (iAlign == vAlign) { DestroyObject(oItem); } } /* warning: 1 unclosed block {} */ /* warning: 1 unclosed parenthesis () */ Voilà, en espérant que ça fonctionne _________________ 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 | |
Manlight Novice Messages: 13 |
C'est bon merci ca a marché.
Attention Laxam t'avait ouvert une parenthèse de trop, j'ai cherché un moment avant de comprendre pourquoi le vérificateur de jeter |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
désolé pour la parenthèse, j'ai fait le script sans l'editeur alors ça arrive...
Très bien si ça a répondu à ta question. _________________ 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 | |
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