LlStartAnimation/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: 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.