Difference between revisions of "LlAvatarOnSitTarget/fr"
Jump to navigation
Jump to search
Gally Young (talk | contribs) m (fixe) |
m (Big proofreading) |
||
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' | |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).}}. | ||
|caveats=*Une prim n'a d'assise que si [[llSitTarget/fr|llSitTarget]] a été appelée avec un | |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 | *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>. | ||
|spec | |spec | ||
|examples=<lsl> | |examples=<lsl> | ||
Line 12: | Line 12: | ||
state_entry() | state_entry() | ||
{ | { | ||
// | // met en place un point d'assise (indispensable pour faire fonctionner le script) | ||
llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); | llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); | ||
} | } | ||
changed(integer | changed(integer changement) | ||
if ( | { | ||
if (changement & CHANGED_LINK) | |||
{ | |||
key av = llAvatarOnSitTarget(); | key av = llAvatarOnSitTarget(); | ||
if (av) | |||
if (av) //Vrai si <> NULL_KEY et valide | |||
llSay(0, "bonjour " + llKey2Name(av) + ", merci de vous être assis"); | llSay(0, "bonjour " + llKey2Name(av) + ", merci de vous être assis"); | ||
} | } | ||
} | } | ||
Line 27: | Line 29: | ||
</lsl> | </lsl> | ||
|helpers=<lsl> | |helpers=<lsl> | ||
//Renvoie le | // Renvoie le numéro de lien de l'avatar assis | ||
integer GetAgentLinkNumber(key avatar) | integer GetAgentLinkNumber(key avatar) | ||
{ | { | ||
integer linkNum = 1 + llGetNumberOfPrims(); | integer linkNum = 1 + llGetNumberOfPrims(); | ||
key linkKey; | key linkKey; | ||
// | |||
while | // À présent, nous cherchons la clé liée en nous assurant qu'elle est non nulle | ||
if(avatar == linkKey)//est ce l'avatar | while (linkKey = llGetLinkKey( --linkNum )) // est-ce une clé valide ? | ||
return linkNum;//si c'est l'avatar, on renvoie le n° du lien. | if (avatar == linkKey) // est-ce l'avatar cherché ? | ||
// | return linkNum; // si c'est l'avatar, on renvoie le n° du lien. | ||
//renvoie un N° qui n'est pas un code LINK_* ni un numéro valde. | |||
return 0x7FFFFFFF;// | // 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> | </lsl> | ||
|related | |related | ||
Line 48: | Line 52: | ||
|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= | ||
#Pour | #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 | #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 |
Revision as of 05:40, 6 April 2008
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: key llAvatarOnSitTarget( );239 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
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 ou 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)1.
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
- Pour analyser un ensemble lié, utilisez une fonction comme llGetLinkKey (regardez llGetNumberOfPrims pour des exemples).
- 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.