Difference between revisions of "Listen/fr"

From Second Life Wiki
Jump to navigation Jump to search
("modification in progress")
 
m (updated ^^)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL_Event|event_id=12|event_delay
{{LSL_Event/fr|event_id=12|event_delay
|event=listen
|event=listen
|p1_type=integer|p1_name=channel|p1_desc
|p1_type=integer|p1_name=canal|p1_desc
|p2_type=string|p2_name=name|p2_desc
|p2_type=string|p2_name=nom|p2_desc
|p3_type=key|p3_name=id|p3_desc
|p3_type=key|p3_name=id|p3_desc
|p4_type=string|p4_name=message|p4_desc
|p4_type=string|p4_name=message|p4_desc
|event_desc=Trigged by chat, use {{LSLG|llListen}} to enable and filter
|event_desc=Déclenché lorsque l'on parle sur un canal, utilisez  [[llListen/fr|llListen]] pour activer et filtrer la lecture.
|constants={{LSL Constants/Chat}}
|constants={{LSL Constants/Chat/fr}}
|spec
|spec
|caveats=*On [[state]] change or [[llResetScript|script reset]] all listens are [[llListenRemove|closed]] automaticaly.
|caveats=
*When an object changes owner any listen registered with [[llGetOwner]] will not automatically update itself until the script is reset. The scripter can catch this scenario per the example below.
*Sur un changement d'[[state/fr|état]] ou une [[llResetScript/fr|réinitialisation du script]], toutes les écoutes sont [[llListenRemove/fr|fermées]] automatiquement.
*Lorsqu'un objet change de propriétaire, toutes les écoutes enregistrées à l'aide de [[llGetOwner§fr|llGetOwner]] ne seront pas automatiquement mises à jour tant que le script n'aura pas été réinitialisé. L'exemple ci-dessous illustre cette particularité.
 
*Si le message correspond à plusieurs filtres de [[llListen/fr|llListen]] (dans un même script), un seul évènement sera malgré tout généré.
*Une prim "n'entend" pas ses propres messages dans le chat.
*L'écoute d'une prim se fait un niveau de la prim racine. Cette restriction permet de limiter les risques d'écoute depuis les bords d'une parcelle. Cependant les {{LSLGC/fr|Chat|fonctions de chat}} génèrent bien leur message au niveau de la prim fille (et non au niveau de la prim racine).  
|examples=
|examples=
Trivial example to listen to any chat from the object owner and respond once. To reduce lag and avoid spamming surrounding users, it is vastly preferable to listen on channels other than 0 and to trigger the listen event by chatting on an alternative channel such as '/5 hello'.
Voici un exemple d'utilisation du listen à partir d'un objet qui répondra (une fois) à chaque fois que le propriétaire parlera sur le chat (en "say"). Pour réduire le lag et éviter le spam pour les personnes alentours, il est préférable d'écouter sur un canal autre que le 0 (say) et d'utiliser plutôt un canal altenatif tel que le 5 : '/5 hello'
<lsl>// says beep to owner the first time owner says something in main chat;
.
<lsl>// dit 'bip' au propriétaire la première fois que qu'il parle dans le canal principal (say);
integer listen_handle;
integer listen_handle;


Line 18: Line 24:
{
{
     state_entry()
     state_entry()
     {  //Registers the listen to the owner of the object at the moment of the call. This does not automatically update when the owner changes.
     {  // Crée une écoute avec la clé du propriétaire, cette section du code n'est pas ré-exécutée automatiquement en cas de changement de propriétaire.
         // Change 0 to another positive number to listen for '/5 hello' style of chat.
         // Vous pouvez changer le canal 0 en n'importe quel nombre positif (par exemple le 5 (pour parler, utilisez : '/5 hello')
         listen_handle = llListen(0, "", llGetOwner(), "");
         listen_handle = llListen(0, "", llGetOwner(), "");
     }
     }
     listen( integer channel, string name, key id, string message )
     listen( integer canal, string name, key id, string message )
     {
     {
         llOwnerSay("beep");
         llOwnerSay("bip");
         // Stop listening until script is reset
         // Arrête d'écouter jusqu'à ce que le script soit ré-initialisé.
         llListenRemove(listen_handle);
         llListenRemove(listen_handle);
     }
     }
     on_rez(integer param)
     on_rez(integer param)
     {  //Triggered when the object is rezed, like after the object had been sold from a vendor
     {  //Déclenché lorsque l'objet est rez, comme par exemple aprés que l'objet ait été vendu.
         llResetScript();//By resetting the script on rez it forces the listen to re-register.
         llResetScript();//En forçant la ré-initialisation au moment du rez, on force le listen à se ré-enregistrer.
     }
     }
     changed(integer mask)
     changed(integer mask)
     {  //Triggered when the object containing this script changes owner.
     {  //Déclenché lorsque l'objet contenant le script change de propriétaire.
         if(mask & CHANGED_OWNER)
         if(mask & CHANGED_OWNER)
         {
         {
Line 44: Line 50:
|also_events
|also_events
|also_functions=
|also_functions=
{{LSL DefineRow||[[llListen]]|}}
{{LSL DefineRow||[[llListen/fr|llListen]]|Permet de créer une écoute}}
{{LSL DefineRow||[[llListenControl]]|}}
{{LSL DefineRow||[[llListenControl/fr|llListenControl]]|}}
{{LSL DefineRow||[[llListenRemove]]|}}
{{LSL DefineRow||[[llListenRemove/fr|llListenRemove]]|Permet de supprimer une écoute}}
{{LSL DefineRow||[[llDialog]]|}}
{{LSL DefineRow||[[llDialog/fr|llDialog]]|Permet d'ouvrir une boite de dialogue bleue}}
{{LSL DefineRow||[[llOwnerSay]]|Sends chat to the owner only to avoid spamming the [[PUBLIC_CHANNEL]]}}
{{LSL DefineRow||[[llOwnerSay/fr|llOwnerSay]]|Envoie un message lisible uniquement par le propriétaire (évite de spammer le  [[PUBLIC_CHANNEL/fr|PUBLIC_CHANNEL]])}}
{{LSL DefineRow||[[llWhisper]]|Sends chat limited to 10 meters}}
{{LSL DefineRow||[[llWhisper/fr|llWhisper]]|Envoie une message limité à 10 mètres}}
{{LSL DefineRow||[[llSay]]|Sends chat limited to 20 meters}}
{{LSL DefineRow||[[llSay/fr|llSay]]|Envoie un message limité à 20 métres}}
{{LSL DefineRow||[[llShout]]|Sends chat limited to 100 meters}}
{{LSL DefineRow||[[llShout/fr|llShout]]|Envoi un message limité à 100 mètres.}}
{{LSL DefineRow||[[llRegionSay]]|Sends chat limited to region}}
{{LSL DefineRow||[[llRegionSay/fr|llRegionSay]]|Envoie un message limité à la région}}
|also_articles
|also_articles
|also_footer
|also_footer
Line 58: Line 64:
|mode
|mode
|deprecated
|deprecated
|cat1=Communications
|cat1=Communications/fr
|cat2=Chat
|cat2=Chat/fr
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 10:46, 18 April 2009

Description

Event: listen( integer canal, string nom, key id, string message ){ ; }

Déclenché lorsque l'on parle sur un canal, utilisez llListen pour activer et filtrer la lecture.

• integer canal
• string nom
• key id
• string message
Numéros de canal constants Descriptions
DEBUG_CHANNEL 0x7FFFFFFF Canal réservé au débogage et aux messages d'alertes des scripts.
PUBLIC_CHANNEL 0x0 Canal réservé pour parler à tous les avatars alentours.

Défauts

  • Sur un changement d'état ou une réinitialisation du script, toutes les écoutes sont fermées automatiquement.
  • Lorsqu'un objet change de propriétaire, toutes les écoutes enregistrées à l'aide de llGetOwner ne seront pas automatiquement mises à jour tant que le script n'aura pas été réinitialisé. L'exemple ci-dessous illustre cette particularité.
  • Si le message correspond à plusieurs filtres de llListen (dans un même script), un seul évènement sera malgré tout généré.
  • Une prim "n'entend" pas ses propres messages dans le chat.
  • L'écoute d'une prim se fait un niveau de la prim racine. Cette restriction permet de limiter les risques d'écoute depuis les bords d'une parcelle. Cependant les fonctions de chat génèrent bien leur message au niveau de la prim fille (et non au niveau de la prim racine).

Exemples

Voici un exemple d'utilisation du listen à partir d'un objet qui répondra (une fois) à chaque fois que le propriétaire parlera sur le chat (en "say"). Pour réduire le lag et éviter le spam pour les personnes alentours, il est préférable d'écouter sur un canal autre que le 0 (say) et d'utiliser plutôt un canal altenatif tel que le 5 : '/5 hello' . <lsl>// dit 'bip' au propriétaire la première fois que qu'il parle dans le canal principal (say); integer listen_handle;

default {

   state_entry()
   {   // Crée une écoute avec la clé du propriétaire, cette section du code n'est pas ré-exécutée automatiquement en cas de changement de propriétaire.
       // Vous pouvez changer le canal 0 en n'importe quel nombre positif (par exemple le 5 (pour parler, utilisez : '/5 hello')
       listen_handle = llListen(0, "", llGetOwner(), "");
   }
   listen( integer canal, string name, key id, string message )
   {
       llOwnerSay("bip");
       // Arrête d'écouter jusqu'à ce que le script soit ré-initialisé.
       llListenRemove(listen_handle);
   }
   on_rez(integer param)
   {   //Déclenché lorsque l'objet est rez, comme par exemple aprés que l'objet ait été vendu.
       llResetScript();//En forçant la ré-initialisation au moment du rez, on force le listen à se ré-enregistrer.
   }
   changed(integer mask)
   {   //Déclenché lorsque l'objet contenant le script change de propriétaire.
       if(mask & CHANGED_OWNER)
       {
           llResetScript();
       }
   }

}</lsl>

Voir aussi

Fonctions

•  llListen Permet de créer une écoute
•  llListenControl
•  llListenRemove Permet de supprimer une écoute
•  llDialog Permet d'ouvrir une boite de dialogue bleue
•  llOwnerSay Envoie un message lisible uniquement par le propriétaire (évite de spammer le PUBLIC_CHANNEL)
•  llWhisper Envoie une message limité à 10 mètres
•  llSay Envoie un message limité à 20 métres
•  llShout Envoi un message limité à 100 mètres.
•  llRegionSay Envoie un message limité à la région
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.