LlMessageLinked/fr: Difference between revisions
Jump to navigation
Jump to search
Gally Young (talk | contribs) m proofread |
Gally Young (talk | contribs) m fixe |
||
| Line 1: | Line 1: | ||
{{LSL Function/link/fr}}{{LSL_Function/fr | |||
|func_id=164|func_sleep=0.0|func_energy=10.0 | |func_id=164|func_sleep=0.0|func_energy=10.0 | ||
|func=llMessageLinked|sort=MessageLinked | |func=llMessageLinked|sort=MessageLinked | ||
Revision as of 12:18, 29 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.