
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 01/05/2025 10:30:39
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 |
omega Grand Chevalier ![]() Messages: 116 |
salut
Encore moi, et avec une question tres simple, sauf pour moi bien sur. Vola, j'ai des quetes basic du genre, "vas tuer les chiens et ramenes moi ses tetes", avec recompenses a la clef. Mais voila, dans d'autres modules, j'ai vu des quetes de ce genre qui enlevent tous les objets de la quetes, et qui accumule l'xp et l'or, pour les donner au pj. Et chez moi, ca marche pas (bien sur), le pj est obligué de repeter le dialogue pour chaque objets, et quand il y en a 10, ca commence a faire lourd. ![]() Comment on fait ? ![]() Merci a vous ![]() Omega, mais pas doué du tout ![]() |
Revenir en haut | ![]() ![]() ![]() |
Longbow Grand Sage du Conseil Messages: 638 Localisation: Orléans |
Hum, hum...
As-tu essayé l'assistant script dans l'éditeur de dialogue (petit chapeau rouge) ? _________________ Rex illeteratus Quasi Asinus Coronatus Jean de Salisbury |
Revenir en haut | ![]() ![]() ![]() ![]() |
Archéops Ecuyer ![]() Messages: 55 |
Salut,
Si ce que tu veux faire, c'est enlever tout les objets qui ont le même tag d'un inventaire d'un pj et lui donner une récompense en fonction du nombre d'objets qu'il a raporté, alors il faut que tu fasses une boucle avec while comme ceci : NWScript :
object oPC = GetPCSpeaker(); object oItem = GetFirstItemInInventory(oPC); void main() { while (oItem != OBJECT_INVALID) { if (GetTag(oItem) =="Tag de l'objet") { GiveGoldToCreature(oPC,10); DestroyObject(oItem); } oItem = GetNextItemInInventory(oPC); } } On peux le faire de façon plus "joli" en mettant un compteur dans la boucle et en donnant tout les po d'un coup à la fin. Ce qui donne (je n'ai pas testé cette solution mais bon..) : NWScript : object oPC = GetPCSpeaker(); object oItem = GetFirstItemInInventory(oPC); int iObjet=0; void main() { while (oItem != OBJECT_INVALID) { if (GetTag(oItem) =="Tag de l'objet") { int iObjet=iObjet+1; DestroyObject(oItem); } oItem = GetNextItemInInventory(oPC); } GiveGoldToCreature(oPC,10*iObjet); } |
Revenir en haut | ![]() ![]() ![]() |


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