La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 19/04/2025 11:57:51


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Attention ! Vous êtes en train de lire un message hors de son contexte. Veuillez lire le sujet une générateur aléatoire d'objets qui marche pas... en entier avant de répondre à ce message.
Tuyen
Demi-dieu
Inscrit le: 23 Nov 2002
Messages: 460
Localisation: Chez moi
Répondre en citant
Posté le : 03/08/2004 19:28:36 Sujet du message : une générateur aléatoire d'objets qui marche pas...

Bonjour à tous!
J'ai eu l'idée de faire un unique script pour tous les contenants peu importants dans mon module, qui génère un certain nombre d'items configurable via une variable à placer dans le contenant.

De plus on peut aussi choisir les items qu'on veut qu'il génère, en mettant leur resref dans une variable du contenant aussi.

Ce qui marche dans mon script : il génère bien des objets aléatoires et ceux parmi les choix qu'on lui a indiqué
Ce qui ne marche pas : il génère un nombre d'objets différent de celui qu'on a imposé.

NWScript :

/*
random spawn customizable -> 1 seul script pour tout plein de possibilites
*/
//:: Created By:    Tuyen
////////////////////////////////////////////////////////////////////////////////

void main()
{

//------------- preliminaire ---------------------------------------------------
    // si le contenant a deja ete ouvert, ne rien faire
    int iDeja_ouv = GetLocalInt (OBJECT_SELF, "deja_ouv");
    if (iDeja_ouv != 0)
        {return;}

    // sinon lancer le random_spawn et marquer le contenant comme deja ouvert
    SetLocalInt (OBJECT_SELF, "deja_ouv", 1);


//------------- identifications des variables-----------------------------------
    // nombre d'objets generes
    int iIt_Nbr_Gen = GetLocalInt (OBJECT_SELF, "it_nbr_gen");
    // nombre de choix possibles
    int iIt_Nbr_Pos = GetLocalInt (OBJECT_SELF, "it_nbr_pos");

    // resref de ces objets (15 maxi)
    string sItemTemp001 = GetLocalString (OBJECT_SELF, "itemtemp_001");
    string sItemTemp002 = GetLocalString (OBJECT_SELF, "itemtemp_002");
    string sItemTemp003 = GetLocalString (OBJECT_SELF, "itemtemp_003");
    string sItemTemp004 = GetLocalString (OBJECT_SELF, "itemtemp_004");
    string sItemTemp005 = GetLocalString (OBJECT_SELF, "itemtemp_005");
    string sItemTemp006 = GetLocalString (OBJECT_SELF, "itemtemp_006");
    string sItemTemp007 = GetLocalString (OBJECT_SELF, "itemtemp_007");
    string sItemTemp008 = GetLocalString (OBJECT_SELF, "itemtemp_008");
    string sItemTemp009 = GetLocalString (OBJECT_SELF, "itemtemp_009");
    string sItemTemp010 = GetLocalString (OBJECT_SELF, "itemtemp_010");
    string sItemTemp011 = GetLocalString (OBJECT_SELF, "itemtemp_011");
    string sItemTemp012 = GetLocalString (OBJECT_SELF, "itemtemp_012");
    string sItemTemp013 = GetLocalString (OBJECT_SELF, "itemtemp_013");
    string sItemTemp014 = GetLocalString (OBJECT_SELF, "itemtemp_014");
    string sItemTemp015 = GetLocalString (OBJECT_SELF, "itemtemp_015");


//------------- Spawn des items ------------------------------------------------

    // cree autant d'objets que la variable "it_nbr_gen" l'indique
    // chacun de ces objets est choisi parmi les 15 resref indiques dans les
    // variables "itemtemp_001" -> "itemtemp_015"
    // on est oblige d'indiquer ces variables

    while ( iIt_Nbr_Gen >= 0)
    {
      switch (iIt_Nbr_Pos)
      {
      // si le nombre d'item possible = 0, fin du programme
      case 0 :
      {return;}

      case 1 :
      {
        CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
      }

      case 2 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
        }
      }

      case 3 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
        }
      }

      case 4 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
        }
      }

      case 5 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
        }
      }

      case 6 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
        }
      }

      case 7 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
        }
      }

      case 8 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
        }
      }

      case 9 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
        }
      }

      case 10 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
            case 10 : CreateItemOnObject (sItemTemp010, OBJECT_SELF, 1);
        }
      }

      case 11 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
            case 10 : CreateItemOnObject (sItemTemp010, OBJECT_SELF, 1);
            case 11 : CreateItemOnObject (sItemTemp011, OBJECT_SELF, 1);
        }
      }

      case 12 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
            case 10 : CreateItemOnObject (sItemTemp010, OBJECT_SELF, 1);
            case 11 : CreateItemOnObject (sItemTemp011, OBJECT_SELF, 1);
            case 12 : CreateItemOnObject (sItemTemp012, OBJECT_SELF, 1);
        }
      }

      case 13 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
            case 10 : CreateItemOnObject (sItemTemp010, OBJECT_SELF, 1);
            case 11 : CreateItemOnObject (sItemTemp011, OBJECT_SELF, 1);
            case 12 : CreateItemOnObject (sItemTemp012, OBJECT_SELF, 1);
            case 13 : CreateItemOnObject (sItemTemp013, OBJECT_SELF, 1);
        }
      }

      case 14 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
            case 10 : CreateItemOnObject (sItemTemp010, OBJECT_SELF, 1);
            case 11 : CreateItemOnObject (sItemTemp011, OBJECT_SELF, 1);
            case 12 : CreateItemOnObject (sItemTemp012, OBJECT_SELF, 1);
            case 13 : CreateItemOnObject (sItemTemp013, OBJECT_SELF, 1);
            case 14 : CreateItemOnObject (sItemTemp014, OBJECT_SELF, 1);
        }
      }

      case 15 :
      {
        int iRandom = (Random (iIt_Nbr_Pos)) + 1;
        switch (iRandom)
        {
            case 1  : CreateItemOnObject (sItemTemp001, OBJECT_SELF, 1);
            case 2  : CreateItemOnObject (sItemTemp002, OBJECT_SELF, 1);
            case 3  : CreateItemOnObject (sItemTemp003, OBJECT_SELF, 1);
            case 4  : CreateItemOnObject (sItemTemp004, OBJECT_SELF, 1);
            case 5  : CreateItemOnObject (sItemTemp005, OBJECT_SELF, 1);
            case 6  : CreateItemOnObject (sItemTemp006, OBJECT_SELF, 1);
            case 7  : CreateItemOnObject (sItemTemp007, OBJECT_SELF, 1);
            case 8  : CreateItemOnObject (sItemTemp008, OBJECT_SELF, 1);
            case 9  : CreateItemOnObject (sItemTemp009, OBJECT_SELF, 1);
            case 10 : CreateItemOnObject (sItemTemp010, OBJECT_SELF, 1);
            case 11 : CreateItemOnObject (sItemTemp011, OBJECT_SELF, 1);
            case 12 : CreateItemOnObject (sItemTemp012, OBJECT_SELF, 1);
            case 13 : CreateItemOnObject (sItemTemp013, OBJECT_SELF, 1);
            case 14 : CreateItemOnObject (sItemTemp014, OBJECT_SELF, 1);
            case 15 : CreateItemOnObject (sItemTemp015, OBJECT_SELF, 1);
        }// fin du petit switch
      }// fin du case 15
      }// fin du grand switch
      iIt_Nbr_Gen = iIt_Nbr_Gen - 1;
    } // fin de la boucle while

} // fin du void main
Le code a colorer syntaxiquement est trop long (plus de 10240 caractères) et risque de ne pas s'afficher du tout. Vous pouvez le voir en version colorée ici.


Bon ca a été long, merci de vos réponses!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 
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 38.239ms