Ir al contenido

Dar variable

Dar variable

En Wired Code: effect.give_var

Le da valor a una variable que ya exista, para quien tú digas.

Es la puerta de entrada al sistema de variables, pero no crea nada: la variable tiene que estar ya declarada con su caja, puesta en la sala. Lo que hace este efecto es dársela a alguien —o a algo— con un valor de partida.

Si la variable no existe, el efecto no hace absolutamente nada y no avisa. Es la causa número uno de que una pila de variables parezca rota: falta la caja.

Lo que decide para qué sirve es a quién se le da. La misma variable puede vivir en una persona —y entonces cada jugador tiene la suya—, en un furni, o en el contexto de la sala, compartida por todos. De esa elección depende que estés montando un inventario personal o un marcador común.

La casilla de sobrescritura es la que separa dos comportamientos muy distintos: sin ella, quien ya tenga la variable conserva su valor y el efecto no hace nada; con ella, se la reinicias a todo el mundo.

El valor inicial puede ser un número o el valor de otra variable. Así cada jugador, o cada furni, puede recibir la variable con un valor distinto sin montar una pila por cada caso: lo tienes explicado en Valor o variable.

Ventana de configuración de Dar variable

Escoge una variable, con los tres iconos de ámbito —furni, usuario y contexto— al lado del rótulo. El icono que marques decide de qué lista salen las variables, y solo se dejan elegir las que se pueden crear y borrar.

Sobreescribir la variable existente, la casilla que decide si se pisa el valor de quien ya la tenía.

Valor inicial, un número o el nombre de otra variable. Se apaga si la variable que has elegido no guarda ningún valor. El botón del campo abre el selector de variables, con dos cosas que importan aquí:

  • Escoge la fuente de la variable: de qué tipo es la variable de la que sale el valor (furni, usuario, global o contexto) y, con furni o usuario, de quién se lee. Ofrece las mismas opciones que el objetivo de abajo, con la lista de furnis marcada a mano como Selección de furnis secundarios.
  • Usar el mismo furni o usuario que la variable de destino: cada destino recibe el valor que tenga él mismo en esa otra variable. Solo se puede marcar si la referencia es del mismo tipo que la variable que das (las dos de furni o las dos de usuario).

Escoge el objetivo de la variable, abajo del todo, debajo del retardo. De él depende de dónde cuelga la variable, y las opciones que ofrece cambian según el icono de ámbito que hayas marcado:

Objetivo La variable vive en
Furni seleccionado Los furnis que vas marcando en la sala; al lado sale la cuenta
Furni del Selector Cada furni del selector
Furni de la Señal Cada furni que traiga la señal
Furni desencadenante El furni que disparó la pila
Usuario desencadenante Quien disparó la pila
Usuario del Selector Cada persona que haya elegido el selector
Usuario de la señal Cada persona que traiga la señal
Usuario clickado La persona sobre la que se hizo clic (solo si su causante está en la pila)
El usuario alcanzado La persona a la que llegó un bot (solo si su causante está en la pila)
Variables de Contexto La ejecución en curso: la ven también las pilas que reciban sus señales o que llames con Ejecuta Pilas, y se borra cuando termina toda esa cadena

Marcar a quien entra por primera vez:

Pila A
│
├─ Causante: Entrada
│ └─ Elige causante .......................... Cualquier usuario
│
├─ Condición: Contiene variable (Negativo)
│ ├─ Escoge una variable ..................... ya_vino (ámbito usuario)
│ └─ Escoge la fuente de la variable ......... Usar usuario desencadenante
│
├─ Efecto: Mensaje
│ ├─ ¿Cuál es el mensaje? .................... "¡Bienvenido por primera vez!"
│ └─ Solo el usuario desencadenante
│
└─ Efecto: Dar variable
├─ Escoge una variable ..................... ya_vino
├─ Valor inicial ........................... 1
└─ Escoge el objetivo de la variable ....... Usuario desencadenante

La casilla de sobreescribir se deja sin marcar: si vuelve a entrar, conserva la que ya tiene.

Sin sobrescritura, es seguro repetirlo. Puedes poner este efecto en una pila que se ejecute mil veces: quien ya tenga la variable la conserva. Es la forma correcta de garantizar que existe antes de usarla.

Elige bien el objetivo desde el principio. Cambiarlo después no mueve las variables ya creadas: te quedas con dos juegos de datos y una pila que parece funcionar a medias.

Sobrescribir no es cambiar el valor: es crear la variable otra vez. El causante Cambio de variable lo verá como Es creada, no como Cambia su valor, y la edad vuelve a cero por las dos fechas. Si tienes una espera montada con Edad de variable, un Dar con sobrescribir la reinicia sin que se note. Para subir un número usa Cambiar valor de variable.

Sobre las variables de contexto, la casilla decide algo distinto: si compartes la variable con el resto de la cadena de señales o te fabricas una propia que tapa a la de arriba. Las reglas están en su página.

Las globales no salen en la lista, y no es un fallo: una variable global existe siempre desde que pones su caja, así que no hay nada que dar.

Si el valor sale de otra variable y a un destino no le toca ninguna referencia que la tenga, ese destino no recibe nada. No se la da con un 0 ni con el número que hubiera escrito: se queda sin ella. Cuando hay varios destinos y varias referencias se reparten como se cuenta en Valor o variable.

Con retardo, el valor se lee cuando el retardo termina, no cuando se dispara la pila.