Aide pour faire communiquer object script avec bouton HUD

Répondre
Partager Rechercher
Bonjour à tous ,

Je vais essayer de m'expliquer simplement en espérant que vous pussiez comprendre .

Je porte un objet scripter sur moi et pour interagir avec lui il me faut écrire dans le chat comme par exemple sur le canal 1 /1 open prim

Ce que je n'arrive pas a faire c'est créer un bouton que je porte en hud quand je clic dessus il envoi un message sur le chanel 1 exemple /1 open prim

ce qui m'éviterais d’écrire dans le chat et me permettrait de créer des bouton a la place

style 1 bouton que je porte en hud qui dit a mon objet porter /1 red

SI une personne peut m'aider sur cela j'en serais très happy

grand merci
hellow.....à mettre dans le bouton du Hud...


integer canal;
key owner;

default
{
state_entry()
{
owner = llGetOwner();
canal = (integer)("0xA" + llGetSubString((string)owner, 0,6 ));
}

touch_start(integer total_number)
{
llSay(canal, "red");
}

changed(integer change)
{
if(change & CHANGED_OWNER)
{
llResetScript();
}
}
}




et ceci à mettre dans la boite receptrice....



integer canal;
integer ecoute;

key owner;

default
{
state_entry()
{
owner = llGetOwner();
canal = (integer)("0xA" + llGetSubString((string)owner, 0,6 ));
ecoute = llListen(canal,"","","");
}

listen(integer channel, string name, key is, string msg)
{
if (msg == "red")
{
llSay(0,"pwetpwet, c' est rouge");
}
}

changed(integer change)
{
if(change & CHANGED_OWNER)
{
llResetScript();
}
}
}



mettre le canal 1 n' est pas une bonne idée....beaucoup d' objets l' utilisent....un canal fixe c 'est pas une bonne idée non plus, selon l' objet, s'il peut y avoir plusieurs objets similaires à proximité....
Bonjour MenthalOH et merci beaucoup pour ta réponse .

Par contre je n'arrive pas a le faire fonctionner avec mon script en question


encore 1000 merci

Dernière modification par afx77 ; 13/11/2020 à 19h09.
Il faut mettre le premier script dans chaque bouton avec un ordre differnet dans

touch_start(integer total_number)
{
llSay(canal, "red");
}




et dans ton script changer la ligne avec le llListen dans attach(key id)....et remplacer

llListen(0,"",owner,"");

par

llListen(canal,"","","");......et mettre.....

canal = (integer)("0xA" + llGetSubString((string)owner, 0,6 ));.....dans state_entry ainsi que

integer canal;.....avant la ligne "default"
Répondre

Connectés sur ce fil

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