LlStartAnimation/fr
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: llStartAnimation( string anim );129 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
Lance l'animation anim pour l'agent qui a donné au script le droit PERMISSION_TRIGGER_ANIMATION et si les droits n'ont pas été révoqués depuis.
• string | anim | – | un animation de l'inventaire |
Nécessite le droit PERMISSION_TRIGGER_ANIMATION pour s'exécuter
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_TRIGGER_ANIMATION, 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_TRIGGER_ANIMATION est accordé, il peut être révoqué depuis le script (par exemple avec un nouvel appel à llRequestPermissions). Sinon le script ne perdra ses droits que s'il est réinitialisé ou dérezzé (effacé, détaché ou repris).
- Si anim n'est pas dans l'inventaire de la prim ou n'est pas un animation alors une erreur se produit sur le canal DEBUG_CHANNEL.
- 30 animations au maximum peuvent être jouées simultanément (avant 1.25.3 il n'y avait pas de limite puis la limite était de 15 jusqu'à 1.25.4)
Exemples
<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> Ajouter une animation ou une pose dans le même objet que le script suivant <lsl> string animation; // le nom de l'animation sera stocké dans cette variable globale
default {
state_entry() { // definition d'un sittarget llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); // recuperation du nom de la premiere animation de l'inventaire de l'objet animation = llGetInventoryName(INVENTORY_ANIMATION,0); } changed(integer change) { if (change & CHANGED_LINK) { key av = llAvatarOnSitTarget(); if (av!=NULL_KEY) // l'avatar s'assoit { llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION); { else // l'avatar se leve { if (animation) llStopAnimation(animation); // stoppe l'animation llResetScript(); // fait un reset du script pour réinitialiser les permissions } } } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { if (animation) { llStopAnimation("sit"); // stoppe l'animation par defaut d'un avatar assis llStartAnimation(animation); } } }
} </lsl>
Voir également
Évènement
• | run_time_permissions | – | Évènement de réception des droits |
Fonctions
• | llGetPermissions | – | Renvoie les droits accordés | |
• | llGetPermissionsKey | – | Renvoie l'agent qui a accordé les droits | |
• | llRequestPermissions | – | Demande des droits | |
• | llStopAnimation | – | Arrête une animation |
Articles
• | Droit des scripts | – | Article sur les droits | |
• | Animations prédéfinies | – | Donne la liste des animations toujours disponibles dans SL |
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.