Las dos ventanas#
City Builder tiene dos interfaces, ambas para el staff. Conviene saber cuál es cuál desde el principio:
Ventana | Se abre con | Para qué sirve |
|---|---|---|
Modo decoración |
| Construir el mundo: colocar props, moverlos, guardarlos y venderlos. |
Furniture Creator |
| Ampliar el catálogo: añadir props nuevos, con su precio, imagen, colores y comportamiento. |
Ambas comprueban el mismo permiso: un administrador del framework o un trabajo en Config.CreatorJobs (consulta Instalación → Quién puede construir). Cualquier otro recibe "You don't have permission to do this".
Todo lo que se coloca con City Builder es global: pertenece al servidor, no al miembro del staff que lo colocó, y todos los jugadores lo ven. Cualquier constructor puede mover, guardar o vender cualquier objeto.
Modo decoración#
Escribe /citybuilder. Tu personaje se queda donde está, la cámara se eleva como una cámara libre, el HUD y el minimapa se ocultan, empieza la música de fondo y el panel de decoración se abre en la parte inferior de la pantalla.

El panel tiene dos pestañas en su borde izquierdo:
Pestaña | Qué muestra |
|---|---|
Objects | El catálogo de muebles. Cinco estancias en la parte superior (Kitchen, Bathroom, Bedroom, Living, Garden), cada una con sus categorías, un buscador y una tarjeta por prop con su imagen y su precio. Se oculta cuando |
Stash | Todos los objetos ya colocados en el servidor. Aquí es donde seleccionas un objeto colocado para moverlo, guardarlo o venderlo. |
La cámara puede volar hasta Config.MaximumDistanceForDecorate metros (350 por defecto) desde donde está tu personaje. Si te alejas más, el constructor se cierra con "You are too far from the decoration area" — acerca tu personaje y vuelve a abrirlo. Pon el valor en false para quitar el límite.
Pulsa Esc o el botón de cerrar para salir. Un prop que estabas colocando pero no habías comprado se elimina; todo lo ya colocado se queda.
Colocar un prop#
Elígelo
En la pestaña Objects elige una estancia, luego una categoría y luego un prop, o escribe en el buscador. Si el prop tiene variantes de color, elige una en la cabecera: cada variante es su propio modelo y puede tener su propio precio.
Colócalo
El prop aparece cinco metros delante de la cámara, con un contorno azul. Muévelo con cualquiera de los dos editores (más abajo), pulsa G para apoyarlo en el suelo y vuela a su alrededor con la cámara libre para revisarlo desde todos los lados.
Cómpralo
Pulsa Enter y confirma. Con el dinero activado, el precio se cobra del efectivo o del banco del constructor; con el dinero desactivado, el botón dice Place item y es gratis. El objeto se guarda y aparece para todos los jugadores al instante.
Los objetos colocados se cargan por streaming: cada jugador solo genera los que están a menos de Config.SpawnDistance (30 m por defecto). Una ciudad entera decorada no le cuesta nada a un jugador hasta que entra en ella.
Los dos editores#
Pulsa M para cambiar entre ellos en cualquier momento. El actual se anuncia en pantalla.
El predeterminado, y el más rápido para amueblar una habitación. Mantén pulsado el botón izquierdo del ratón y el prop sigue al cursor sobre suelos, paredes y terreno. Mientras lo mantienes, Z y X lo giran a la izquierda y a la derecha.
Para trabajo de precisión. El prop muestra controles 3D: arrastra una flecha para moverlo a lo largo de un eje, o un anillo para girarlo alrededor de él.
K cambia los controles entre Translate y Rotate — también se pueden elegir en la cabecera.
Q cambia los ejes entre los del mundo y la orientación propia (local) del prop.
F centra la cámara libre en el prop: lo encuadra y gira lentamente a su alrededor. Púlsala de nuevo para volar libremente.
Un prop no se puede subir más de 10 m por encima de donde estaba cuando lo seleccionaste, para que nunca se pierda en el cielo.
Controles#
Tecla | Acción |
|---|---|
Ratón + W A S D | Volar con la cámara libre. |
Clic izquierdo (mantener) | Modo ratón: arrastrar el prop. Modo gizmo: seleccionar un prop y usar los controles. |
Z / X | Girar el prop en modo ratón. |
G | Apoyar el prop en el suelo. |
M | Cambiar entre el modo ratón y el modo gizmo. |
K | Gizmo: mover o girar. |
Q | Gizmo: ejes del mundo o locales. |
F | Gizmo: centrar la cámara y orbitar alrededor del prop seleccionado. |
F3 | Activar o desactivar la cámara libre. |
F5 | Mostrar u ocultar el cursor, para alternar entre hacer clic en el panel y volar con la cámara. |
F6 | Ocultar o mostrar el panel de decoración, para tener una vista despejada. |
Enter | Comprar y colocar el prop nuevo. |
Esc | Cerrar el modo decoración. |
Las teclas que se muestran en la barra de instrucciones abajo a la derecha siempre coinciden con el modo actual. Las velocidades de la cámara libre están en CameraOptions en config/config.lua.
Gestionar los objetos colocados#
Abre la pestaña Stash. Enumera todos los objetos del servidor; haz clic en uno (o, en modo gizmo, haz clic en el objeto en el mundo) y la cabecera se convierte en su panel de gestión:
Acción | Qué hace |
|---|---|
Move | Arrástralo o usa los controles, exactamente igual que al colocarlo. |
Save Location | Guarda la nueva posición y rotación de cada objeto que moviste, y los mueve para todos los jugadores. |
Put in Stash | Lo quita del mundo sin borrarlo. Púlsalo de nuevo para devolverlo al mismo sitio; útil para decoración de temporada o de eventos. |
Sell Furniture | Lo borra definitivamente. Con el dinero activado, el constructor recibe |
Props interactivos#
Algunos props hacen algo cuando un jugador se pone al lado de uno (a menos de 1.5 m) y pulsa E. El comportamiento viene de la entrada del catálogo, así que todas las copias de ese prop se comportan igual.
Almacenes#
Los props con type = 'stash' (lavadoras, refrigeradores, armarios, cocinas compactas y más, de serie) muestran [E] - Open stash y abren un almacén en tu inventario. Cada copia colocada tiene su propio almacén, llamado citybuilder_<id>, con las ranuras y el peso definidos en el prop, o Config.DefaultStashData cuando el prop no define ninguno. Cualquiera puede abrirlo.
Guardarropas#
Los props con type = 'gardrobe' muestran [E] - Open gardrobe y abren el menú de conjuntos de tu script de ropa.
Luces#
Los props de la categoría Light proyectan un foco real en la dirección hacia la que miran: gira el prop para orientarlo. El haz ya se ve mientras lo colocas. El brillo viene de Config.DefaultLightIntensity.
Puertas dinámicas#
Los props marcados con isDoor = true se dejan sin congelar para que se abran y se cierren, cuando las puertas dinámicas están activadas (consulta Instalación → Puertas dinámicas).
Tus propias interacciones#
Cualquier prop puede mostrar [E] - Interact y disparar uno de tus eventos: una máquina recreativa que inicia un minijuego, una rocola que abre un menú de música. Consulta Comandos y exports → Eventos personalizados de props.
Dinero#
City Builder viene con el dinero desactivado: los precios se ocultan, colocar es gratis y vender no paga nada. Actívalo para que construir cueste algo; útil cuando construye un trabajo, no solo los administradores:
-- config/config.lua
Config.EnableMoney = true
Config.MoneyType = 'bank' -- 'money' (cash) or 'bank'
Config.SellObjectCommision = 0.3 -- selling pays back 30 % of the price
-- How prices are written in the interface (display only)
Config.Intl = {
locales = 'en-US',
options = { style = 'currency', currency = 'USD', minimumFractionDigits = 0 }
}Si el constructor no puede pagar un prop, la compra se rechaza con "You don't have enough money!" y el prop se elimina.
El Furniture Creator#
Escribe /citybuilderfurniture (renómbralo con Config.FurniCreatorCommand). A la izquierda están las categorías del catálogo y los props añadidos en el juego hasta ahora; a la derecha, el formulario.

Elige una categoría
El prop nuevo aparecerá en esa categoría en el modo decoración.
Completa lo básico
Object name es el nombre de spawn del modelo, por ejemplo
prop_couch_01— se comprueba contra el juego, así que un error tipográfico o un prop que tu servidor no carga por streaming se rechaza. Añade etiqueta, descripción, precio y etiqueta de color.Añade una imagen
Pega una URL directa de imagen (un PNG cuadrado de 512 × 512 px o más es lo que mejor se ve), o toma una con el estudio fotográfico de abajo.
Define su comportamiento
En Advanced, conviértelo en un Stash (con ranuras y peso máximo) o en un Wardrobe. El desplazamiento de posición mueve el aviso [E] respecto al prop; sube
zpara un armario alto.Añade variantes de color (opcional)
Cada variante es otro modelo que se muestra como una opción de color del mismo artículo, con su propia etiqueta, precio y comportamiento.
Crea
El prop se guarda en la base de datos y se envía a todos los jugadores conectados al instante, sin reiniciar.
Los props añadidos en el juego se pueden editar o borrar desde la misma ventana. Los props escritos en config/furniture.lua no se pueden borrar aquí: quítalos del archivo. Un prop creado en el juego con el mismo nombre de objeto que un prop del catálogo en la misma categoría reemplaza esa entrada del catálogo tras el siguiente reinicio.
El estudio fotográfico#
Necesita screenshot-basic y un token de FiveManage (consulta Instalación → Configuración del sistema de fotos). Escribe primero el nombre del objeto y luego pulsa el botón de la cámara junto al campo de imagen.

Tu personaje se oculta y el prop aparece solo sobre un fondo degradado, mirando a la cámara:
Tecla | Acción |
|---|---|
Z / X | Girar el prop. |
Q / E | Subirlo o bajarlo. |
Rueda del ratón | Acercar y alejar. |
Enter | Tomar la foto y subirla. |
Backspace | Cancelar. |
Después de la subida vuelves al formulario con la URL de la imagen ya completada. En PC lentas, sube Config.FurniCreator.interval (milisegundos de espera antes de la captura) si las imágenes salen a medio cargar.
El catálogo de muebles#
El catálogo incluido está en config/furniture.lua: 38 categorías y más de 440 props, además de variantes de color. Edítalo para los cambios que el Furniture Creator no cubre: una categoría nueva, precios en bloque, puertas o eventos personalizados.
Estancias#
Config.FurnitureNavigation es la fila de estancias en la parte superior de la pestaña Objects. Una categoría apunta a una estancia por su número.
# | Estancia | Categorías |
|---|---|---|
1 | Kitchen | Cocinas, lavavajillas, refrigeradores, armarios colgantes, placas de cocina, cocinas compactas, tacos de cuchillos, microondas, hornos, fregaderos, mesas, sillas |
2 | Bathroom | Lavadoras, inodoros, papel higiénico y escobillas, duchas, espejos, toallas |
3 | Bedroom | Camas, mesitas de noche, alfombras, calcomanías, laptops, cuadros, armarios |
4 | Living | Sofás, mesas de centro, lámparas, plantas, televisores y rocolas |
5 | Garden | Arbustos, árboles, sofás de exterior, luces, cámaras de seguridad |
Una categoría y sus props#
Config.Furniture = {
['washingmachine'] = { -- the category key
label = 'Washing machine',
img = Config.ImagePath .. 'decorate/categories/rooms/bathroom/bathroom-washingmachine-blue.svg',
navigation = 2, -- room: 2 = Bathroom
dynamic = true,
css = { width = 4.5, top = 5.5, left = 2.5 }, -- position on the room illustration
items = {
[1] = {
img = Config.ImagePath .. 'decorate/categories/rooms/bathroom/items/washing/prop_washer_02.png',
object = 'prop_washer_02', -- the model
price = 400,
label = 'Clear washing',
description = 'A beautiful washing machine, at a good price and completely new.',
colorlabel = 'White',
colors = { -- optional variants
{ label = 'Old', object = 'v_ret_fh_washmach', price = 310 },
},
type = 'stash', -- 'stash' | 'gardrobe' | nil
offset = { x = 0.0, y = 0.0, z = 0.0 }, -- where the [E] prompt sits
stash = { maxweight = 50000, slots = 3 },
},
}
},
}Campo del prop | Significado |
|---|---|
| El nombre de spawn del modelo. Debe existir en el juego o cargarse por streaming en tu servidor. |
| Se cobra al colocarlo, si el dinero está activado. Al vender se devuelve una parte. |
| Lo que muestra la tarjeta en el catálogo. |
| Variantes: cada una con su propio |
|
|
|
|
| Dónde aparece el aviso [E], respecto al prop. Obligatorio para cualquier prop interactivo. |
|
|
Una categoría nueva también necesita su estancia navigation, un icono img y una posición css en la ilustración de esa estancia; copia una categoría existente de la misma estancia y ajústala. Reinicia el recurso después de editar el archivo.
Referencia de ajustes#
config/config.lua
Ajuste | Por defecto | Propósito |
|---|---|---|
| 'en' | Idioma de la interfaz y de los mensajes. |
| false | Cobrar por los props y pagar al vender. |
| 'money' |
|
| 0.3 | Parte del precio que se devuelve al vender. |
| true | Mostrar la pestaña Objects. |
| police, ambulance | Trabajos y rangos que pueden construir, además de los administradores. |
| 1 000 000 / 30 | Peso y ranuras de un prop de almacén sin tamaño propio. |
| 40.0 | Brillo de los props de luz. |
| false | El nombre de tu recurso FiveGuard, para que la cámara libre no se marque. |
| pista incluida · 0.01 | Música de fondo en el modo decoración: un nombre de archivo |
| false | Silenciar los sonidos de clic de la interfaz. |
| en-US, USD | Cómo se formatean los precios. Solo visual. |
| 'citybuilderfurniture' | El comando del Furniture Creator. |
| 300 | Milisegundos de espera antes de capturar una foto. |
| — | Velocidades de giro de vista, movimiento, ascenso y rotación de la cámara libre. |
| — | Los códigos de control del juego detrás de cada tecla. Cámbialos bajo tu propio riesgo. |
| false | Salida detallada en la consola. Mantenlo desactivado en producción. |
config/decorate.lua
Ajuste | Por defecto | Propósito |
|---|---|---|
| 30.0 | Metros alrededor de un jugador dentro de los cuales se generan los objetos colocados. |
| 350.0 | Hasta dónde puede volar la cámara desde el personaje. |
| true | Dejar sin congelar los props de puerta para que se abran y cierren. |
config/furniture.lua
Ajuste | Propósito |
|---|---|
| Las estancias en la parte superior del catálogo. |
| Cada categoría y cada prop. |
| Props que disparan tu propio evento con [E]. Consulta Comandos y exports. |



