Dar variable
En Wired Code: effect.give_var
Le da valor a una variable que ya exista, para quien tú digas.
Cómo funciona
Sección titulada «Cómo funciona»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.
Configuración
Sección titulada «Configuración»
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 |
Ejemplo
Sección titulada «Ejemplo»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 desencadenanteLa 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.