on compte les prims et on rez !!

Répondre
Partager Rechercher
Bonjour à tous ,
j essaye désépèrement de finir le script compteur + rezzer (dans un objet) , le script fonctionne mais j aimerais que le float text m'affiche automatiquement le nom des objets sur le float text quand j'insere mes articles dans le contenu, avec le compteur, ensuite quand une personne touche l'objet , l'objet lui rez un article , bien sur , merci à tous pour votre aide

integer items;
integer CountItems()
{
items = llGetInventoryNumber(INVENTORY_OBJECT);
return items;
}

default
{
state_entry()
{
llSetText((string)CountItems(), <1,1,1>, 1);
}
changed(integer change)
{
if (change & CHANGED_INVENTORY)
{
llOwnerSay("The inventory has changed.");
llSetText((string)CountItems(), <1,1,1>, 1);
}
}
touch_start(integer num)
{
integer c = 0;
integer limit = CountItems();
string object;
for(c; c < limit; ++c)
{
object = llGetInventoryName(INVENTORY_OBJECT, c);
llRezObject(object, llGetPos() + <0,0,1>, <0,0,0>, <0,0,0,1>, 0);
}
}
}

Dernière modification par serge tendaze ; 04/07/2016 à 09h40.
Code PHP:

// Inventory Count & Give v0.1 by djphil (CC-BY-NC-SA 4.0)

display_inventory_content(integer inventory_typeinteger inventory_give)
{
    
integer inventory_hover  10;
    
integer inventory_number llGetInventoryNumber(inventory_type);   
    
string  inventory_text   "[✪ INVENTORY ✪]";
            
inventory_text  += "\nTotal Items: " inventory_number;

    if (
inventory_number >= 0)
    {
        
integer i;
        
        do
        {
            
string inventory_name llGetInventoryName(inventory_typei);
    
            if (
inventory_name != llGetScriptName())
            {
                if (
inventory_hover)
                {
                    
inventory_text += "\n[" + (1) + "] " inventory_name;
                }
    
                if (
inventory_give)
                {
                    if (
inventory_type == INVENTORY_OBJECT)
                    {
                        
llRezObject(inventory_namellGetPos() + <0.00.0, (1.0 i)>, ZERO_VECTORZERO_ROTATION0);
                    }
                }
            }
        }
        while (++
inventory_number);
    }

    
llSetText(inventory_text, <1.01.01.0>, 1.0);    
}

default
{
    
state_entry()
    {
        
display_inventory_content(6FALSE);
    }

    
touch_start(integer number)
    {
        
display_inventory_content(6TRUE);
    }

    
changed(integer change)
    {
        if (
change CHANGED_INVENTORY)
        {
            
llResetScript();
        }
    }

Comment ça fonctionne ?

La fonction display_inventory_content a deux arguments:
1) Le type d'inventaire (permet de choisir ce que l'on souhaite compter)
2) Le Rez de l'objet (permet de choisir si l'on veut rezzer l'objet)

Liste des différents types d'inventaire ici : http://wiki.secondlife.com/wiki/LlGetInventoryType
Cliquez ce bouton ou survolez le contenu pour afficher le spoiler
display_inventory_content(6, FALSE); // Affiche les objets mais ne les rez pas
display_inventory_content(6, TRUE); // Affiche les objets et les rez
integer inventory_hover = 10; // Limite le nombre affiché
Répondre

Connectés sur ce fil

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