Ir al contenido

Variables

Una caja de variable declara un dato: cómo se llama, de quién es y cuánto dura. Se coloca en la sala una sola vez y a partir de ahí las condiciones y los efectos pueden leerla y escribirla.

Sin una caja no hay variable. Es lo primero que hay que poner cuando una sala pasa de reaccionar a recordar.

Esta es la única decisión que importa de verdad, y la que hay que tomar antes de escribir nada. La misma variable llamada puntos significa cosas distintas según dónde viva.

Caja El dato pertenece a Sirve para
Variable de usuario Cada persona Puntuación, progreso, permisos
Variable de furni Cada mueble Contadores de una casilla, estado de un cofre
Variable global La sala, o el hotel Marcadores comunes, fase del juego
Variable de contexto Nadie: se borra al terminar la pila Cálculos intermedios

Cambiar de caja después no arrastra los datos ya guardados: te quedas con dos juegos y una sala que funciona a medias. Piénsalo al principio.

Caja Qué hace
Variable heredada Trae una variable compartida de otra sala tuya
Echo Le pone nombre propio a una variable del sistema

Las cajas de usuario, de furni y global traen opciones de disponibilidad:

  • Mientras la sala esté activa (o el usuario esté en ella) — se pierde al vaciarse la sala. Ojo: una sala se descarga en cuanto lleva un rato sin gente, así que esto dura menos de lo que parece.
  • Permanente — se conserva en esta sala entre visitas.
  • Permanente, compartida entre salas — el dato viaja por el hotel. Potente y peligroso: ponle un nombre que nadie más vaya a usar.

La de contexto no tiene disponibilidad porque no dura, y eso es justo su gracia: nada que limpiar.

La caja solo declara. El trabajo lo hacen las otras familias:

Para Usa
Crearla con un valor Dar variable
Cambiar lo que vale Cambiar valor de variable
Borrarla Eliminar variable
Comprobar si existe Contiene variable
Comprobar cuánto vale Valor de variable
Reunir a quien cumpla Usuarios con variable
Enseñarla en un mensaje Marcador de posición

Es la trampa que más se paga en todo el sistema. Una variable borrada no existe; una que vale cero existe y vale cero. Contiene variable distingue las dos cosas, y de ahí salen los “solo la primera vez” que funcionan de verdad.

Si lo que quieres es reiniciar un marcador, asígnale cero — no lo borres.

Además de las tuyas, el sistema trae variables ya hechas que puedes leer sin declarar nada: la puntuación, la hora, el nombre, el efecto que lleva puesto el avatar. Se reconocen porque empiezan por arroba, como @effect.

Algunas se pueden escribir, y eso es lo que permite hacer cosas que no tienen efecto propio: asignarle un número a @effect con Cambiar valor de variable es la forma de ponerle un efecto a un avatar, y asignarle 0 se lo quita.