Difference between revisions of "LlAvatarOnSitTarget/fr"

From Second Life Wiki
Jump to navigation Jump to search
m (Big proofreading)
(Sync with main page)
 
Line 3: Line 3:
|return_type=key
|return_type=key
|return_text=correspondant à l'[[UUID/fr|UUID]] de l'avatar assis sur l'objet.
|return_text=correspondant à l'[[UUID/fr|UUID]] de l'avatar assis sur l'objet.
|func_footnote=Si la prim n'a pas de "point d'assise" (un endroit ou l'avatar peut s'asseoir) et qu'aucun avatar n'est assis sur la prim alors la fonction renvoie la valeur {{LSL Const/fr|NULL_KEY|key|"00000000-0000-0000-0000-000000000000"|c=Evalué comme faux dans un test conditionnel, tout comme les clés invalides).}}.
|func_footnote=Si la prim n'a pas de "point d'assise" (un endroit l'avatar peut s'asseoir) et qu'aucun avatar n'est assis sur la prim alors la fonction renvoie la valeur {{LSL Const/fr|NULL_KEY|key|"00000000-0000-0000-0000-000000000000"|c=Evalué comme faux dans un test conditionnel, tout comme les clés invalides).}}.
|caveats=*Une prim n'a de point d'assise que si [[llSitTarget/fr|llSitTarget]] a été appelée avec un vecteur '''non nul''' en premier argument.
|caveats=*Une prim n'a de point d'assise que si [[llSitTarget/fr|llSitTarget]] a été appelée avec un vecteur '''non nul''' en premier argument.
*Si la prim n'a pas de point d'assise ou si l'avatar est assis sur une autre prim, la seule façon de déterminer le nombre d'avatars assis est d'analyser l'ensemble lié (link set)<sup>[[#Notes|1]]</sup>.
*Si la prim n'a pas de point d'assise ou si l'avatar est assis sur une autre prim, la seule façon de déterminer le nombre d'avatars assis est d'analyser l'ensemble lié (link set). Un exemple est consultable sur la page [[llGetNumberOfPrims/fr#Extraits_de_code_utiles|llGetNumberOfPrims]]).
|spec
|spec
|examples=<lsl>
|examples=<lsl>default
default
{
{
     state_entry()
     state_entry()
Line 28: Line 27:
}
}
</lsl>
</lsl>
|helpers=<lsl>
|helpers=<lsl>// Renvoie le numéro de lien de l'avatar assis
// Renvoie le numéro de lien de l'avatar assis
 
 
integer GetAgentLinkNumber(key avatar)
integer GetAgentLinkNumber(key avatar)
{
{
Line 51: Line 51:
{{LSL DefineRow||[[llGetLinkKey/fr|llGetLinkKey]]|Renvoie la clé de la prim ou de l'avatar lié}}
{{LSL DefineRow||[[llGetLinkKey/fr|llGetLinkKey]]|Renvoie la clé de la prim ou de l'avatar lié}}
|also_articles={{LSL DefineRow||[[CHANGED_LINK/fr|CHANGED_LINK]]|Constante indiquant une variation dans les liens d'un objet|}}
|also_articles={{LSL DefineRow||[[CHANGED_LINK/fr|CHANGED_LINK]]|Constante indiquant une variation dans les liens d'un objet|}}
|notes=
|notes=La position d'un avatar sur un objet peut être déterminée par [[llGetObjectDetails/fr|llGetObjectDetails]] (regardez [[llSitTarget/fr#Extraits_de_code_utiles|llSitTarget]] pour des exemples).
#Pour analyser un ensemble lié, utilisez une fonction comme [[llGetLinkKey/fr|llGetLinkKey]] (regardez [[llGetNumberOfPrims/fr#Useful_Snippets|llGetNumberOfPrims]] pour des exemples).
#La position d'un avatar sur un objet peut être déterminée par [[llGetObjectDetails/fr|llGetObjectDetails]] (regardez [[llSitTarget/fr#Useful_Snippets|llSitTarget]] pour des exemples).
|cat1=Avatar/fr
|cat1=Avatar/fr
|cat2=Prim/fr
|cat2=Prim/fr

Latest revision as of 11:28, 15 July 2008

Description

Fonction: key llAvatarOnSitTarget( );

Renvoie un key correspondant à l'UUID de l'avatar assis sur l'objet.

Si la prim n'a pas de "point d'assise" (un endroit où l'avatar peut s'asseoir) et qu'aucun avatar n'est assis sur la prim alors la fonction renvoie la valeur NULL_KEY.

Avertissements

  • Une prim n'a de point d'assise que si llSitTarget a été appelée avec un vecteur non nul en premier argument.
  • Si la prim n'a pas de point d'assise ou si l'avatar est assis sur une autre prim, la seule façon de déterminer le nombre d'avatars assis est d'analyser l'ensemble lié (link set). Un exemple est consultable sur la page llGetNumberOfPrims).

Exemples

<lsl>default {

   state_entry()
   {
       // met en place un point d'assise (indispensable pour faire fonctionner le script)
       llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
   }
   changed(integer changement)
   {
       if (changement & CHANGED_LINK)
       { 
           key av = llAvatarOnSitTarget();
           if (av)  //Vrai si <> NULL_KEY et valide
               llSay(0, "bonjour " + llKey2Name(av) + ", merci de vous être assis");
       }
   }

} </lsl>

Codes utiles

<lsl>// Renvoie le numéro de lien de l'avatar assis


integer GetAgentLinkNumber(key avatar) {

   integer linkNum = 1 + llGetNumberOfPrims();
   key linkKey;
   // À présent, nous cherchons la clé liée en nous assurant qu'elle est non nulle
   while (linkKey = llGetLinkKey( --linkNum ))  // est-ce une clé valide ?
       if (avatar == linkKey)                                     // est-ce l'avatar cherché ?
           return linkNum;                                           // si c'est l'avatar, on renvoie le n° du lien.
   // L'avatar n'a pas été trouvé
   // renvoie un N° qui n'est pas un code LINK_* ni un numéro valde.
   return 0x7FFFFFFF;   // entier maximal

} // Écrit by Strife Onizuka </lsl>

Notes

La position d'un avatar sur un objet peut être déterminée par llGetObjectDetails (regardez llSitTarget pour des exemples).

Voir également

Évènement

•  changed Evènement déclenché sur une modification de la prim

Fonctions

•  llSitTarget Permet de définir le point d'assise d'une prim
•  llGetLinkKey Renvoie la clé de la prim ou de l'avatar lié

Articles

•  CHANGED_LINK Constante indiquant une variation dans les liens d'un objet
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.