Difference between revisions of "LlRequestPermissions/fr"

From Second Life Wiki
Jump to navigation Jump to search
(relecture, complements et mise a jour)
(Suite...)
Line 9: Line 9:
|spec=
|spec=
|caveats=
|caveats=
*Les droits ne sont pas cumulatifs.
*Une boite de dialogue bleue apparait à l'écran de l'agent ciblé pour lui demander d'accepter ou refuser d'accorder ce(s) droit(s) au script. Il existe cependant certaines exceptions où le(s) droit(s) sont accordé(s) automatiquement sans boite de dialogue(voir tableau ci dessus).
*Pour savoir si un dorit a été accordé, vous devez impérativement attendre l'évènement {{LSLG/fr|run_time_permissions/fr|run_time_permissions}} (même si le droit est accordé automatiquement).
*Les droits persistent lors des changements d'état
*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).
**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).
**Pour demander plusieurs droits en même temps, utilisez l'opérateur OU binaire (<nowiki>|</nowiki>).<lsl>llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION)</lsl></div> :
**Pour demander plusieurs droits en même temps, utilisez l'opérateur OU binaire (<nowiki>|</nowiki>).<lsl>llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS | PERMISSION_TRIGGER_ANIMATION)</lsl></div>
*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.
*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.
*Il n'existe plus de fonction pour enlever les droits donnés : le seul moyen actuel est la réinitialisation du script ([[llResetScript/fr|llResetScript]])
*Les boites de dialogue de demande de permission n'expirent pas : Si un script a fait 2 demandes, la derniere réponse reçue sera considérée comme le droit accordé.
*Les demandes de permissions d'un agent à n'importe quel autre agent sont limitées à 5 demandes toutes les 10 secondes.
|examples=Demande d'autorisation d'animer un avatar
|examples=Demande d'autorisation d'animer un avatar
<lsl>default
<lsl>default
Line 38: Line 45:
}</lsl>
}</lsl>
|helpers
|helpers
|also_events={{LSL DefineRow||{{LSLG/fr|run_time_permissions/fr|run_time_permissions}}|Évènement déclenché lorsque des droits sont accordés.}}
|also_events={{LSL DefineRow||[[run_time_permissions/fr|run_time_permissions]]|Évènement déclenché lorsque des droits sont accordés ou refusés.}}
|also_functions={{LSL DefineRow||{{LSLG/fr|llGetPermissions/fr|llGetPermissions}}|Renvoie les droits accordés au script.}}
|also_functions={{LSL DefineRow||[[llGetPermissions/fr|llGetPermissions]]|Renvoie les droits accordés au script.}}
{{LSL DefineRow||{{LSLG/fr|llGetPermissionsKey/fr|llGetPermissionsKey}}|Renvoie la clé de l'avatar qui a donné les droits.}}
{{LSL DefineRow||[[llGetPermissionsKey/fr|llGetPermissionsKey]]|Renvoie la clé de l'avatar qui a donné les droits.}}
|also_articles={{LSL DefineRow||{{LSLGC/fr|Permissions/Script|Gestion des droits dans les scripts}}|}}
|also_articles={{LSL DefineRow||[[LSL_Permissions/Script/fr|Gestion des droits dans les scripts]]|}}
|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 :
|notes =
* 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 {{LSLG/fr|run_time_permissions/fr|run_time_permissions}} quelles que soient les situations (même si le droit est accordé automatiquement)
|constants={{LSL Constants/Permissions/fr}}
|constants={{LSL Constants/Permissions/fr}}
|cat1=Permissions/Script/fr
|cat1=Permissions/Script/fr

Revision as of 04:12, 6 June 2009

Description

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).

L'exécution du script se poursuit sans attente de réponse. Quand une réponse est donnée, un évenement run_time_permissions est ajouté dans la queue des évènements.

Constantes Actions Categories Cibles Automatique si :
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 Avatar assis sur l'objet, Objet attaché
PERMISSION_TRIGGER_ANIMATION 0x10 Droit de lancer des animations d'un agent. Animations Tout le monde Avatar assis sur l'objet, Objet attaché
PERMISSION_ATTACH 0x20 Droit d'attacher ou de détacher un objet d'un agent. Attachement Propriétaire Objet attaché
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 Avatar assis sur l'objet, Objet attaché
PERMISSION_CONTROL_CAMERA 0x800 Droit de contrôler la camera de l'agent. Camera Tout le monde Avatar assis sur l'objet, Objet attaché
PERMISSION_TELEPORT 0x1000 téléporte l'avatar Teleport Tout le monde
PERMISSION_SILENT_ESTATE_MANAGEMENT 0x4000 Change les accès estate sans notifier le propriétaire Estate Owner
PERMISSION_OVERRIDE_ANIMATIONS 0x8000 configure les animations par défaut animations sur l'avatar Animation Tout le monde Objet attaché
PERMISSION_RETURN_OBJECTS 0x10000 Utilisé par llReturnObjectsByOwner etllReturnObjectsByID pour retourner les objets des parcelles Parcel Propriétaire, Proopriétaire du groupe

Avertissements

  • Une boite de dialogue bleue apparait à l'écran de l'agent ciblé pour lui demander d'accepter ou refuser d'accorder ce(s) droit(s) au script. Il existe cependant certaines exceptions où le(s) droit(s) sont accordé(s) automatiquement sans boite de dialogue(voir tableau ci dessus).
  • Pour savoir si un dorit a été accordé, vous devez impérativement attendre l'évènement run_time_permissions (même si le droit est accordé automatiquement).
  • Les droits persistent lors des changements d'état
  • 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).
    • Pour demander plusieurs droits en même temps, utilisez l'opérateur OU binaire (|).<lsl>llRequestPermissions(AvatarID, PERMISSION_TAKE_CONTROLS

Exemples

Demande d'autorisation d'animer un avatar <lsl>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");
   }

}</lsl>

Voir également

Évènement

•  run_time_permissions Évènement déclenché lorsque des droits sont accordés ou refusé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
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.