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
Eco Le pone nombre propio a otra variable de la sala, también a una tuya

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 se puede traer a otras salas tuyas con una Variable heredada. No hace falta que el nombre sea único en el hotel: se comparte por caja, no por nombre.

Las permanentes tienen tope: cada sala admite como mucho 100 variables permanentes de cada tipo (de usuario, de furni y globales, contadas por separado). Si pasas a permanente la caja que haría 101, el cambio no se guarda y el único aviso es un susurro — ver Límites.

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
Enseñarla sobre el avatar o el furni Variable FX
Publicar la clasificación de una variable de usuario Tabla de Clasificación
Leerla y escribirla desde fuera del juego API pública de variables

Muchos wireds tienen un campo que acepta un número o el nombre de una variable: el valor inicial de un Dar variable, el número contra el que opera un Cambiar valor, el plazo de una espera. Cómo se elige la variable y de quién se lee está en Valor o variable.

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.