Difference between revisions of "Link message/fr"

From Second Life Wiki
Jump to: navigation, search
m (proofread)
m
 
Line 4: Line 4:
 
|p3_type=string|p3_name=car|p3_desc
 
|p3_type=string|p3_name=car|p3_desc
 
|p4_type=key|p4_name=id|p4_desc
 
|p4_type=key|p4_name=id|p4_desc
|event_desc=Déclenché lorsqu'un script reçoit un message lié via la fonction {{LSLG/fr|llMessageLinked}}  
+
|event_desc=Déclenché lorsqu'un script reçoit un message lié par un appel à la fonction {{LSLG/fr|llMessageLinked}}. llMessageLinked est utilisé pour envoyer des informations entre scripts
 +
|event_footnote='''id''' est souvent utilisé comme une second zone string (en LSL le type [[key/fr|key]] est implémenté comme un [[string/fr|string]] réservé à certains traitements spécifiques). [[typecast/fr|La conversion]] entre [[string/fr|string]] et [[key/fr|key]] est sans effet sur les données. La taille de '''car''' et de '''id''' est juste limitée par la mémoire disponible.
 
|constants
 
|constants
 
|spec
 
|spec
|caveats=*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.
+
|caveats=
 +
*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 [[llGetLinkNumber/fr|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".  
 
|examples=
 
|examples=
<pre>
+
<lsl>
 
//voici un script de démonstration, vous ne devriez normalement pas utiliser la fonction dans un script unique de cette façon  
 
//voici un script de démonstration, vous ne devriez normalement pas utiliser la fonction dans un script unique de cette façon  
  
Line 23: Line 27:
 
     }
 
     }
 
}
 
}
</pre>
+
</lsl>
|helpers=<pre>
+
|helpers=<lsl>
 
//voici un script de démonstration, vous ne devriez normalement pas utiliser la fonction dans un script unique de cette façon  
 
//voici un script de démonstration, vous ne devriez normalement pas utiliser la fonction dans un script unique de cette façon  
  
Line 39: Line 43:
 
     }     
 
     }     
 
}
 
}
</pre>
+
</lsl>
 
|also_header
 
|also_header
 
|also_events
 
|also_events

Latest revision as of 09:36, 18 April 2009

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.