La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 21:11:44


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 24/07/2006 12:39:07 Sujet du message : [Résolu] Boucle et comptabilitation

Bonjour,

J'ai du mal avec un script. Celui-ci est sur un trigger. Si un PNJ passe dessus il est sensé prendre les pierres qui se trouvent dans un coffre. Mais il ne doit en prendre qu'un certain nombre si elles s'y trouvent.

En somme, j'aimerais que mon PNJ aille vers le coffre, prenne 10 pierres s'il y en a 10. S'il y en a moins, qu'il n'en prenne que le nombre qu'il y a, et s'il y en a plus qu'il n'en prenne que 10.

Voici ce que j'ai mis sur mon trigger :

NWScript :
void main()
{
object oEnter = GetEnteringObject();
string sTag = GetTag(oEnter);
string sDebut = GetStringLeft(sTag, 7);

if (sDebut == "carieur")
    {
    object oCoffre = GetObjectByTag("coffre");
    object oItem = GetFirstItemInInventory(oCoffre);

    while (GetIsObjectValid(oItem))
        {
        if (GetTag(oItem) == "pierre")
        {
          DestroyObject(oItem);
          CreateItemOnObject("pierre", oEnter);
          oItem = GetNextItemInInventory(oCoffre);
        }
        }
    }
}
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.



Actuellement, le PNJ va prendre tout ce qu'il y a dans le coffre, mais j'aimerais qu'il s'arrête à 10.

Est-ce que s'il y a moins de 10 pierres il n'en prendra que le nombre précis ?
Comment faire pour qu'il s'arrête à 10 pierres s'il y en a plus dans le coffre ?

Merci d'avance.
Dernière édition par Djezebel le 25/07/2006 09:17:03; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-MeteZ-
Seigneur
Inscrit le: 19 Mar 2006
Messages: 205
Localisation: Région Parisienne (95)
Répondre en citant
Posté le : 24/07/2006 13:32:40 Sujet du message : Re: [Problème] Boucle et comptabilitation

Ca me paraît normal que le PNJ prenne TOUTES les pierres contenus dans le coffre puisque dans ton script je ne voie aucune instructions lui disant de n'en prendre que 10.

NWScript :

int nPierresPrises = 0;
while (GetIsObjectValid(oItem))
{
  if (GetTag(oItem) == "pierre" && nPierresPrises < 10) // ET si le PNJ a moins de 10 pierres
  {
      DestroyObject(oItem);
      CreateItemOnObject("pierre", oEnter);
      nPierresPrises++; // Le PNJ a une pierre de plus donc on le marque
      oItem = GetNextItemInInventory(oCoffre);
  }
  if (nPierresPrises == 10)
      oItem = OBJECT_INVALID;
}
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.


Essaye ca devrait être bon maintenant.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 25/07/2006 09:18:08 Sujet du message :

Justement, je n'arrivais pas à voir où mettre une sorte de seconde boucle / compteur. Smile

Merci pour le coup de main ! Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 39.511ms