From Second Life Wiki
TakeControls
llTakeControls
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.
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_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 n'y a pas moyen de le révoquer. Le script ne perdra le droit que s'il est réinitialisé ou si l'objet est retiré du monde (supprimé, détaché ou pris).
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
Evènement
Fonctions
Articles