De contexto
Estas no describen la sala ni a nadie: describen la ejecución en curso. Qué trajo la señal que disparó esta pila, cuánto reunieron sus selectores, cómo se dijo el mensaje que la activó.
Viven mientras la pila corre y son de esa pila: una pila que recibe una señal no hereda las de la
que la envió (solo tiene sus propias @signal_* y @event.signal.antenna_id). Si necesitas pasar el
dato a la receptora, cópialo a una variable de contexto tuya antes
de dar la señal — esas sí viajan con la cadena. Fuera de una ejecución no significan nada.
Lo que reunieron los selectores
| Variable | Qué es |
|---|---|
@selector_furni_count | Cuántos furnis dejaron los selectores de esta pila |
@selector_user_count | Cuántos usuarios |
@signal_furni_count | Cuántos furnis traía la señal que disparó esta pila |
@signal_user_count | Cuántos usuarios traía |
Las cuatro se publican justo después de evaluar los selectores y antes de las condiciones, así que una condición puede leerlas. Es la forma de cortar una pila cuando no hay nada que hacer:
Pila A
│
├─ Causante: Recibir Señal
│ └─ Elige Furni ............................. Antena Wired Pequeña (la antena)
│
├─ Condición: Valor de variable
│ ├─ Escoge una variable ..................... @signal_furni_count (ámbito contexto)
│ ├─ Opciones ................................ >
│ └─ Valor de referencia ..................... 0
│
└─ Efecto: Mover Furni a Furni
├─ Furnis a mover .......................... Usar furnis de Señal
└─ Furni objetivo .......................... Usar furnis seleccionados → Antena Wired PequeñaSin esa condición, una señal que llega vacía hace correr la pila igualmente y los efectos trabajan sobre una selección que no es la que esperabas.
Una pila sin selectores publica 0, no "no tengo la variable". Y una que no nació de una señal también: las cuatro existen siempre.
De dónde vino la señal
| Variable | Qué es |
|---|---|
@event.signal.antenna_id | El id de la antena por la que entró la señal |
Sirve para que una misma pila receptora sepa cuál de sus antenas la despertó, sin montar una pila por antena.
Qué llegó por un Link
Solo existe cuando la pila la disparó Recibir Mensaje por Link o Recibir Dataframe por Link.
| Variable | Qué es |
|---|---|
@event.link.source_room_id | El id de la sala desde la que se envió lo que acaba de llegar. Si lo mandó esta misma sala —por un Link con Recibir mensajes enviados por esta sala—, el de esta sala |
Sirve para que una misma pila sepa de qué sala le llega cada envío, o para reaccionar solo a una de
ellas. Compárala con @room_id (ver Globales) para saber si lo que ha llegado lo
mandó tu propia sala. No pasa a las pilas que llames con Ejecuta Pilas. Cómo
funcionan los Links, en Links y redes.
Cómo se dijo el mensaje
Solo existen cuando la pila la disparó el causante Clave.
| Variable | Qué es | |
|---|---|---|
@event.chat.type | Cómo se dijo: 0 hablar · 1 gritar · 2 susurrar | 🏷️ |
@event.chat.style | La burbuja con la que se dijo | 🏷️ |
La burbuja llega ya resuelta: es la que el mensaje se ve de verdad, no la que se pidió.
Qué cambió en una variable
Solo existen cuando la pila la disparó el causante Cambio de variable.
| Variable | Qué es | |
|---|---|---|
@event.variable_update.box_id | La caja que declara la variable que cambió. Si la que cambió es una interna o inteligente, no existe: no la declara ninguna caja | |
@event.variable_update.change_type | Cómo cambió: 0 creada · 1 cambió de valor · 2 eliminada | 🏷️ |
@event.variable_update.old_value | Lo que valía antes | |
@event.variable_update.new_value | Lo que vale después | |
@event.variable_update.difference | La resta de las dos | |
@event.variable_update.change_origin | De dónde vino: 0 un wired de esta sala · 1 propagado desde otra sala · 2 editado a mano · 3 el sistema | 🏷️ |
Dos huecos a propósito
Cuando la variable se crea, ni old_value ni difference existen: no había valor anterior. Y
cuando se elimina, new_value vale 0, que es lo que leería cualquiera a partir de ese momento.
change_origin es lo que te permite ignorar tus propios cambios y reaccionar solo a los que vienen de
fuera — útil con las variables compartidas entre salas.
Cómo acabó una transacción
Solo existen cuando la pila la disparó
Transacción Completada —las siete transaction_complete— o
Transacción Fallida —transaction_failed.reason—. Lo que
cuentan es del lado del usuario: lo que pagó a los cofres y lo que recibió de ellos.
| Variable | Qué es | |
|---|---|---|
@event.transaction_complete.multiplier | Cuántas veces se cumplió el contrato. Con Dar Moneda o Dar Furni desde Cofre, 1 | |
@event.transaction_complete.deposit.furni_count | Cuántos furnis pagó | |
@event.transaction_complete.deposit.coins_count | Cuántos créditos pagó | |
@event.transaction_complete.deposit.emeralds_count | Cuántas esmeraldas pagó | |
@event.transaction_complete.withdrawal.furni_count | Cuántos furnis recibió de los cofres | |
@event.transaction_complete.withdrawal.coins_count | Cuántos créditos recibió | |
@event.transaction_complete.withdrawal.emeralds_count | Cuántas esmeraldas recibió | |
@event.transaction_failed.reason | Por qué falló. Los motivos y sus textos, en inglés, están en Transacción Fallida | 🏷️ |
Lo pagado incluye lo que no cupo en los cofres y acabó en manos del dueño.
Las únicas que viajan con Ejecuta Pilas
Al revés que el resto de esta página, estas sí pasan a la pila que llames con Ejecuta Pilas: la pila llamada puede leer qué pagó el usuario o por qué falló sin que copies nada. Ninguna otra interna de contexto lo hace.