LlTakeControls/fr
Jump to navigation
Jump to search
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: llTakeControls( integer contrôles à intercepter, integer accept, integer transf );111 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
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.