Aller au contenu

« Firestorm Santé de l'avatar » : différence entre les versions

De OSWiki
Ligne 7 : Ligne 7 :
= Mise à jour de l'avatar =
= Mise à jour de l'avatar =
== Arrêter les animations de l'avatar ==
== Arrêter les animations de l'avatar ==
* Cette fonctionnalité arrête immédiatement toute animation en cours et remet l'avatar à sa position neutre.
* Cette fonctionnalité '''arrête immédiatement toute animation en cours''' et remet l'avatar à sa position neutre.
* Si l'avatar est assis sur un objet, il reste lié à cet objet et doit utiliser le bouton [[Firestorm_Outil_marcher_courir#Apparence_et_comportement_des_boutons |'''Se lever''']] 📖 pour se détacher de l'objet.  
* '''Si l'avatar est assis sur un objet''', il reste lié à cet objet. Pour se détacher, vous devez cliquer sur le bouton [[Firestorm_Outil_marcher_courir#Apparence_et_comportement_des_boutons |'''Se lever''']] 📖.
* Ci-dessous, vous trouverez un script qui vous permettra de tester cette fonctionnalité :  
* Pour tester cette fonctionnalité, suivez les étapes ci-dessous :
=== Procédure de test ===
-----
# Placez le script et une animation  dans l'inventaire d'un cube.  
# Placez le script et une animation  dans l'inventaire d'un cube.  
# Asseyez-vous sur le cube.
# Asseyez-vous sur le cube.
# Cliquez sur '''Arrêter les animations de l'avatar''' dans le menu ou sur le bouton <span style="background:grey; padding:3px; margin-left:12px;">[[File:stop_animations.png]]</span> de l'outil '''Arrêter l'animation''' de la [[Firestorm_:_Barre_d'outils#Modifier_la_barre_d'outils |'''barre d'outils''']] 📖.  
# Cliquez sur '''Arrêter les animations de l'avatar''' dans le menu ou sur le bouton <span style="background:grey; padding:3px; margin-left:12px;">[[File:stop_animations.png]]</span> de l'outil '''Arrêter l'animation''' de la [[Firestorm_:_Barre_d'outils#Modifier_la_barre_d'outils |'''barre d'outils''']] 📖.


{| class="mw-collapsible mw-collapsed wikitable"
{| class="mw-collapsible mw-collapsed wikitable"
! Script de test  
! Script de test
|-
|-
|
|
<syntaxhighlight lang="lsl" line>
<syntaxhighlight lang="lsl" line>
     // Ce script qui anime un avatar lorsqu'il s'assied sur la primitive qui le contient.  
     // Ce script anime un avatar lorsqu'il s'assied sur la primitive qui le contient.  
     // Placer une pose dans le cube sans faire de reset.
     // Placer une pose dans le cube sans faire de reset.
     // S'il n'y a pas de pose l'avatar utilisera la pose de "sit" par défaut.
     // S'il n'y a pas de pose, l'avatar utilisera la pose de "sit" par défaut.


string animation;
string animation;
Ligne 28 : Ligne 30 :
on_rez(integer num)
on_rez(integer num)
{
{
llResetScript();
llResetScript();
}
}
changed(integer change)
changed(integer change)
{
{
if(change & CHANGED_INVENTORY)
if(change & CHANGED_INVENTORY)
{
{
llResetScript();
llResetScript();
}
}
         
         
Ligne 41 : Ligne 43 :
if(animation)
if(animation)
{
{
key avatar = llAvatarOnSitTarget();
key avatar = llAvatarOnSitTarget();
if (avatar != NULL_KEY)  
if (avatar != NULL_KEY)  
{  
{  
llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
}else{
}
integer perm=llGetPermissions();  
else
if (perm & PERMISSION_TRIGGER_ANIMATION) {llStopAnimation(animation);}
{
}
integer perm = llGetPermissions();  
if (perm & PERMISSION_TRIGGER_ANIMATION)  
{
llStopAnimation(animation);
}
}
}
}         
}         
}
}
}
     
     
state_entry()  
state_entry()  
{
{
animation = llGetInventoryName(INVENTORY_ANIMATION,0);
animation = llGetInventoryName(INVENTORY_ANIMATION, 0);
}
}
     
     
Ligne 62 : Ligne 69 :
if (perm & PERMISSION_TRIGGER_ANIMATION)
if (perm & PERMISSION_TRIGGER_ANIMATION)
{
{
llStopAnimation("sit");  
llStopAnimation("sit");  
llStartAnimation(animation);
llStartAnimation(animation);
}
}
}
}

Version du 11 avril 2026 à 15:49

BARRE DE MENUS > MOI

Mise à jour de l'avatar

Arrêter les animations de l'avatar

  • Cette fonctionnalité arrête immédiatement toute animation en cours et remet l'avatar à sa position neutre.
  • Si l'avatar est assis sur un objet, il reste lié à cet objet. Pour se détacher, vous devez cliquer sur le bouton Se lever 📖.
  • Pour tester cette fonctionnalité, suivez les étapes ci-dessous :

Procédure de test


  1. Placez le script et une animation dans l'inventaire d'un cube.
  2. Asseyez-vous sur le cube.
  3. Cliquez sur Arrêter les animations de l'avatar dans le menu ou sur le bouton de l'outil Arrêter l'animation de la barre d'outils 📖.
Script de test
    // Ce script anime un avatar lorsqu'il s'assied sur la primitive qui le contient. 
    // Placer une pose dans le cube sans faire de reset.
    // S'il n'y a pas de pose, l'avatar utilisera la pose de "sit" par défaut.

	string animation;
	default 
	{
		on_rez(integer num)
		{
			llResetScript();
		}
		changed(integer change)
		{
			if(change & CHANGED_INVENTORY)
			{
				llResetScript();
			}
	        
			if (change & CHANGED_LINK) 
			{
				if(animation)
				{
					key avatar = llAvatarOnSitTarget();
					if (avatar != NULL_KEY) 
					{ 
						llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION);
					}
					else
					{
						integer perm = llGetPermissions(); 
						if (perm & PERMISSION_TRIGGER_ANIMATION) 
						{
							llStopAnimation(animation);
						}
					}
				}        
			}
		}
	    
		state_entry() 
		{
			animation = llGetInventoryName(INVENTORY_ANIMATION, 0);
		}
	    
		run_time_permissions(integer perm)
		{
			if (perm & PERMISSION_TRIGGER_ANIMATION)
			{
				llStopAnimation("sit"); 
				llStartAnimation(animation);
			}
		}
	}

Arrêter les animations de l'avatar & révoquer les permissions

  • 🏗️

Remettre en forme l'avatar

  • 🏗️

Réinitialiser le squelette

  • 🏗️

Réinitialisation du squelette et les animations

  • 🏗️

Forcer l'actualisation de l'apparence (Rebake)

  • 🏗️

Actualiser les attachements

  • 🏗️

Avatars de base

Utiliser l'avatar masculin de base (Character Test)

  • 🏗️

Utiliser l'avatar féminin de base (Character Test)

  • 🏗️

Informations sur l'avatar

Afficher la complexité de l'avatar

  • 🏗️

Scripts

  • 🏗️

Indicateur de lag

  • 🏗️

Recréer le Bridge LSL

  • 🏗️