Ir al contenido
Wiki Hartico

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.

Dónde está y cómo está puesto

VariableQué es
@position.x @position.yLa baldosa que ocupa✏️
@positionLa baldosa que ocupa, empaquetada en un solo número: x × 256 + y. Escribirla lo lleva a las dos coordenadas de una vez✏️ 📦
@rotationSu 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✏️
@occupationLa baldosa y el giro, empaquetados: x × 65536 + y × 256 + el índice de @rotation. Escribirla lo mueve y lo gira en un solo movimiento✏️ 📦
@altitudeSu altura, en centésimas de baldosa✏️
@stateSu 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

No escribas una coordenada a mano

La cuadrícula de la sala no empieza en (0,0) —casi siempre hay un desfase— y peor: los números cambian si alguien edita el plano. Una fila que hoy es X=5 puede ser X=7 después de un :floorplan, y tus wireds seguirán apuntando al 5 sin dar ningún error.

Usa un furni de referencia y opera contra su @position.x, o copia su @position entera, que lleva las dos coordenadas. Está explicado en Referencias e identificadores.

Las alturas van multiplicadas por 100

@altitude no está en baldosas: está en centésimas. Una altura de 1,5 baldosas se lee 150. Si escribes 2 no lo subes dos baldosas, lo dejas casi a ras de suelo.

Y tiene techo: la cima del furni no pasa de 80 baldosas, así que el máximo es 8000 menos lo que mide (@height). Un valor de más lo deja en el techo y uno negativo en el suelo: no se cancela, se recorta. Por eso sumarle un número enorme lo deja arriba del todo en vez de dar error.

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, o si la pila lleva Movimientos Físicos con Mantener la altura de los furnis. La Baldosa mágica caminable sigue la misma regla; con una Baldosa Apilar Mágica en la casilla, ella cae al suelo pelado y lo demás va a su altura, suba o baje. Con Está bloqueado por furnis y el furni de arriba de su casilla en la lista se queda como está, y no gira. Si sigue mirando hacia el mismo lado (@position.x, @position.y, @position u @occupation sin girar), una persona de pie en la casilla lo frena, salvo que vaya montada en el propio furni; si gira, o con @rotation, no lo frena nadie. @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.

Qué mueble es

VariableQué es
@idEl id de este furni en concreto
@class_idEl id de su modelo. Dos furnis iguales lo comparten
@owner_idEl id de su dueño
@heightLo que mide de alto, en centésimas de baldosa
@dimensions.x @dimensions.yLo que ocupa, en baldosas
@typeTipo 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.

Los ids se leen, no se escriben

Ni @id ni @class_id son números estables que puedas teclear en un wired: los reparte el hotel, y no coinciden entre salas ni entre hoteles. Un montaje copiado de fuera con ids a mano apunta a muebles que aquí no existen, y no avisa.

Lo que se puede hacer con él

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

VariableLa tiene el furni que…
@can_sit_onSe puede sentar encima
@can_stand_onSe puede pisar
@can_lay_onSe puede tumbar
@is_stackableAdmite cosas encima
@is_invisibleEstá 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.

Cuánto se ve

VariableQué es
@opacityEl 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.

Solo para items de pared

VariableQué es
@wallitem_offsetSu 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:

VariableEn un item de paredFuera de rango
@position.x @position.yLa baldosa de la pared de la que cuelga (de −100 a 100)No hace nada
@rotationDe qué pared cuelga, 0 o 1. Escribir el valor de la otra pared lo pasa a ella; escribir el que ya tiene no cambia nadaNo hace nada
@altitudeLa 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.

Los furnis con mecánica propia

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.

En esta página