Ir al contenido
Wiki Hartico

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

VariableQué es
@selector_furni_countCuántos furnis dejaron los selectores de esta pila
@selector_user_countCuántos usuarios
@signal_furni_countCuántos furnis traía la señal que disparó esta pila
@signal_user_countCuá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ña

Sin 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

VariableQué es
@event.signal.antenna_idEl 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.

Solo existe cuando la pila la disparó Recibir Mensaje por Link o Recibir Dataframe por Link.

VariableQué es
@event.link.source_room_idEl 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.

VariableQué es
@event.chat.typeCómo se dijo: 0 hablar · 1 gritar · 2 susurrar🏷️
@event.chat.styleLa 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.

VariableQué es
@event.variable_update.box_idLa 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_typeCómo cambió: 0 creada · 1 cambió de valor · 2 eliminada🏷️
@event.variable_update.old_valueLo que valía antes
@event.variable_update.new_valueLo que vale después
@event.variable_update.differenceLa resta de las dos
@event.variable_update.change_originDe 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.

VariableQué es
@event.transaction_complete.multiplierCuántas veces se cumplió el contrato. Con Dar Moneda o Dar Furni desde Cofre, 1
@event.transaction_complete.deposit.furni_countCuántos furnis pagó
@event.transaction_complete.deposit.coins_countCuántos créditos pagó
@event.transaction_complete.deposit.emeralds_countCuántas esmeraldas pagó
@event.transaction_complete.withdrawal.furni_countCuántos furnis recibió de los cofres
@event.transaction_complete.withdrawal.coins_countCuántos créditos recibió
@event.transaction_complete.withdrawal.emeralds_countCuántas esmeraldas recibió
@event.transaction_failed.reasonPor 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.

En esta página