LlAttachToAvatar/fr - Second Life Wiki

LlAttachToAvatar/fr

From Second Life Wiki

Second Life Wiki > LlAttachToAvatar/fr
Jump to: navigation, search

Contents

Description

! Fonction: llAttachToAvatar( integer attachment );

Attache l'objet à l'avatar (qui en a accordé le droit au script) au point désigné par la valeur attachment,

• integer attachment constante ATTACH_* ou valeur valide (cf. tableau)

Nécessite le droit PERMISSION_ATTACH pour s'exécuter, droit accordé par le propriétaire.

Constante Commentaire
ATTACH_CHEST 1 Poitrine/sternum
ATTACH_HEAD 2 Tête
ATTACH_LSHOULDER 3 Épaule gauche
ATTACH_RSHOULDER 4 Épaule droite
ATTACH_LHAND 5 Main gauche
ATTACH_RHAND 6 Main droite
ATTACH_LFOOT 7 Pied gauche
ATTACH_RFOOT 8 Pied droit
ATTACH_BACK 9 Dos
ATTACH_PELVIS 10 Bassin
ATTACH_MOUTH 11 Bouche
ATTACH_CHIN 12 Menton
ATTACH_LEAR 13 Oreille gauche
Constante Commentaire
ATTACH_REAR 14 Oreille droite
ATTACH_LEYE 15 Œil gauche
ATTACH_REYE 16 Œil droit
ATTACH_NOSE 17 Nez
ATTACH_RUARM 18 Bras droit
ATTACH_RLARM 19 Avant-bras droit
ATTACH_LUARM 20 Bras gauche
ATTACH_LLARM 21 Avant-bras gauche
ATTACH_RHIP 22 Hanche droite
ATTACH_RULEG 23 Jambe droite
ATTACH_RLLEG 24 Tibia droit
ATTACH_LHIP 25 Hanche gauche
ATTACH_LULEG 26 Jambe gauche
Constante Commentaire
ATTACH_LLLEG 27 Tibia gauche
ATTACH_BELLY 28 Ventre
ATTACH_RPEC 29 Pectoral gauche
ATTACH_LPEC 30 Pectoral droit
ATTACH_HUD_CENTER_2 31 ATH au centre 2
ATTACH_HUD_TOP_RIGHT 32 ATH en haut à droite
ATTACH_HUD_TOP_CENTER 33 ATH en haut
ATTACH_HUD_TOP_LEFT 34 ATH en haut à gauche
ATTACH_HUD_CENTER_1 35 ATH au centre
ATTACH_HUD_BOTTOM_LEFT 36 ATH en bas à gauche
ATTACH_HUD_BOTTOM 37 ATH en bas
ATTACH_HUD_BOTTOM_RIGHT 38 ATH en bas à droite
[1] 39 Cou
[1] 40 Centre de l'avatar

Inconvénients

  • Ne vous reposez pas sur les droits accordés automatiquement à soi-même. Utilisez toujours l'évènement run_time_permissions.
  • Si le script n'a pas le droit PERMISSION_ATTACH, il renverra (en criant) une erreur sur le canal DEBUG_CHANNEL et l'opération échouera (mais le script continuera à s'exécuter).
  • Si PERMISSION_ATTACH est accordé par quelqu'un d'autre que le propriétaire, lorsque la fonction est appelée, une erreur est renvoyée (en criant) sur le canal DEBUG_CHANNEL.
  • Une fois que le droit PERMISSION_ATTACH est accordé, il peut être révoqué depuis le script (par exemple avec un nouvel appel à llRequestPermissions). Sinon le script ne perdra ses droits que s'il est réinitialisé ou dérezzé (effacé, détaché ou repris).
  • La fonction échouera si l'avatar n'a pas donné les droits et n'est pas le propriétaire de l'objet à attacher (même si PERMISSION_ATTACH a été bien été accordé).
  • Deux objets ne peuvent être attachés au même endroit.
  • Les objects attachés à la tête (ou tout point d'attachement localisé sur la tête) ne seront pas visibles en vue subjective (cf. Mouselook) si l'option "show attachments in mouselook" est désactivée.

Exemples

// Rezzez un objet sur le sol, déposez-y ce script, il demandera le droit de s'attacher,
// et si ce droit est accordé, il s'attachera à la main gauche. Si le droit est refusé,
// le script se plaint.
default
{
    state_entry()
    {
        llRequestPermissions( llGetOwner(), PERMISSION_ATTACH );
    }
 
    run_time_permissions( integer vDroits )
    {
        if (PERMISSION_ATTACH & vDroits)
            llAttachToAvatar( ATTACH_LHAND );
        else
            llOwnerSay( "Droit de s'attacher refusé" );
    }
 
    on_rez(integer rez)
    {
        if (! llGetAttached()) // redémarre le script si non attaché.
            llResetScript();
    }
 
    attach(key cleAvatar) 
    {  // cet évènement survient à la fois lors de l'attachement et du détachement, mais la clé n'est valide que lors de l'attachement
        if (cleAvatar)
        {
            if (llGetAttached())
                llOwnerSay( "L'objet est attaché" );
            else
                llOwnerSay( "L'objet n'est pas attaché");
        }
    }
}

Voir également

Évènement

•  run_time_permissions Évènement de réception des droits

Fonctions

•  llGetPermissions Renvoie les droits accordés
•  llGetPermissionsKey Renvoie l'agent qui a accordé les droits
•  llRequestPermissions Demande des droits
•  llDetachFromAvatar Détache l'object de l'avatar
•  llGetAttached Renvoie le point d'attachement de l'objet

Articles

•  Droit des scripts Article sur les droits

Notes avancées

Problèmes

   Need script constants for mNeck and mRoot attachment points

Notes finales

  1. ^ Les noms pour le cou et le centre de l'avatar ne sont pas reconnus par le compilateur. On peut néanmoins renseigner les fonctions avec leur valeur numérique correspondante. SCR-217[c] & STORM-1672[c]
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.