Qué son las variables internas
Además de las que declaras con una caja de variable, el sistema trae 124 variables ya hechas. No hay que crearlas ni colocar nada: están ahí desde siempre, y guardan cosas que el hotel ya sabe — dónde está un furni, qué efecto lleva puesto un avatar, qué hora es, cuánta gente hay.
Se reconocen porque empiezan por un símbolo:
@ |
Internas | Datos que tiene cualquier sala, usuario o furni |
~ |
Inteligentes | Ventanas a la mecánica de un furni concreto |
La diferencia práctica es dónde existen. @position.x la tiene cualquier furni; ~clock.state solo
la tienen los relojes, y ni siquiera aparece en la lista si no hay un reloj en la sala.
Se tienen, o se tienen y valen algo
Sección titulada «Se tienen, o se tienen y valen algo»Esta es la parte que hay que entender antes de usarlas, porque decide con qué las compruebas.
Las que siempre están. @position.x, @user_count, @current_time… existen pase lo que pase y
siempre tienen un número. Se leen con
Valor de variable.
Las que se tienen o no se tienen. @effect solo la tiene quien lleva un efecto puesto;
@handitem solo quien lleva algo en la mano; @room_entry.teleport_id solo quien entró por un
teleport. Cuando no procede, la variable no existe — no es que valga cero. Para eso está
Contiene variable, y es lo que hace útil preguntar
“¿lleva algún efecto?” sin importar cuál.
Las de presencia. No tienen número: la tienes o no la tienes, y eso es el dato. @is_hc,
@has_rights, @is_owner, @can_sit_on… Son los booleanos del sistema. Con estas, Valor de
variable no sirve de nada: se comprueban siempre con Contiene variable.
Cuáles se pueden escribir
Sección titulada «Cuáles se pueden escribir»La mayoría son de solo lectura, pero unas cuantas se escriben con Cambiar valor de variable, y ahí está lo interesante: son acciones que no tienen efecto propio.
| Escribir | Hace |
|---|---|
@position.x / @position.y / @rotation / @altitude |
Mover o girar un furni |
@state |
Cambiar el estado de un furni |
@effect / @dance / @sign |
Poner efecto, baile o cartel a un avatar |
@handitem |
Dar un objeto en la mano |
@direction |
Girar a un avatar |
@teams.<color>.score / @team.score |
Tocar el marcador de un equipo |
Poder calcular el valor es lo que las hace valiosas: @effect + 1, un número aleatorio, o lo que
valga otra variable. Con la acción normal tendrías que dejar un valor fijo.
Dónde se usan
Sección titulada «Dónde se usan»En los mismos sitios que las tuyas: condiciones, selectores por variable, efectos de cambiar valor, y dentro de un texto con el Marcador de posición.
Muchas traen además un conector de texto de fábrica: en vez de escribir 2, el mensaje enseña
Este. Lo llevan @direction, @gender, @type, @team.color, @dance, @effect,
@current_time.day_of_week y unas cuantas más.
Las cuatro listas
Sección titulada «Las cuatro listas»| Cuántas | De quién es el dato | |
|---|---|---|
| De usuario | 29 | Cada persona, bot o mascota |
| De furni | 18 | Cada mueble |
| Globales | 24 | La sala y la hora |
| De contexto | 13 | La ejecución que está corriendo |
| Inteligentes | 40 | La mecánica de un furni concreto |