Link message/fr

From Second Life Wiki
< Link message
Revision as of 09:36, 18 April 2009 by Gally Young (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.