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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
BlackMagik
Acolyte
Inscrit le: 02 Jan 2005
Messages: 22
Répondre en citant
Posté le : 26/01/2005 16:22:12 Sujet du message : ReSpawn de monstre grrrrrr

Yop !
Je voudrais faire spawn des monstres à certains WP de ma zone a chaque OnExit. Les WPs des spawn ayant pour Tag "swp_resref_du_monstre", le script marche sans marcher en fait, au lieu de me spawn un seul monstre, il m'en spawn 4 ou 5 Laughing je pense que c'est un probleme de boucle mais je ne vois pas où il est, quoi qu'il en soit voila la bête :

NWScript :
void Spawn(string sCreature, location lLoc)
{
CreateObject(OBJECT_TYPE_CREATURE, sCreature, lLoc);
}

void main()
{
object oWP = GetFirstObjectInArea(OBJECT_SELF);
    while (GetIsObjectValid(oWP))
        {
        if ( GetObjectType(oWP)==OBJECT_TYPE_WAYPOINT)
            {
            location lLoc = GetLocation(oWP);
            int iNbrTag = GetStringLength(GetTag(oWP));
            int iNbrTagSpawn = iNbrTag - 4;
            string sTag = GetStringRight(GetTag(oWP),iNbrTagSpawn);
            Spawn(sTag, lLoc);
            oWP = GetNextObjectInArea(OBJECT_SELF);
            }
        else
            {
            oWP = GetNextObjectInArea(OBJECT_SELF);
            }
        }
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Klemmth
Seigneur
Inscrit le: 26 Juin 2004
Messages: 176
Localisation: france
Répondre en citant
Posté le : 30/01/2005 21:21:46 Sujet du message :

Je ne sais pas si ca marchera mieux, mais ca optimiseras un peu ton code.

NWScript :
void Spawn(string sCreature, location lLoc)
{
  CreateObject(OBJECT_TYPE_CREATURE, sCreature, lLoc);
}

void main()
{
  object oWP = GetFirstObjectInArea(OBJECT_SELF);
  while (GetIsObjectValid(oWP))
  {
    if ( GetObjectType(oWP)==OBJECT_TYPE_WAYPOINT)
    {
      location lLoc = GetLocation(oWP);
      int iNbrTag = GetStringLength(GetTag(oWP));
      int iNbrTagSpawn = iNbrTag - 4;
      string sTag = GetStringRight(GetTag(oWP),iNbrTagSpawn);
      Spawn(sTag, lLoc);
    }
    oWP = GetNextObjectInArea(OBJECT_SELF);
  }
}
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.

_________________
...
 
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 31.627ms