Attach/es
Portal de LSL | Funciones | Eventos | Tipos | Operadores | Constantes | Control de Flujo | Biblioteca de Scripts | Tutoriales |
Especificación
Se dispara
- Cuando el objeto se adjunta a un avatar
- Desde el suelo
- Desde el inventario
- Cuando el avatar que viste el objeto se conecta (log in)
- Cuando un objeto vestido (id == NULL_KEY)
- Se deja en el suelo (drop)
- Se guarda en el inventario (remove)
- Cuando el avatar se desconecta (logs out)
No se dispara
- Cuando el avatar que viste el objeto se teleporta
- Utilizar CHANGED_TELEPORT para detectar teleportaciones
- Cuando el avatar que viste el objeto se mueve de una región a otra
- Utilizar CHANGED_REGION para detectar cambios de región
Ejemplos
Ejemplo simplificado de uso del evento attach
. La variable id
es la key
del avatar al cual el objeto está vestido, en caso contrario tendrá el valor NULL_KEY. La instrucción condicional if se emplea para determinar el valor de la variable id
.
<lsl>default
{
attach(key id) { if(id)//verifica que el id no sea NULL_KEY { llSay(PUBLIC_CHANNEL,"He sido vestido!"); } else { llSay(PUBLIC_CHANNEL,"He sido removido!"); } }
}</lsl>
Notas
on_rez & attach
on_rez se dispara antes que attach cuando se adjunta desde el inventario o durante el proceso de login.
Tiempo de desrenderización
Durante el desrenderizado, un objeto únicamente otorga un tiempo limitado para ejecutar el evento attach, por este motivo si no se finaliza la ejecución del código, éste quedará pendiente para el momento en el que vuelva a renderizarse cancelando la nueva llamada al evento. Por este motivo se aconseja que el código de desrenderizado sea lo más simple posible.
El evento tampoco se disparará si el script estaba en un loop durante el último renderizado. Lo mismo ocurrirá con on_rez.
Ver también
Eventos
• on_rez |
Funciones
• llAttachToAvatar | ||||
• llDetachFromAvatar | ||||
• llGetAttached |
Artículos
• Attachment |