Estado de los Furnis Cambia
En Wired Code: trigger.stuff_state
Dispara cuando un furni vigilado cambia de estado: una lámpara que se enciende, una puerta que se abre, un dado que sale.
Cómo funciona
Sección titulada «Cómo funciona»Vigila el estado, no quién lo cambió. Da igual si lo cambió una persona clicando, otro wired o un efecto retardado: si el estado cambia, dispara.
Eso lo hace ideal para reaccionar en cadena sin tener que enviar señales.
No hay usuario causante, ni siquiera cuando el cambio lo provocó alguien clicando: al causante le llega el furni, no la persona. Si necesitas saber quién lo tocó, el causante es Furni es Usado; si solo te importa que cambió, este.
Configuración
Sección titulada «Configuración»
Elige Furni, marcándolos uno a uno con un clic en la sala.
Opciones, con dos modos:
- Desencadenar para el estado actual – solo dispara cuando el furni llega al estado que quedó apuntado al guardar. Es el modo para “cuando se abra”, no “cuando cambie”.
- Desencadenar para todos los estados – dispara con cualquier cambio.
Con el primer modo, el estado que se apunta es el del primer furni que marcaste, y es contra ese contra el que se comparan todos los demás. Si marcas varios furnis en estados distintos, los otros solo dispararán cuando lleguen al estado del primero.
Dentro de Mostrar opciones avanzadas está Seleccionar la fuente de furnis, con dos opciones: “Usar furnis seleccionados” (lo normal) y “Usar furnis de Selector”, que vigila lo que devuelva el selector de la pila en vez de tu lista. Con esa segunda opción usa “Desencadenar para todos los estados”: el estado apuntado sigue saliendo de los furnis que marcaste a mano, y si no marcaste ninguno no hay con qué comparar.
En la cabecera hay además el enlace Usar Furni para ajustar condiciones: con el modo “estado actual”, pulsarlo pone a todos los furnis marcados en el estado apuntado. Con “todos los estados” no hay estado apuntado y el enlace no hace nada. Es para dejar el montaje listo, no para configurarlo.
Ejemplo
Sección titulada «Ejemplo»Una alarma que salta cuando se abre la caja fuerte:
Pila A│├─ Causante: Estado de los Furnis Cambia│ ├─ Elige Furni ............................. Caja fuerte│ └─ Opciones ................................ Desencadenar para el estado actual│├─ Selector: Usuarios en Área│ └─ Selección de zona ....................... toda la sala│└─ Efecto: Mensaje ├─ ¿Cuál es el mensaje? .................... "¡Alguien abrió la caja fuerte!" └─ Seleccionar la fuente de usuarios ....... Usar usuarios del SelectorEl selector no es adorno: como este causante no entrega ninguna persona, sin él el Mensaje no tendría a quién hablarle.
Para que el modo “estado actual” funcione, deja la Caja fuerte abierta antes de guardar el causante: lo que se queda apuntado es el estado que tenía en ese momento.
Los bucles son fáciles aquí. Si la pila cambia el estado de un furni que ella misma vigila, se vuelve a disparar. El servidor corta la recursión, pero el resultado es impredecible. Vigila un furni y cambia otro.
Cuando el cambio viene de otro wired, salta al final. Los cambios que hace una pila no avisan uno a uno mientras corre: se apuntan y se despachan cuando esa pila termina. De ahí salen dos cosas que sorprenden: el causante llega después de todo lo que hizo la pila que movió el furni, y si el furni cambió de estado varias veces en esa misma tanda solo salta una vez, con el estado en el que se quedó al final. Los cambios hechos a mano, clicando el furni, sí avisan al momento.