Attach/es

From Second Life Wiki
Jump to navigation Jump to search

Descripción

Event: attach( key id ){ ; }

Se dispara en un objecto cuando el objeto se viste o remueve del agente.

• key id si el avatar está o no vestido/adjuntado NULL_KEY.

Especificación

Se dispara

  1. Cuando el objeto se adjunta a un avatar
    • Desde el suelo
    • Desde el inventario
  2. Cuando el avatar que viste el objeto se conecta (log in)
  3. 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

  1. Cuando el avatar que viste el objeto se teleporta
  2. Cuando el avatar que viste el objeto se mueve de una región a otra

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