LlTakeControls/fr

From Second Life Wiki
Jump to navigation Jump to search

Description

Fonction: llTakeControls( integer contrôles à intercepter, integer accept, integer transf );

Permet a un script d'intercepter des actions sur le clavier et la souris de l'avatar qui en a donné la permission.

• integer contrôles à intercepter Combinaison des constantes CONTROL_* (ou logique entre les différentes constantes)
• integer accept Booléen : TRUE : Activation de l'interception - FALSE : désactivation
• integer transf Booléen : TRUE : Les actions interceptees sont aussi transmises au controle de l'avatar - FALSE : Les actions ne sont pas transmises.

Nécessite le droit PERMISSION_TAKE_CONTROLS pour s'exécuter
Si l'interception est activée les événements control seront déclenchés.

Constantes Valeurs Descriptions
CONTROL_FWD 0x00000001 Déplacement vers l'avant ( ou W)
CONTROL_BACK 0x00000002 Déplacement vers l'arrière ( ou S)
CONTROL_LEFT 0x00000004 Déplacement vers la gauche (⇧ Maj- ou ⇧ Maj-A [ ou A en vue subjective])
CONTROL_RIGHT 0x00000008 Déplacement vers la droite (⇧ Maj- ou ⇧ Maj-D [ ou D en vue subjective])
CONTROL_ROT_LEFT 0x00000100 Rotation vers la gauche ( ou A)
CONTROL_ROT_RIGHT 0x00000200 Rotation vers la droite ( ou D)
CONTROL_UP 0x00000010 Déplacement vers le haut (PgUp ou E)
CONTROL_DOWN 0x00000020 Déplacement vers le bas (PgDn ou C)
CONTROL_LBUTTON 0x10000000 Bouton gauche de la souris
CONTROL_ML_LBUTTON 0x40000000 Bouton gauche de la souris en vue subjective

Avertissements

  • 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_TAKE_CONTROLS, il renverra (en criant) une erreur sur le canal DEBUG_CHANNEL et l'opération échouera (mais le script continuera à s'exécuter).
  • Une fois que le droit PERMISSION_TAKE_CONTROLS est accordé, il peut être révoqué depuis le script (avec llReleaseControls ou un nouvel appel à llRequestPermissions) ou si l'utilisateur choisit de "Reprendre le contrôle" dans le menu "Monde". Sinon le script ne perdra ses droits que s'il est réinitialisé ou dérezzé (effacé, détaché ou repris).

Exemples

Notes

Une fois que le script a acquis le droit de "prise de controle", il ne pourra pas être stoppé dans une zone no-script. Cette option est utile pour que les véhicules et les AO fonctionnent dans ces zones (l'utilisation de certaines fonctions (sur liste noire) peut quand même conduire à l'arrêt du script).

Voir également

Évènement

•  run_time_permissions Évènement de réception des droits
•  control Evènement déclenché par une action de l'agent.

Fonctions

•  llGetPermissions Renvoie les droits accordés
•  llGetPermissionsKey Renvoie l'agent qui a accordé les droits
•  llRequestPermissions Demande des droits
•  lReleaseControls Désactive la détection des actions de l'agent

Articles

•  Droit des scripts Article sur les droits
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.