Difference between revisions of "LlAttachToAvatarTemp"
(intial version of translation in french) |
m (replace /fr by {{#var:lang}}) |
||
Line 1: | Line 1: | ||
{{Multi-lang||/fr}} | {{Multi-lang||/fr}} | ||
{{LSL_Function | {{LSL_Function{{#var:lang}} | ||
|inject-2= | |inject-2= | ||
{{LSL_Function | {{LSL_Function{{#var:lang}}/permission|PERMISSION_ATTACH|temp=*}} | ||
|func = llAttachToAvatarTemp | |func = llAttachToAvatarTemp | ||
|func_desc = suit les mêmes règles que [[llAttachToAvatar | |func_desc = suit les mêmes règles que [[llAttachToAvatar{{#var:lang}}|llAttachToAvatar]], à l’exception près que l'objet ne sera pas créé dans l inventaire de l'avatar et disparaîtra à sa déconnexion ou au détachement de l objet. En effet , par design , cela permet de "redonner" plusieurs fois à un autre utilisateur un objet en tant qu attachement sans que cela pollue son inventaire. | ||
|func_footnote = On doit considérer cet objet comme un attachement temporaire ; un utilisateur ne peut pas utiliser les actions "prendre" , "prendre une copie" sur celui ci. | |func_footnote = On doit considérer cet objet comme un attachement temporaire ; un utilisateur ne peut pas utiliser les actions "prendre" , "prendre une copie" sur celui ci. | ||
* D'autre part, le grand avantage de cette fonction est que l'utilisateur n'a pas besoin d'être le propriétaire de l objet pour pouvoir l'attacher. | * D'autre part, le grand avantage de cette fonction est que l'utilisateur n'a pas besoin d'être le propriétaire de l objet pour pouvoir l'attacher. | ||
Line 11: | Line 11: | ||
|p1_name = attach_point | |p1_name = attach_point | ||
|p1_desc = ATTACH_* constante ( voir table ci-dessous ) | |p1_desc = ATTACH_* constante ( voir table ci-dessous ) | ||
|constants = {{LSL_Constants_Attachment | |constants = {{LSL_Constants_Attachment{{#var:lang}}}} | ||
|caveats = | |caveats = | ||
* Toutes les permissions du script sont à réinitialiser lors de l 'attachement de l'objet temporaire ( probablement pour des mesures de sécurité) | * Toutes les permissions du script sont à réinitialiser lors de l 'attachement de l'objet temporaire ( probablement pour des mesures de sécurité) | ||
* L utilisation de llAttachToAvatarTemp sur un objet que vous n avez pas la permission de transférer provoquera une erreur de script ''No permission to transfer'', même si vous l'attachez à vous mêmes ( il faut voir cette fonction comme un transfert) | * L utilisation de llAttachToAvatarTemp sur un objet que vous n avez pas la permission de transférer provoquera une erreur de script ''No permission to transfer'', même si vous l'attachez à vous mêmes ( il faut voir cette fonction comme un transfert) | ||
* Les points d'attachements peuvent être occupés par plusieurs objets. | * Les points d'attachements peuvent être occupés par plusieurs objets. | ||
* Si {{LSLP|attach_point}} est zéro , il se retrouve attaché par défaut à la main droite ({{LSL Const | * Si {{LSLP|attach_point}} est zéro , il se retrouve attaché par défaut à la main droite ({{LSL Const{{#var:lang}}|ATTACH_RHAND|integer|6|c=right hand}}). | ||
* Si l'objet est déjà attaché , la fonction ne fait rien silencieusement , même si le point d'attachement est différent . | * Si l'objet est déjà attaché , la fonction ne fait rien silencieusement , même si le point d'attachement est différent . | ||
|examples = <lsl>// exemple basique qui ne fait rien d intéressant mais qui illustre son fonctionnement | |examples = <lsl>// exemple basique qui ne fait rien d intéressant mais qui illustre son fonctionnement | ||
Line 61: | Line 61: | ||
<lsl>//-- Cet exemple démontre le transfert de propriété d un objet temporaire attaché via llAttachToAvatarTemp() | <lsl>//-- Cet exemple démontre le transfert de propriété d un objet temporaire attaché via llAttachToAvatarTemp() | ||
//-- Quelque soit la personne qui touche l objet , aura l objet attaché sous réserve | //-- Quelque soit la personne qui touche l objet , aura l objet attaché sous réserve qu'il accepte les permissions qu'on lui demande | ||
//-- Mais l'objet attaché n’apparaîtra pas dans l'inventaire. | //-- Mais l'objet attaché n’apparaîtra pas dans l'inventaire. | ||
default | default | ||
Line 91: | Line 91: | ||
}</lsl> | }</lsl> | ||
<lsl>// Cet exemple illustre comment | <lsl>// Cet exemple illustre comment gérer les permissions après l'appel à llAttachToAvatarTemp. | ||
// Parce que le | // Parce que le propriétaire a changé , la permission initiale PERMISSION_ATTACH est révoquée et de nouvelles permissions ont besoin d'être demandées . | ||
// Une façon de procéder sans que l'utilisateur soit ennuyé par une autre boite de dialogue pour demander les permissions est de | // Une façon de procéder sans que l'utilisateur soit ennuyé par une autre boite de dialogue pour demander les permissions est de | ||
// demander de nouvelles permissions lors de l attachement à l avatar . | // demander de nouvelles permissions lors de l attachement à l avatar . | ||
Line 167: | Line 167: | ||
}</lsl> | }</lsl> | ||
|also_functions = {{LSL DefineRow||[[llDetachFromAvatar | |also_functions = {{LSL DefineRow||[[llDetachFromAvatar{{#var:lang}}|llDetachFromAvatar]]|Détache un objet de l'avatar}} | ||
{{LSL DefineRow||[[llGetAttached | {{LSL DefineRow||[[llGetAttached{{#var:lang}}|llGetAttached]]|Retourne le numéro du point attachement}} | ||
|cat1 = Attachment | |cat1 = Attachment{{#var:lang}} | ||
|cat2 = Avatar | |cat2 = Avatar{{#var:lang}} | ||
|history = Date de Release [[ Release_Notes/Second_Life_Server/12#12.07.24.262437 | 24/07/2012 ]] | |history = Date de Release [[ Release_Notes/Second_Life_Server/12#12.07.24.262437 | 24/07/2012 ]] | ||
}} | }} |
Revision as of 12:27, 29 June 2013
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Don't delete the 'func_id'
Description
Fonction: llAttachToAvatarTemp( integer attach_point );suit les mêmes règles que llAttachToAvatar, à l’exception près que l'objet ne sera pas créé dans l inventaire de l'avatar et disparaîtra à sa déconnexion ou au détachement de l objet. En effet , par design , cela permet de "redonner" plusieurs fois à un autre utilisateur un objet en tant qu attachement sans que cela pollue son inventaire.
• integer | attach_point | – | ATTACH_* constante ( voir table ci-dessous ) |
On doit considérer cet objet comme un attachement temporaire ; un utilisateur ne peut pas utiliser les actions "prendre" , "prendre une copie" sur celui ci.
- D'autre part, le grand avantage de cette fonction est que l'utilisateur n'a pas besoin d'être le propriétaire de l objet pour pouvoir l'attacher.
En revanche, les permissions du script sont à réinitialiser pour le"propriétaire à titre temporaire".
|
|
|
Avertissements
- Toutes les permissions du script sont à réinitialiser lors de l 'attachement de l'objet temporaire ( probablement pour des mesures de sécurité)
- L utilisation de llAttachToAvatarTemp sur un objet que vous n avez pas la permission de transférer provoquera une erreur de script No permission to transfer, même si vous l'attachez à vous mêmes ( il faut voir cette fonction comme un transfert)
- Les points d'attachements peuvent être occupés par plusieurs objets.
- Si attach_point est zéro , il se retrouve attaché par défaut à la main droite (ATTACH_RHAND).
- Si l'objet est déjà attaché , la fonction ne fait rien silencieusement , même si le point d'attachement est différent .
Exemples
<lsl>// exemple basique qui ne fait rien d intéressant mais qui illustre son fonctionnement default {
state_entry() { llRequestPermissions( llGetOwner(), PERMISSION_ATTACH ); }
run_time_permissions( integer vBitPermissions ) { if( vBitPermissions & PERMISSION_ATTACH ) { llAttachToAvatarTemp( ATTACH_LHAND ); } else { llOwnerSay( "Permission to attach denied" ); } }
on_rez(integer rez) { if(!llGetAttached()) { //reset the script if it's not attached. llResetScript(); } }
attach(key AvatarKey) { if(AvatarKey) {//event is called on both attach and detach, but Key is only valid on attach integer test = llGetAttached(); if (test) { llOwnerSay( "The object is attached" ); } else { llOwnerSay( "The object is not attached"); } } }
}</lsl>
<lsl>//-- Cet exemple démontre le transfert de propriété d un objet temporaire attaché via llAttachToAvatarTemp() //-- Quelque soit la personne qui touche l objet , aura l objet attaché sous réserve qu'il accepte les permissions qu'on lui demande //-- Mais l'objet attaché n’apparaîtra pas dans l'inventaire. default {
touch_start(integer num_touches) { llRequestPermissions( llDetectedKey(0), PERMISSION_ATTACH ); }
run_time_permissions( integer vBitPermissions ) { if( vBitPermissions & PERMISSION_ATTACH ) { llAttachToAvatarTemp( ATTACH_LHAND ); } else { llOwnerSay( "Permission to attach denied" ); } }
on_rez(integer rez) { if(!llGetAttached()) { //reset the script if it's not attached. llResetScript(); } }
}</lsl>
<lsl>// Cet exemple illustre comment gérer les permissions après l'appel à llAttachToAvatarTemp. // Parce que le propriétaire a changé , la permission initiale PERMISSION_ATTACH est révoquée et de nouvelles permissions ont besoin d'être demandées . // Une façon de procéder sans que l'utilisateur soit ennuyé par une autre boite de dialogue pour demander les permissions est de // demander de nouvelles permissions lors de l attachement à l avatar . // Et utiliser ainsi , les permissions automatiques accordées pour les objets attachés .
integer gAttach = TRUE;
default {
touch_start(integer num) { if (gAttach) // l'objet n' a pas déjà été attaché { llRequestPermissions(llDetectedKey(0),PERMISSION_ATTACH); gAttach = FALSE; } else // L'objet a été attaché , on vérifie les permissions PERMISSION_ATTACH puis on le détache { if (llGetPermissions() & PERMISSION_TRIGGER_ANIMATION
Voir également
Fonctions
• | llDetachFromAvatar | – | Détache un objet de l'avatar | |
• | llGetAttached | – | Retourne le numéro du point attachement |