Difference between revisions of "LlAttachToAvatar/fr"
Jump to navigation
Jump to search
(Oops) |
m (Adding example) |
||
Line 10: | Line 10: | ||
|return_text | |return_text | ||
|spec | |spec | ||
|caveats=*La fonction échouera si l'avatar n'a pas donné les [[llGetPermissionsKey/fr|droits]] et n'est pas le [[llGetOwner/fr|propriétaire]] de l'objet à attacher (même si [[PERMISSION_ATTACH/fr|PERMISSION_ATTACH]] a été bien été accordé. | |caveats=*La fonction échouera si l'avatar n'a pas donné les [[llGetPermissionsKey/fr|droits]] et n'est pas le [[llGetOwner/fr|propriétaire]] de l'objet à attacher (même si [[PERMISSION_ATTACH/fr|PERMISSION_ATTACH]] a été bien été accordé). | ||
*Deux objets ne peuvent être attachés au même endroit. | *Deux objets ne peuvent être attachés au même endroit. | ||
|examples | |examples=<lsl> | ||
// Rezzez un objet sur le sol, déposez-y ce script, il demandera le droit de s'attacher, | |||
// et si ce droit est accordé, il s'attachera à la main gauche. Si le droit est refusé, | |||
// le script se plaint. | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
llRequestPermissions( llGetOwner(), PERMISSION_ATTACH ); | |||
} | |||
run_time_permissions( integer vDroits ) | |||
{ | |||
if (PERMISSION_ATTACH & vDroits) | |||
llAttachToAvatar( ATTACH_LHAND ); | |||
else | |||
llOwnerSay( "Droit de s'attacher refusé" ); | |||
} | |||
on_rez(integer rez) | |||
{ | |||
if (! llGetAttached()) // redémarre le script si non attaché. | |||
llResetScript(); | |||
} | |||
attach(key cleAvatar) | |||
{ // cet évènement survient à la fois lors de l'attachement et du détachement, mais la clé n'est valide que lors de l'attachement | |||
if (cleAvatar) | |||
{ | |||
if (llGetAttached()) | |||
llOwnerSay( "L'objet est attaché" ); | |||
else | |||
llOwnerSay( "L'objet n'est pas attaché"); | |||
} | |||
} | |||
}</lsl> | |||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llDetachFromAvatar/fr|llDetachFromAvatar]]|Détache l'object de l'avatar}} | |also_functions={{LSL DefineRow||[[llDetachFromAvatar/fr|llDetachFromAvatar]]|Détache l'object de l'avatar}} |
Revision as of 04:27, 6 April 2008
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: llAttachToAvatar( integer attachment );113 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
Attache l'objet à l'avatar (qui en a accordé le droit au script) au point désigné par la valeur attachment,
• integer | attachment | – | constante ATTACH_* ou valeur valide (cf. tableau) |
Nécessite le droit PERMISSION_ATTACH pour s'exécuter, droit accordé par le propriétaire.
|
|
|
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_ATTACH, il renverra (en criant) une erreur sur le canal DEBUG_CHANNEL et l'opération échouera (mais le script continuera à s'exécuter).
- Si PERMISSION_ATTACH est accordé par quelqu'un d'autre que le propriétaire, lorsque la fonction est appelée, une erreur est renvoyée (en criant) sur le canal DEBUG_CHANNEL.
- Une fois que le droit PERMISSION_ATTACH 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).
- La fonction échouera si l'avatar n'a pas donné les droits et n'est pas le propriétaire de l'objet à attacher (même si PERMISSION_ATTACH a été bien été accordé).
- Deux objets ne peuvent être attachés au même endroit.
Exemples
<lsl> // Rezzez un objet sur le sol, déposez-y ce script, il demandera le droit de s'attacher, // et si ce droit est accordé, il s'attachera à la main gauche. Si le droit est refusé, // le script se plaint. default {
state_entry() { llRequestPermissions( llGetOwner(), PERMISSION_ATTACH ); }
run_time_permissions( integer vDroits ) { if (PERMISSION_ATTACH & vDroits) llAttachToAvatar( ATTACH_LHAND ); else llOwnerSay( "Droit de s'attacher refusé" ); }
on_rez(integer rez) { if (! llGetAttached()) // redémarre le script si non attaché. llResetScript(); }
attach(key cleAvatar) { // cet évènement survient à la fois lors de l'attachement et du détachement, mais la clé n'est valide que lors de l'attachement if (cleAvatar) { if (llGetAttached()) llOwnerSay( "L'objet est attaché" ); else llOwnerSay( "L'objet n'est pas attaché"); } }
}</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 | |
• | llDetachFromAvatar | – | Détache l'object de l'avatar | |
• | llGetAttached | – | Renvoie le point d'attachement de l'objet |
Articles
• | Droit des scripts | – | Article sur les droits |
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.