llAvatarOnSitTarget
Revision as of 01:57, 8 December 2007 by Xenex Habilis (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: key llAvatarOnSitTarget( );239 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
Returns a key
- Retourne le UUID de l'avatar assis sur le prim.
SI le prim ne trouve pas de 'sit target' ou si il n'y a pas d'avatar assis sur le prim, alors NULL_KEY est retourné.
Caveats
- Un prim n'a pas de 'sit target' sans que llSitTarget soit crée avec un vecteur non nul.
- Si le prim ne trouve pas de 'sit target' ou si l'avatar est assis sur un prim different,la seule façon de determiner combien et quel avatar est assis sur l'objet est de scanner le link set1.
Examples
default { state_entry() { // Creation du sit target, sinon la fonction ne marche pas llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { key av = llAvatarOnSitTarget(); if (av) {//VRAI si la clé de l'avatar existe et est valide llSay(0, "Salut " + llKey2Name(av) + ", Merci de vous etre assis"); } } } }
Useful Snippets
//Donne le numero de link de l'avatar assis integer GetAgentLinkNumber(key avatar) { integer linkNum = 1 + llGetNumberOfPrims(); key linkKey; //Apres nous prendrond le linkKey soyez sur qu'il est non nul sinon cela ne marchera pas. while((linkKey = llGetLinkKey( --linkNum )))//est ce que la clé est valide? if(avatar == linkKey)//est ce le bon avatar? return linkNum;//C'est le bon avatar. //L'avatar n'a pas été trouvé //retounre un nombre, ce n'est pas une balise LINK_* ni un numero de link valide. return 0x7FFFFFFF;//max int. }//Written by Strife Onizuka
Notes
- Pour scanner un link set utliser une fonction comme llGetLinkKey (voir llGetNumberOfPrims#Useful_Snippetscomme exemple).
- La position d'un avatar assis sur un prim peut etre determiné avec llGetObjectDetails (voir llSitTarget#Useful_Snippetscomme exemple).