LlRequestPermissions/fr - Second Life Wiki

LlRequestPermissions/fr

From Second Life Wiki

Jump to: navigation, search

Fonction: llRequestPermissions( key agent, integer perm );

Demande à l'agent l'autorisation de réaliser certaines sortes de fonctions.

• key agent Clé d'un avatar
• integer perm Masque des droits (zone de bits contenant les droits à demander).
Constantes Actions Categories Cibles
PERMISSION_DEBIT 0x2 Droit de prendre de l'argent du compte de l'agent Argent Propriétaire
PERMISSION_TAKE_CONTROLS 0x4 Droit de prendre le contrôle de l'agent. Contrôles Tout le monde
PERMISSION_TRIGGER_ANIMATION 0x10 Droit de lancer des animations d'un agent. Animations Tout le monde
PERMISSION_ATTACH 0x20 Droit d'attacher ou de détacher un objet d'un agent. Attachement Propriétaire
PERMISSION_CHANGE_LINKS 0x80 Droit de modifier les liens entre objets. Lien Propriétaire
PERMISSION_TRACK_CAMERA 0x400 Droit de suivre la position et la rotation de la camera de l'agent. Camera Tout le monde
PERMISSION_CONTROL_CAMERA 0x800 Droit de contrôler la camera de l'agent. Camera Tout le monde

Inconvénients

  • Les droits ne sont pas cumulatifs.
    • Si des droits ont précédemment été demandés et accordés par cette fonction, un nouvel appel réinitialisera les droits (les anciens droits seront perdus).
  • Un script ne peut mémoriser que les droits d'un agent à la fois. Si vous souhaitez gérer des droits sur plusieurs avatars, il vous faudra autant de scripts que d'avatars.

Exemples

Demande d'autorisation d'animer un avatar

default
{
    touch_start(integer detected)
    {
        llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
    }
 
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_TRIGGER_ANIMATION)
        {
            llStartAnimation("sit");
            llOwnerSay("L'animation se terminera dans 5 secondes.");
            llSetTimerEvent(5.0);
        }
    }
 
    timer()
    {
        llSetTimerEvent(0.0);
        llStopAnimation("sit");
    }
}

Notes

Une boite de dialogue bleue apparait à l'écran de l'agent ciblé afin d'accepter ou refuser de donner les droits au script. Il existe cependant certaines exceptions :

  • Si un agent est assis sur un objet, les droits de contrôle et de suivi (tracking) de la camera sont accordés sans demande d'autorisation.
  • Si un objet est attaché à un agent, les droits de contrôle et d'attachement sont accordés sans demande d'autorisation.

Vous devriez cependant utiliser l'évènement run_time_permissions quelles que soient les situations (même si le droit est accordé automatiquement)

Voir également

Evènement

•  run_time_permissions Évènement déclenché lorsque des droits sont accordés.

Fonctions

•  llGetPermissions Renvoie les droits accordés au script.
•  llGetPermissionsKey Renvoie la clé de l'avatar qui a donné les droits.

Articles

•  Gestion des droits dans les scripts