respawn d'objet dans un coffre

Répondre
Partager Rechercher
Voila, j'ai utilisé un script de respawn d'objet. j'ai suivi les instructions et ca fonctionne pas. j'ai mis ceci dans le OnOpen du coffre

Code PHP:

//::///////////////////////////////////////////////

//:: 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,"1");


    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,"anneauhafgan" IntToString(i), GetStringRight(sTagProbaGetStringLength(sTagProba) - FindSubString(sTagProba,"_")));

            
//on prend la partie gauche, donc le pourcentage de chance d'apparition de l'item

            
SetLocalInt(OBJECT_SELF,"100" +IntToString(i), StringToInt(GetStringLeft(sTagProbaFindSubString(sTagProba,"_"))));


            
//on detruit l'item

            
DestroyObject(oItem);

            
oItem GetNextItemInInventory(OBJECT_SELF);

        }

        
SetLocalInt(OBJECT_SELF,"1",i);

        
SetLocalInt(OBJECT_SELF,"okgenere",1);//on peut generer les items maintenant

        
iNbItem i;

    }


    if(
iNbItem && GetLocalInt(OBJECT_SELF,"okgenere") == 1)//si la boucle ci-dessus a ete faite

    
{

        
int i;

        for(
1<= iNbItemi++)

        {

            
//si l'item n'existe pas deja dans le coffre

            
if(!GetIsObjectValid(GetItemPossessedBy(OBJECT_SELFGetLocalString(OBJECT_SELF"anneauhafgan" IntToString(i)))))

            {

                
//on calcul avec le pourcentage, pour savoir si l'item doit apparaitre ou pas

                
if(d100() <= GetLocalInt(OBJECT_SELF,"100" IntToString(i)))

                {

                    
//on cree l'item

                    
CreateItemOnObject(GetLocalString(OBJECT_SELF,"anneauhafgan" IntToString(i)));

                }

            }

        }

        
SetLocalInt(OBJECT_SELF"okgenere"0);

        
string sTagSelf GetTag(OBJECT_SELF);

        
DelayCommand(StringToFloat(GetStringLeft(sTagSelfFindSubString(sTagSelf,"_"))), SetLocalInt(OBJECT_SELF"okgenere"1));

    }


mon coffre a comme tag 5_coffre

alors, voyez vous ou est l'erreur?

merci d'avance
Ce qui est important dans ce script c'est de bien mettre les tags de tes items sous la bonne forme

regarde bien ce que tu met dans ton Resref des items

Exemple tu as mis : itemduboss01 comme Resref de ton item

ton Tag doit utiliser le resref donc il sera par exemple pour 100 % de chance qu'il apparaisse = 100_itemduboss01

Tu te sert bien du resref comme tag ?

Donc pas de Majuscule dans le Tag c'est proscris ici, puisque dans un resref on peux pas en mettre

Voila j'espere que ça t'as aidé




EDIT : ah aussi. Faut rien changer dans le script tu le laisse comme ça. c'est un script généraliste, que tu peux réutiliser à chaque fois
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés