Ir al contenido

Valor de variable

Valor de variable

En Wired Code: condition.var_val_match

Comprueba el contenido de una variable, comparándolo con un valor fijo o con otra variable.

Es la condición más potente del sistema de variables, porque permite comparar dos variables entre sí y no solo contra un número escrito a mano. Con eso se montan marcadores, comparaciones entre jugadores y máquinas de estados.

Ventana de configuración de Valor de variable

Escoge una variable, la que se va a comprobar, con los cuatro iconos de ámbito —furni, usuario, global y contexto— al lado del rótulo. Solo se dejan elegir las que guardan un valor.

Opciones, la comparación, con seis símbolos: >, ≥, =, ≤, < y ≠.

Valor de referencia, un número o el nombre de otra variable: contra qué se compara (Valor o variable). El botón del campo abre el selector de variables, que trae dos cosas que importan aquí:

  • Escoge la fuente de la variable: de qué tipo es la variable de referencia (furni, usuario, global o contexto) y, con furni o usuario, de quién se lee. Ofrece las mismas opciones que la fuente de abajo.
  • Usar el mismo furni o usuario que la variable de destino: cada uno se compara con el valor que tenga él mismo en la variable de referencia. Solo se puede marcar si las dos variables son del mismo tipo (las dos de furni o las dos de usuario).

Cumplir condición si, para cuando la variable se lee de varios sitios a la vez —varios furnis o varias personas—: Todos coinciden o Algunos coinciden.

Escoge la fuente de la variable, abajo del todo: de quién se lee la variable que se comprueba. Con ámbito usuario: Usuario desencadenante, Usuario del Selector, Usuario de la señal, Usuario clicado o El usuario alcanzado (estos dos solo si su causante está en la pila). Con ámbito furni: Usar furnis seleccionados, Selección de furnis secundarios (una segunda lista marcada a mano), Usar furnis de Selector, Usar furnis de Señal o Usar furni desencadenante. Con ámbito global o de contexto no hay nada que elegir.

Un marcador que anuncia al líder:

Pila A
│
├─ Causante: Periodos
│ └─ Establecer tiempo ....................... 10 s
│
├─ Selector: Usuarios en Área
│ └─ Selección de zona ....................... toda la sala
│
├─ Condición: Valor de variable
│ ├─ Escoge una variable ..................... puntos_rojo (ámbito global)
│ ├─ Opciones ................................ >
│ └─ Valor de referencia ..................... puntos_azul (variable global)
│
└─ Efecto: Mensaje
├─ ¿Cuál es el mensaje? .................... "Va ganando el equipo rojo"
└─ Seleccionar la fuente de usuarios ....... Usar usuarios del Selector

Las dos variables son globales —el marcador común de la sala—, así que la condición no depende de ningún usuario y se evalúa una sola vez. El selector está ahí solo para que el Mensaje tenga a quién hablarle: con un causante periódico, Mensaje está vetado si no trabaja sobre los usuarios del selector.

Comparar dos variables es lo que la hace especial. Si te encuentras copiando valores a mano para poder compararlos, es que te falta poner la variable en el campo de referencia.

No la uses con variables de contexto para guardar un marcador. Una variable de contexto se borra en cuanto termina la pila, así que en la siguiente ejecución ya no vale nada: no la encuentra y la condición falla. Para un marcador que dure, la caja es la variable global o la de usuario.

Con varias referencias hay que cumplirlas todas. Si la variable de referencia sale de un conjunto —varios furnis, varias personas—, no se elige una: el valor comprobado tiene que satisfacer el símbolo contra cada uno de esos valores. Y si la referencia no resuelve a ningún valor, la condición no se cumple.

Con «Usar el mismo furni o usuario que la variable de destino», cada uno se compara con el suyo. Quien no tenga la variable de referencia no cumple, y con Todos coinciden basta uno así para que la condición falle. Es la forma de comparar, por ejemplo, el puntos de cada jugador con su propio tope sin que se crucen.