Link message/fr

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Description

Event: link_message( integer envoyeur_num, integer num, string car, key id ){ ; }

Déclenché lorsqu'un script reçoit un message lié par un appel à la fonction llMessageLinked. llMessageLinked est utilisé pour envoyer des informations entre scripts

• integer envoyeur_num
• integer num
• string car
• key id

id est souvent utilisé comme une second zone string (en LSL le type key est implémenté comme un string réservé à certains traitements spécifiques). La conversion entre string et key est sans effet sur les données. La taille de car et de id est juste limitée par la mémoire disponible.

Défauts

  • 64 évènements "link_message" peuvent être mis en attente de traitement, passé ce nombre, les évènements supplémentaires sont ignorés (sans alerte). Faites attention aux opérations à réaliser au cours d'un évènement surtout si ce dernier se déclenchent trés souvent.
  • envoyeur_num ne réflète pas la méthode d'envoi utilisée, il n'y a aucune façon de savoir si le message a été envoyé avec un code LINK_* ou avec un N° de lien spécifique.
  • Si les tailles de car et id sont supérieures à la mémoire disponible, le script plantera avec un message "Stack-Heap Collision".

Exemples

<lsl> //voici un script de démonstration, vous ne devriez normalement pas utiliser la fonction dans un script unique de cette façon

default {

   touch_start(integer c)
   {
       llMessageLinked(LINK_THIS, 0, llDetectedName(0), llDetectedKey(0));
   }
   link_message(integer source, integer num, string str, key id)
   {
       llWhisper(0, str + " (" + (string)id + ") m'a touché!");
   }

} </lsl>

Codes utiles

<lsl> //voici un script de démonstration, vous ne devriez normalement pas utiliser la fonction dans un script unique de cette façon

default{ // Permet de communiquer un nombre illimité d'argument de n'importe quel type. // A condition que le séparateur de list ne soit pas utilisé dans un string du list!

   state_entry() {    
       list ma_list = [1, 2.0, "un string", <1, 2, 3>, <1, 2, 3, 4>, llGetOwner()];  
       string liste_paramètres = llDumpList2String(ma_list, "

Notes

Un script peut écouter ses propres messages liés.

Voir aussi

Fonctions

•  llMessageLinked Permet de générer des messages liés
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.