jeudi 10 janvier 2008

llAvatarOnSitTarget


Nous allons commencer une nouvelle thématique avec la fonction llAvatarOnSitTarget(), comment gérer les liaisons et les animations entre prim avatar. Avec pour finalité, ce qu vous avez déjà vu partout dans second life les "pose ball".
Changed se produit quand une interaction vient de se produire avec l'objet. Dans notre cas, si un avatar s'assied ou se lève. Quand on s'assied sur un objet notre avatar est "linker", lié, à l'objet.
le integer change nous indique ce qu'il s'est passé, ici on test si c'est la liaison qui a été modifiée. Mais on ne sait pas s'il s'est levé ou assis. La fonction du jour va nous y aidée.
Elle permet de retourner la key de l'avatar assis sur l'objet, donc si la key n'est pas null c'est qu'il est assis et a contrario c'est qui vient de se lever

default
{
    // l'evenement se produit d'un changement avec un prim
    // dans le cas qui nous interesse je m'assieds ou je me lève
    changed(integer change)
    {
        // verifie si il s'agit d'un changement de liaison      
        if(change==CHANGED_LINK)
        {
            // la fonction du jour
            key user=llAvatarOnSitTarget();

            // on verifie la presence de l'avatar
            if(user!=NULL_KEY)
                llInstantMessage(user,"Suis je confortable?");
            else
                llInstantMessage(user,"merci de m'avoir utilise");
        }
    }
}

Aucun commentaire: