lundi 7 janvier 2008

llGiveInventory

La fonction du jour permet de donner à un utilisateur un objet qui se trouve dans le contenu de celui-ci(inventaire de l'objet).
Imaginons que nous vendions deux tee-shirt, un modèle pour homme et un pour femme. Grâce à cette fonction on mets les deux tee shirt dans le vendor, un qui s'appelle homme et l'autre femme. Au moment de la vente on ne donnera que celui que veut le client.

Dans l'évènement money, comme ca on est sur que le client a payé, on affiche la fenêtre de dialog.
Et dans le listen, on verifie si c'est bien le client qui a fait le choix et cette fois-ci on donne l'objet grâce à la fonction.

La fonction attend deux paramètres la key du destinataire, et le nom de l'objet de l'inventaire


// la liste des objet à vendre dans votre vendor
list obj=["homme","femme"];

// channel de communication pour la fenêtre lldialog
integer mychannel;

// key du client qui viens de payer
key client;
default
{
state_entry()
{
// choisi un channel au hasard pour securisé
mychannel=(integer)llFrand(1000.0)+5000;

// ecoute le channel
llListen(mychannel,"",NULL_KEY,"");
}
listen(integer channel, string name, key id, string message)
{
// la fonction du jour
if(id==client)llGiveInventory(client,message);

}
money(key giver, integer amount)
{
// sauvegarde la key du client
client=giver;

// laisse le choix de l'objet à l'utilisateur
llDialog(client,"Choisissez votre objet",obj,mychannel);
}
}

Aucun commentaire: