Ir al contenido
Wiki Hartico

Recibir Dataframe por Link

Recibir Dataframe por Link

En Wired Code: trigger.receive_dataframe

Dispara cuando a uno de los Links WIRED que tiene marcados le llega un dataframe enviado con Enviar Dataframe por Link, y reparte sus valores: cada clave que le interese, a un identificador de texto o a una variable de contexto.

Cómo funciona

Un dataframe es una tabla pequeña: hasta 12 filas, cada una con una clave y su valor. Este causante no se queda con la tabla entera: tú le dices qué claves recoge y dónde guarda cada una. Las claves que lleguen y no estén en tus filas se ignoran.

Cada fila tuya guarda el valor de su clave de una de dos formas:

Capturar comoDónde quedaPara qué
Identificador de textoEn un $(nombre) que eliges túMeterlo en los textos de la pila: Mensaje, Enviar Mensaje por Link… El botón Añadir identificador del editor ya te lo ofrece
Variable de contextoEn una variable de contexto tuyaComparar el valor en una condición, operar con él o guardarlo en otra variable

Y lo que pasa si no llega lo que esperas:

  • Una clave que no viene deja su identificador con el texto null, y su variable de contexto a −1.
  • En una variable solo entra un número entero, escrito tal cual: 42, -5, +5 o 007 valen. Si llega otra cosa —abc, 4x, 3.5, un número con espacios delante o uno enorme—, la variable vale −1, igual que si la clave no hubiera llegado. El identificador, en cambio, guarda el texto tal cual. Así puedes comprobar con Valor de Variable si llegó un número válido.
  • No rellena $(trigger_text). Ese es del mensaje, no del dataframe: un Enviar Mensaje por Link con Del Causante WIRED en esta pila manda el texto null.

Lo demás funciona como en Recibir Mensaje por Link, y está contado en Links y redes:

  • Le llega lo que sale por otro Link de la misma red en otra sala cargada, y lo que sale por su propio Link si tiene marcada Recibir mensajes enviados por esta sala.
  • No hay usuario desencadenante, y el furni desencadenante es el Link que recibió.
  • Qué sala lo mandó lo dice @event.link.source_room_id (ver De contexto).

Configuración

Ventana de configuración de Recibir Dataframe por Link

Número de filas, de 0 a 12. Viene en 0, y por cada fila que pidas aparece una sección Fila 1, Fila 2…, con dos líneas:

  • Clave, el nombre del valor que recoges, y a su lado el desplegable Capturar como: Identificador de texto —el de fábrica— o Variable de contexto.
  • Debajo, según lo que elijas: Identificador, el nombre del $(…) sin el $ ni los paréntesis; o Variable:, la variable de contexto donde se guarda. Solo puedes elegir variables de contexto creadas por ti que guarden valor y se puedan escribir; las demás salen en gris.

Los Links WIRED que escucha están dentro de Mostrar opciones avanzadas, con las mismas dos fuentes que en Recibir Mensaje por Link: Usar furnis seleccionados —la de fábrica, con los Links marcados con un clic en la sala— o Usar furnis de Selector. Solo valen Links WIRED: con otro furni entre los marcados sale «Selecciona al menos un Link WIRED.»

Las reglas de las claves

La clave tiene que ser la misma que la que escribió quien envía, y se guarda ya normalizada:

  • De 1 a 40 caracteres: letras sin acentos, números o _.
  • Los espacios pasan a _ y las mayúsculas a minúsculas: si escribes Mi Clave, al guardar queda mi_clave.
  • No se puede repetir en dos filas.

El identificador sigue reglas parecidas: de 1 a 40 letras sin acentos, números o _, se guarda en minúsculas y no puede ser trigger_text, que está reservado. Y dos filas no pueden guardar en el mismo identificador ni en la misma variable.

Si algo no cumple, al pulsar Listo sale el aviso y no se guarda. Los de una fila llevan delante Fila N:.

AvisoPor qué
«El nombre de la clave debe tener entre 1 y 40 caracteres.»Clave vacía o demasiado larga
«El nombre de la variable solo puede contener letras, números o guiones bajos.»La clave lleva acentos, signos u otros caracteres. Aunque hable de variables, es la clave
«El nombre de la variable ya está en uso en esta sala, elige otro.»Dos filas con la misma clave. También habla de variables, y también es la clave
«El texto de muestra tiene que tener entre 1 y 40 caracteres.»Identificador vacío o demasiado largo
«El texto de muestra solo puede contener letras, números o "_"»El identificador lleva otros caracteres
«El identificador trigger_text está reservado para el mensaje o chat recibido.»Has llamado trigger_text al identificador
«Elige como destino una Variable de Contexto creada por un usuario a la que se pueda escribir.»La fila va a variable y no tiene una válida elegida
«Cada capturador debe ser único en esta pila wired.»Dos filas guardan en el mismo identificador o en la misma variable
«Este dataframe es demasiado larga para guardarla. Acorta sus claves o mensajes, o usa menos filas.»Entre todas las filas te pasas de lo que cabe

Ejemplo

La sala «Vestíbulo» se entera de cada vuelta que se completa en la sala «Circuito». La pila del Circuito manda dos claves, corredor y vueltas (está en el ejemplo de Enviar Dataframe por Link). En el Vestíbulo, el Link B está en la misma red, y vueltas_recibidas es una variable de contexto de la sala:

Sala «Vestíbulo» · Pila A
│
├─ Causante: Recibir Dataframe por Link
│    ├─ Número de filas ......................... 2
│    ├─ Fila 1 .................................. Clave: corredor · Identificador de texto → corredor
│    ├─ Fila 2 .................................. Clave: vueltas · Variable de contexto → vueltas_recibidas
│    └─ Links WIRED ............................. Usar furnis seleccionados → Link B
│
├─ Selector: Usuarios en Área
│    └─ Selección de zona ....................... toda la sala
│
├─ Condición: Valor de variable
│    ├─ Escoge una variable ..................... vueltas_recibidas    (ámbito contexto)
│    ├─ Opciones ................................ =
│    └─ Valor de referencia ..................... 10
│
└─ Efecto: Mensaje
     ├─ ¿Cuál es el mensaje? .................... "¡$(corredor) ha completado 10 vueltas!"
     ├─ Visibilidad del mensaje ................. Solo el usuario desencadenante
     └─ Seleccionar la fuente de usuarios ....... Usar usuarios del Selector

corredor va a un identificador porque solo hace falta escribirlo; vueltas va a una variable porque la condición tiene que compararlo. Con cualquier otra cifra la condición falla y no sale nada.

Notas

Las dos puntas tienen que usar la misma clave. Si quien envía manda Puntos y aquí pones puntos, casan, porque las dos se guardan normalizadas. Pero punto y puntos no: la fila se queda con null.

Solo oye dataframes. Un mensaje que llegue por el mismo Link no lo dispara: para eso está Recibir Mensaje por Link.

Las variables de contexto viven lo que dura esta ejecución. Si quieres conservar lo que llega, cópialo a una variable de usuario, de furni o global con Cambiar valor de variable.

En esta página