Eliminar variable
En Wired Code: effect.remove_var
Borra una variable. No la pone a cero: la deja en no existe, que es un estado distinto.
Cómo funciona
Sección titulada «Cómo funciona»Esa distinción es todo el sentido de este efecto. Una variable que vale cero existe; una borrada, no. Y hay una condición que sabe distinguirlas: Contiene variable y su versión negativa.
Con eso se monta lo que hay que poder repetir desde cero: quitar la marca de “ya ha jugado” para que alguien pueda volver a intentarlo, limpiar los datos de una partida al terminar, retirar un permiso.
Configuración
Sección titulada «Configuración»
Elegir variable, con los tres botones de ámbito al lado —furni, usuario y contexto— y debajo la lista de variables de ese ámbito. Cambiar de ámbito vacía lo que tuvieras elegido.
Escoge el objetivo de la variable, abajo del todo, debajo del retardo: de dónde se borra. Las opciones cambian según el ámbito:
- Furni: Furni seleccionado, con su contador, para marcarlos clicando en la sala; Furni del Selector; Furni de la Señal; Furni desencadenante.
- Usuario: Usuario desencadenante, Usuario del Selector, Usuario de la señal, y además Usuario clickado y El usuario alcanzado si el causante correspondiente está en la pila.
- Contexto: se queda fijo en Variables de Contexto y las flechas se apagan.
Ejemplo
Sección titulada «Ejemplo»Un botón que permite volver a jugar:
Pila A│├─ Causante: Click en Furni│ └─ Elige Furni ............................. Interruptor de Suelo 1│├─ Efecto: Eliminar variable│ ├─ Elegir variable ......................... ya_jugo (ámbito usuario)│ └─ Escoge el objetivo de la variable ....... Usuario desencadenante│└─ Efecto: Mensaje ├─ ¿Cuál es el mensaje? .................... "Puedes volver a intentarlo" └─ Visibilidad del mensaje ................. Solo el usuario desencadenanteBorrar no es poner a cero. Si tu pila comprueba el valor con Valor de variable y la variable no existe, no estás comparando contra cero: no estás comparando contra nada. Para reiniciar un marcador, asígnale cero con Cambiar valor de variable en lugar de borrarlo.
Al limpiar al final de una partida, acuérdate de que cada persona tiene su copia si la variable es de usuario: hace falta un selector para llegar a todas.
Las globales no se pueden borrar. El botón de ámbito solo ofrece furni, usuario y contexto, así que una variable global ni siquiera sale en la lista: existe siempre, desde que su caja tiene nombre. Para “reiniciarla”, asígnale cero.
Las internas (@…) tampoco, salvo tres. La lista las enseña, pero no deja marcarlas. Las excepciones son las que se pueden tener o no tener —el objeto de mano, el efecto de avatar y el baile—, y en ellas borrar no es borrar: es vaciarlas, o sea quitarle el objeto de la mano, quitarle el efecto o pararle el baile.
Va siempre después de dar y de cambiar. Dentro de una misma pila el orden lo pone el sistema, no tú: primero Dar variable, luego Cambiar valor y por último este. Si en la misma pila das una variable y la borras, acaba borrada, la coloques donde la coloques.
Borrar algo que no está no da error. Ni aviso, ni línea en el registro, ni nada: la pila sigue como si tal cosa. Es cómodo, pero también es por lo que un ámbito mal puesto pasa desapercibido.
Si la variable es permanente, el borrado también lo es. No vuelve al recargar la sala.
En contexto retira la declaración, no un valor. Deja de verla la ejecución en curso; y si la declaró una pila anterior de la cadena de señales, dejan de verla también las demás ramas que colgaban de ella.