Difference between revisions of "LlMessageLinked/fr"
Jump to navigation
Jump to search
Gally Young (talk | contribs) (localized to french) |
Gally Young (talk | contribs) m (proofread) |
||
Line 13: | Line 13: | ||
|spec | |spec | ||
|caveats=*Un script peut entendre son propre "message lié" si '''linknum''' est positionné à '''LINK_SET''' ou '''LINK_THIS'''. Cette option crée des risques de boucles infinies. Faites attention à la façon dont vos messages sont traités. | |caveats=*Un script peut entendre son propre "message lié" si '''linknum''' est positionné à '''LINK_SET''' ou '''LINK_THIS'''. Cette option crée des risques de boucles infinies. Faites attention à la façon dont vos messages sont traités. | ||
* Certains utilisateurs ont observé des échecs dans l'envoi simultané de messages liés à un grand nombre de scripts dans des prims différentes en utilisant '''LINK_SET''', '''LINK_ALL_OTHERS''' & '''LINK_ALL_CHILDREN''' (cad sans rendre toutes les prims destinatrices). Si vous rencontrez ce problèmes, une astuce consiste à placer les scripts dans la même prim et à utiliser des | * Certains utilisateurs ont observé des échecs dans l'envoi simultané de messages liés à un grand nombre de scripts dans des prims différentes en utilisant '''LINK_SET''', '''LINK_ALL_OTHERS''' & '''LINK_ALL_CHILDREN''' (cad sans rendre toutes les prims destinatrices). Si vous rencontrez ce problèmes, une astuce consiste à placer les scripts dans la même prim et à utiliser des fonctions telles [[llSetLinkPrimitiveParams/fr|llSetLinkPrimitiveParams]] pour modifier une prim sans qu'elle ne contienne le script et à utiliser un simple message lié. | ||
|examples=<lsl>default{ // Suppositions : // nom de l'objet : LSLWiki // nom du script : _lslwiki | |examples=<lsl>default{ // Suppositions : // nom de l'objet : LSLWiki // nom du script : _lslwiki | ||
state_entry() { | state_entry() { |
Revision as of 13:48, 19 January 2008
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: llMessageLinked( integer linknum, integer num, string str, key id );164 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
Déclenche un évènement link_message avec les paramètres num, str et id dans le groupe ou le lien linknum.
• integer | linknum | – | N° de lien ou un code LINK_* | |
• integer | num | |||
• string | str | |||
• key | id |
|
|
Avertissements
- Un script peut entendre son propre "message lié" si linknum est positionné à LINK_SET ou LINK_THIS. Cette option crée des risques de boucles infinies. Faites attention à la façon dont vos messages sont traités.
- Certains utilisateurs ont observé des échecs dans l'envoi simultané de messages liés à un grand nombre de scripts dans des prims différentes en utilisant LINK_SET, LINK_ALL_OTHERS & LINK_ALL_CHILDREN (cad sans rendre toutes les prims destinatrices). Si vous rencontrez ce problèmes, une astuce consiste à placer les scripts dans la même prim et à utiliser des fonctions telles llSetLinkPrimitiveParams pour modifier une prim sans qu'elle ne contienne le script et à utiliser un simple message lié.
Exemples
<lsl>default{ // Suppositions : // nom de l'objet : LSLWiki // nom du script : _lslwiki
state_entry() { llMessageLinked(LINK_THIS, 0, llGetScriptName(), ""); }
link_message(integer sender_num, integer num, string msg, key id) { llOwnerSay(msg); // Le propriétaire de l'objet LSLWiki entendra : // LSLWiki:_lslwiki }
}</lsl>
Codes utiles
<lsl>default { // une façon rapide de débuguer link_message
link_message(integer sender_num, integer num, string msg, key id) { llSay(DEBUG_CHANNEL, llList2CSV([sender_num, num, msg, id])); }
}</lsl> <lsl>// Il s'agit ici juste d'un exemple, vous ne devriez pas utiliser les messages liés (link message) de cette façon.
default{ // comment communiquer un nombre illimité de paramètres. // On suppose que le caractère de séparation des strings n'est utilisé dans aucun string de la source.
state_entry() { list my_list = [1, 2.0, "a string", <1, 2, 3>, <1, 2, 3, 4>, llGetOwner()]; string list_parameter = llDumpList2String(my_list, "
Notes
- Utilisez llMessageLinked dans une simple prim permet aux développeurs de réduire certaines limites du LSL en permettant à des scripts de coopérer et de réaliser des actions syncronisées. Faites attention à ne pas créer de boucles infinies.
- Les tailles de str et de id sont à priori seulement limitées par la mémoire disponible.
Voir également
Évènement
• | link_message | – | Evènement déclenché lorsqu'un message lié est reçu. |
Fonctions
• | llGetLinkNumber | – | Renvoie le N° de lien de la prim le contenant. |
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.