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 17:10:27


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Kaneda
Voyageur
Inscrit le: 25 Mai 2003
Messages: 3
Répondre en citant
Posté le : 25/05/2003 12:21:01 Sujet du message : Au sujet des Coffres .... (Suis un Super Newbie)

Voila ça va parraitre tréééss con mais bon je me suis mis aux Scripts Hier et j'ai une question :

Comment fait on pour qu'un coffre Spawn des objets aleatoires tous les tant de temps.....
Je sais suis vraiment nul Laughing
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Tyrion
Ecuyer
Inscrit le: 23 Fév 2003
Messages: 43
Répondre en citant
Posté le : 25/05/2003 12:41:32 Sujet du message :

Tien ce script, il est tres bien fait et marche au poil Smile

Un peu dure a comprendre la premiere fois mais apres c'est super Smile

Respawn de coffres :

Il suffit de mettre ce script dans le OnOpen d'un coffre.

Code :
//::///////////////////////////////////////////////
//:: OnOpenCoffre
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Ce script permet de faire respawn les items d'un
coffre avec une probabilite.
Pour l'utiliser :
Le coffre doit avoir un tag de la forme "X_ce que vous voulez"
avec pour X l'intervalle de temps en seconde entre
2 respawns. Puis il faut placer dedans
les items qui doivent respawn, avec un tag de la forme
"n_resref" ou "n" est le pourcentage de chance que l'item
apparaisse et "resref" le resref de l'item en question.
*/
//:://////////////////////////////////////////////
//:: Created By: Tahlion, beta et modifs par Mercius
//:: Created On: 12/05/2003 18:36
//:://////////////////////////////////////////////
void main()
{
    int iNbItem = GetLocalInt(OBJECT_SELF,"nombre_item");

    if(iNbItem == 0)
    {
        object oItem = GetFirstItemInInventory(OBJECT_SELF);
        int i = 0;
        while(GetIsObjectValid(oItem))//boucle...
        {
            i++;
            string sTagProba = GetTag(oItem);
            //on prend la partie droite de l'item, donc le resref
            SetLocalString(OBJECT_SELF,"item" + IntToString(i), GetStringRight(sTagProba, GetStringLength(sTagProba) - 1 - FindSubString(sTagProba,"_")));
            //on prend la partie gauche, donc le pourcentage de chance d'apparition de l'item
            SetLocalInt(OBJECT_SELF,"proba" +IntToString(i), StringToInt(GetStringLeft(sTagProba, FindSubString(sTagProba,"_"))));

            //on detruit l'item
            DestroyObject(oItem);
            oItem = GetNextItemInInventory(OBJECT_SELF);
        }
        SetLocalInt(OBJECT_SELF,"nombre_item",i);
        SetLocalInt(OBJECT_SELF,"okgenere",1);//on peut generer les items maintenant
        iNbItem = i;
    }

    if(iNbItem > 0 && GetLocalInt(OBJECT_SELF,"okgenere") == 1)//si la boucle ci-dessus a ete faite
    {
        int i;
        for(i = 1; i <= iNbItem; i++)
        {
            //si l'item n'existe pas deja dans le coffre
            if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELF, GetLocalString(OBJECT_SELF, "item" + IntToString(i)))))
            {
                //on calcul avec le pourcentage, pour savoir si l'item doit apparaitre ou pas
                if(d100() <= GetLocalInt(OBJECT_SELF,"proba" + IntToString(i)))
                {
                    //on cree l'item
                    CreateItemOnObject(GetLocalString(OBJECT_SELF,"item" + IntToString(i)));
                }
            }
        }
        SetLocalInt(OBJECT_SELF, "okgenere", 0);
        string sTagSelf = GetTag(OBJECT_SELF);
        DelayCommand(StringToFloat(GetStringLeft(sTagSelf, FindSubString(sTagSelf,"_"))), SetLocalInt(OBJECT_SELF, "okgenere", 1));
    }
}


Pour l'utiliser, il suffit de faire comme indiqué en commentaires dans le header.

Précisions : Vous avez un objet dans la palette, dont le tag et le resref sont pareils. Vous le mettez dans l'inventaire du coffre, puis vous l'éditez dans le coffre (clique droit de la souris dessus) et vous rajoutez devant le tag, le pourcentage de chance que l'item soit dans le coffre (de 1 à 100) suivi de "_".
Vous enregistrez et voilà
_________________
Ce n'est pas parce que les choses sont difficiles que l'on ose pas les faire.
C'est parce que l'on ose pas les faire qu'elles sont difficile.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Kaneda
Voyageur
Inscrit le: 25 Mai 2003
Messages: 3
Répondre en citant
Posté le : 25/05/2003 13:00:25 Sujet du message :

Oki, Merci
 
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 37.817ms