Faire apparaitre un objet en tapant son nom

Répondre
Partager Rechercher
Je pense que tu veux juste l'invisibilité . Voilà un commutateur :

Code PHP:

integer alpha;
default
{
state_entry()
{
llListen(PUBLIC_CHANNEL""NULL_KEYllGetObjectName());
}
 
listen(integer channelstring namekey idstring message)
{
llSetAlpha((float)alphaALL_SIDES);
alpha = !alpha;
}

Mais bon... laisser des listen comme ça arrange pas trop le lag...
Citation :
Publié par BriceGrot
Un peu plus d'explications sur ce que tu veut faire seraient bienvenues

tu veut qu'il deviennent invisible ?
qu'il se rez ?
...
Non qu'il soit dans l'inventaire de l'objet est quand on tape le nom de l'objet il apparaît et propose de le donner à l'avatar demandeur puis qu'il disparaisse.

Merci
Ok, tu veux un objet A qui contient des objets X, Y et Z. Si quelqu'un tape X, il se fait donner l'objet X, s'il tape Y, il recoit l'objet Y, etc... ?

Ca veut dire que tu vas avoir un listen sur le canal 0 qui va écouter ce que tout le monde dit. C'est très mauvais pour le lag.

Mieux vaut un systeme avec un clic et un menu, comme pour certains distributeurs de boissons par exemple.
Citation :
Publié par Nibb
Ok, tu veux un objet A qui contient des objets X, Y et Z. Si quelqu'un tape X, il se fait donner l'objet X, s'il tape Y, il recoit l'objet Y, etc... ?

Ca veut dire que tu vas avoir un listen sur le canal 0 qui va écouter ce que tout le monde dit. C'est très mauvais pour le lag.

Mieux vaut un systeme avec un clic et un menu, comme pour certains distributeurs de boissons par exemple.
Oui mais il écoute que à une certaine distance non ?
Oups j'avais tout faux sur ce coup là

Mais Nibb a raison (comme toujours ?) Alors voilà un script avec un menu et mort au lag !!!

list menu;
integer ecoute;
default
{
state_entry(){
integer iCount=llGetInventoryNumber(INVENTORY_OBJECT);
integer i;
for(i=0;i<iCount;i++){
menu +=llGetInventoryName(INVENTORY_OBJECT, i);
}
}
touch(integer total_number) {
key avatar=llDetectedKey(0);
ecoute=llListen(56124,"",avatar,"");
llDialog(avatar,"Choisissez une option",menu,56124);
}
listen(integer channel, string name, key id, string message){
llWhisper(PUBLIC_CHANNEL,"Vous avez choisi l'objet "+message);
llGiveInventory(id,message);
llListenRemove(ecoute);
}
}
Citation :
Publié par bestmomo
Oups j'avais tout faux sur ce coup là

Mais Nibb a raison (comme toujours ?) Alors voilà un script avec un menu et mort au lag !!!

list menu;
integer ecoute;
default
{
state_entry(){
integer iCount=llGetInventoryNumber(INVENTORY_OBJECT);
integer i;
for(i=0;i<iCount;i++){
menu +=llGetInventoryName(INVENTORY_OBJECT, i);
}
}
touch(integer total_number) {
key avatar=llDetectedKey(0);
ecoute=llListen(56124,"",avatar,"");
llDialog(avatar,"Choisissez une option",menu,56124);
}
listen(integer channel, string name, key id, string message){
llWhisper(PUBLIC_CHANNEL,"Vous avez choisi l'objet "+message);
llGiveInventory(id,message);
llListenRemove(ecoute);
}
}
Merci

Mais il ne me propose que OK bien qu'il est des éléments dans l'inventaire

Merci
Jojo a dit :

Mais il ne me propose que OK bien qu'il est des éléments dans l'inventaire

Quels sont les types d'éléments dans ton objet ? Le script est prévu pour des objets
Répondre

Connectés sur ce fil

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