Link message/fr
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Event: link_message( integer envoyeur_num, integer num, string car, key id ){ ; }29 | Event 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 |