Scripts de Asignación de Clientes

Los scripts de Asignación de Cliente (AC) (también conocidos como "scripts persistentes") se ejecutan de forma persistente en un dominio y no se ven afectados por otros scripts. Estos scripts se ejecutan en un cliente de asignación independiente de la Interfaz, por lo que el script continuará ejecutándose hasta que se elimine del dominio o cierres el dominio por completo.

Con los scripts de AC, puedes hacer cosas como coordinar acciones entre entidades y avatares, y agregar mascotas virtuales para saludar a los visitantes de tu dominio.

En Esta Página

Añadir un Script AC

Una vez has escrito y alojado tu script, necesitas añadirlo a un dominio (microverso), ya sea el tuyo propio o uno en el que tengas permisos para ejecutar el script AC.

  1. Abre tu 'Panel de Administración de Dominio'. Si estás en un sandbox local, ábrelo haciendo clic en el icono de Vircadia en las notificaciones de la barra de tareas y haciendo clic en Configuración.

  2. En el menú, ves a Contenido > Scripts.

  3. En la sección de Scripts Persistentes, clica + y pega la URL a tu script debajo de 'Script URL'.

  4. En la parte superior de la página, clica en 'Guardar y reiniciar'. Ahora, cada vez que entres a ese dominio, se ejecutará el script AC.

Ejemplo de un Script AC

El siguiente script cuenta la cantidad de entidades encontradas en un dominio utilizando EntityViewer de Vircadia.

var SEARCH_CENTER = {x: 0, y: -10, z: 0};
var SEARCH_RADIUS = 100;

var isInitialized = false;
var timeout = 1000;

var update = function(deltaTime) {
    if (!isInitialized) {
        if (Entities.serversExist() && Entities.canRez()) {
            EntityViewer.setPosition(SEARCH_CENTER);
            EntityViewer.setCenterRadius(SEARCH_RADIUS);
            EntityViewer.queryOctree();

            Script.setTimeout(function(){
                var foundEntities = Entities.findEntities(SEARCH_CENTER, SEARCH_RADIUS).length;

                print("AC Script found: " + foundEntities + " entities within " + SEARCH_RADIUS + "m of " + JSON.stringify(SEARCH_CENTER));
    
            }, timeout);
         
            isInitialized = true;
            Script.update.disconnect(update);
        }
    }
};

Script.update.connect(update);

Ver también