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 17:40:23
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 |
Le Blaireau Chevalier Messages: 71 |
Salut à tous...
J'ai un petit problème avec l'action conséquente dans un de mes dialogues... Mon PNJ doit prendre un objet dans l'inventaire du joueur (pierre de rappel). Jusque là, ça va.... Mon problème c'est que si le joueur a plusieurs pierre de rappel.. Il n'en perd qu'une... Je voudrais que le PNJ les retire toutes.... Est-ce possible? |
Revenir en haut | |
Raudgers Ecuyer Messages: 46 Localisation: En furtif à coter de toi... |
Oui, c'est possible, remplace ton scrypt par celuici :
NWScript :
void main() { object oPC = GetPCSpeaker(); object oItem = GetFirstItemInInventory(oPC); int iNum = 0; while (GetIsObjectValid(oItem)) { string sItem = GetTag(oItem); if (sItem == "LE TAG DE TON ITEM" && iNum < 500) { DestroyObject(oItem); iNum ++; } oItem = GetNextItemInInventory(oPC); } } Tu remplace LE TAG DE TON ITEM par le tag de ta piere de rapel comme tu t'en dout Ce script en prend jusqu'a 500 si il en as plus ca n' en prendra que 500, mais bon je ne pense pas que ce cas la ce produira. _________________ I need your help.Give light to me please. J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît. |
Revenir en haut | |
Le Blaireau Chevalier Messages: 71 |
Salut...
Merci ton script marche impec.. Le seul problème que j'ai maintenant, c'est que j'ai oublié de dire que... y a 3 pierres de rappel différentes à retirer... J'ai essayé de modifier ton script moi-même, mais ça n'a pas fonctionné... tu peux m'aider s.v.p ? |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
voilà
NWScript :
void main() { object oPC = GetPCSpeaker(); object oItem = GetFirstItemInInventory(oPC); int iNum = 0; while (GetIsObjectValid(oItem)) { string sItem = GetTag(oItem); if (sItem == "LE TAG DE TON ITEM" || sItem == "LE TAG DE TON DEUXIEME ITEM" || sItem == "LE TAG DE TON TROISIEME ITEM") { DestroyObject(oItem); iNum ++; } oItem = GetNextItemInInventory(oPC); } } Je crois que ça devrait aller |
Revenir en haut | |
Raudgers Ecuyer Messages: 46 Localisation: En furtif à coter de toi... |
Ailesnoires a réagit avant moi, je n'ai pas tester sont scryit mais en le regardant, il ne devrait y avoir aucun probleme avec.
_________________ I need your help.Give light to me please. J'ai besoin de votre aide. Donnez-moi la lumière s'il vous plaît. |
Revenir en haut | |
trenim Ecuyer Messages: 64 Localisation: DANS TON C** !!!! |
Et pour, en plus, recompenser le perso en or XP ou autre, il faut rajouter quoi ?
_________________ ON EST DES MARINES !! ON EST NAIT POUR TUER !! C'EST QUOI NOTRE METIER ? TUER TUER TUER !!! |
Revenir en haut | |
Elandil2 Chevalier Messages: 97 Localisation: sur mon ordi loir-et-cher |
NWScript :
void main() { object oPC = GetPCSpeaker(); object oItem = GetFirstItemInInventory(oPC); int iNum = 0; int iOR = 100;//remplace 100 par le nombre de po que tu veux donner int iXP = 100;//remplace 100 par le nombre d'xp que tu veux donner while (GetIsObjectValid(oItem)) { string sItem = GetTag(oItem); if (sItem == "LE TAG DE TON ITEM" || sItem == "LE TAG DE TON DEUXIEME ITEM" || sItem == "LE TAG DE TON TROISIEME ITEM") { DestroyObject(oItem); iNum ++; } oItem = GetNextItemInInventory(oPC); } GiveGoldToCreature(oPC,iOR); GiveXPToCreature(oPC,iXP); } Voila ! _________________ Rejoignez nous sur notre forum Aelor, module en construction Vive Gimli |
Revenir en haut | |
trenim Ecuyer Messages: 64 Localisation: DANS TON C** !!!! |
Merci, Ô toiQuiSais
_________________ ON EST DES MARINES !! ON EST NAIT POUR TUER !! C'EST QUOI NOTRE METIER ? TUER TUER TUER !!! |
Revenir en haut | |
Léviathan Grand Sage du Conseil Messages: 671 Localisation: Sigil |
Hum... Là le iNum ne sert plus à rien.
NWScript :
void main() { object oPC = GetPCSpeaker(); object oItem = GetFirstItemInInventory(oPC); int iNum = 0; int iOR = 100;//remplace 100 par le nombre de po que tu veux donner int iXP = 100;//remplace 100 par le nombre d'xp que tu veux donner while (GetIsObjectValid(oItem)) { string sItem = GetTag(oItem); if ((sItem == "LE TAG DE TON ITEM" || sItem == "LE TAG DE TON DEUXIEME ITEM" || sItem == "LE TAG DE TON TROISIEME ITEM") && iNum < 500) { DestroyObject(oItem); iNum ++; } oItem = GetNextItemInInventory(oPC); } GiveGoldToCreature(oPC,iOR); GiveXPToCreature(oPC,iXP); } _________________ Forum Planescape NWN |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Autant le virer totalement je trouve qu'il ne sert strictement à rien (chacun son optique).
_________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Léviathan Grand Sage du Conseil Messages: 671 Localisation: Sigil |
Bah, c'est une sécurité.
N'importe quel informaticien te dira qu'il faut toujours laisser une condition de sorti à une boucle While, mais bon, là c'est vrai que ça ne se justifie pas trop. Où si on le vire, ça ne sert à rien non plus de déclarer et d'initialiser iNum, dans ce compte là (int iNum = 0, comme ça ne sert à rien d'incrémenter un compteur (iNum ++. Bref, dons mon optique, soit on laisse tout, soit on vire tou, mais on laisse pas des variables non utilisés dans un script. _________________ Forum Planescape NWN |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
C'est ce que je disais, autant virer TOTALEMENT
_________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Léviathan Grand Sage du Conseil Messages: 671 Localisation: Sigil |
Bah, c'est pas ça qui va faire ralentir la bête... C'est juste une sécurité.
_________________ Forum Planescape NWN |
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