Ir al contenido

De furni

El dato es de cada mueble. Las ocho que se pueden escribir convierten a “Cambiar valor de variable” en una forma de mover, girar y encender furnis calculando el número en vez de dejarlo fijo.

Variable Qué es
@position.x @position.y La baldosa que ocupa ✏️
@position La baldosa que ocupa, empaquetada en un solo número: x × 256 + y. Escribirla lo lleva a las dos coordenadas de una vez ✏️ 📦
@rotation Su giro, como índice: 0 es la primera dirección que admite ese furni, 1 la siguiente… (una cama con dos direcciones va de 0 a 1). Un índice que el furni no tiene no lo gira. En un item de pared vale 0 o 1: de qué pared cuelga ✏️
@occupation La baldosa y el giro, empaquetados: x × 65536 + y × 256 + el índice de @rotation. Escribirla lo mueve y lo gira en un solo movimiento ✏️ 📦
@altitude Su altura, en centésimas de baldosa ✏️
@state Su estado: encendido, apagado, la cara del dado… ✏️

🏷️ trae conector de texto · ✏️ se puede escribir · 📦 empaquetada: un solo número que lleva varios datos dentro, como se explica en Las empaquetadas

Escribir cualquiera de estas entra por la misma puerta que el efecto equivalente: subir @position.x en uno es lo mismo que un Mover de una baldosa, y @altitude pasa por Cambiar Altitud de Furni. Por eso heredan los complementos de movimiento de la pila —curva, tiempo de animación, movimientos físicos— igual que si hubieras puesto el efecto.

Si el destino no vale —fuera de la sala, una casilla que no se puede pisar o con alguien de pie, algo debajo que no admite apilar—, el furni se queda donde estaba: no se corrige a la casilla más cercana. Con un índice de giro que el furni no tiene pasa lo mismo, y en @occupation se cancela la escritura entera, también el movimiento. Un valor que no cabe en el número empaquetado (más de 65535 en @position, más de 16777215 en @occupation) tampoco hace nada.

Escribir el valor que ya tiene no siempre es no hacer nada. Con @position.x, @position.y, @position, @occupation o @rotation, un furni que acaba en la casilla en la que ya está —porque le escribes la misma, o porque solo lo giras— se re-asienta: si algún otro furni de su casilla le llega por arriba, como mínimo, hasta su cima, sube y se apoya encima. Nunca baja: uno que flota sin nada debajo sigue flotando. Tampoco sube si lo que hay en la casilla no admite apilar, si él mismo o algo de la casilla es una baldosa mágica, o si la pila lleva Movimientos Físicos con Mantener la altura de los furnis. @altitude con la altura que ya tiene no hace nada.

Cuando las escribe Cambiar valor de variable sobre furnis de suelo —@position.x, @position.y, @position, @occupation, @rotation y @altitude—, cuentan además para la condición Movimiento Válido como un efecto de movimiento más: si alguna no se podría hacer, la condición falla. Las de una persona no cuentan. Una @altitude por debajo de 0 o por encima de 8000 hace fallar la condición, aunque al escribirla se recortaría.

Escribir @state valida contra los estados que ese furni admite de verdad: un estado que no existe lo deja en 0, así que @state + 1 sirve para pasar al siguiente y volver al primero. Y hay furnis que no dejan escribirlo porque su estado lo llevan ellos por dentro — los relojes, por ejemplo.

En los controladores de sala escribir @state aplica su regla igual que el doble clic —0 apagado, 1 encendido—, aunque sin disparar el causante Furni es Usado. La excepción es el Controlador: Velocidad de Roller: su @state va de 0 a 3, las cuatro velocidades, y escribirlo solo cambia lo que se ve en el mueble; la velocidad real de los rodillos la cambia su doble clic (y, si la sala se recarga, pasa a ser la del grupo que se veía). Un valor fuera de 0–3 no cambia nada, salvo el 4, que vuelve a 0.

Variable Qué es
@id El id de este furni en concreto
@class_id El id de su modelo. Dos furnis iguales lo comparten
@owner_id El id de su dueño
@height Lo que mide de alto, en centésimas de baldosa
@dimensions.x @dimensions.y Lo que ocupa, en baldosas
@type Tipo de propiedad: 0 normal · 2 temporal 🏷️

@id es el que convierte un mueble en algo que se puede guardar y volver a encontrar: lo copias en una variable y luego reúnes ese furni con Furnis con variable. Es la base de Referencias e identificadores.

De presencia: se comprueban con Contiene variable, no con Valor de variable.

Variable La tiene el furni que…
@can_sit_on Se puede sentar encima
@can_stand_on Se puede pisar
@can_lay_on Se puede tumbar
@is_stackable Admite cosas encima
@is_invisible Está oculto ahora mismo para toda la sala

Las cuatro primeras son del modelo y no cambian nunca. @is_invisible sí cambia: es el estado de ahora mismo.

Variable Qué es
@opacity El porcentaje con el que se ve el furni para toda la sala, de 0 a 100: 100 es opaco y 0, transparente del todo

La deja puesta el efecto Transparência do Mobi cuando lo aplicas a Todos los usuarios de la sala; sin él vale 100. Si el efecto se aplicó solo a algunos usuarios, la variable no lo recoge: cada uno lo ve distinto y la sala no se acuerda. Al recoger el furni, o al descargarse la sala, vuelve a 100. Es de solo lectura: para cambiarla, usa el efecto.

Variable Qué es
@wallitem_offset Su hueco dentro de la baldosa de pared, de 0 a 16 ✏️

Es la única exclusiva de la pared: un furni de suelo no la tiene. Y es la forma de recolocar un cuadro con precisión desde un wired. Un valor de más o de menos se queda en el extremo.

En un item de pared las demás de posición significan otra cosa, y también se escriben:

Variable En un item de pared Fuera de rango
@position.x @position.y La baldosa de la pared de la que cuelga (de −100 a 100) No hace nada
@rotation De qué pared cuelga, 0 o 1. Escribir el valor de la otra pared lo pasa a ella; escribir el que ya tiene no cambia nada No hace nada
@altitude La altura a la que cuelga, en centésimas (de −20000 a 20000) No hace nada

No se comprueba que en la baldosa de destino haya pared: el item puede quedar colgado en el aire.

Un reloj, un teleport o un Nexo de Sala, el Controlador: Zona Oculta, el pintafondos, la baldosa mágica caminable, un cofre, un bloque recoloreable o un anuncio tienen además variables inteligentes (~) que abren al wired lo que ajustarías a mano en el propio furni. Están en Inteligentes.