Antes de empezar#
Antes de instalar Shell Creator, asegúrate de que tu servidor cumple los requisitos mínimos.
Requisito | Estado | Notas |
|---|---|---|
OneSync | Obligatorio | Declarado como dependencia; el recurso no se iniciará sin él. |
oxmysql | Obligatorio | Guarda cada shell en la tabla |
ox_lib | Obligatorio | Callbacks, clases y text UI. |
qs-shellcreator-props | Obligatorio | Incluido en la descarga. Carga cada modelo de pared, suelo, escalera, ventana, luz y mueble que usa el constructor. |
screenshot-basic | Obligatorio | Cada guardado toma una foto aérea de la construcción para el gestor de shells. |
Token de FiveManage | Recomendado | Donde se sube esa foto. Sin él, las shells se siguen guardando, solo que sin imagen de portada. |
Framework | Opcional | ESX, QBCore o Qbox: se detecta automáticamente y se usa para las comprobaciones de admin. En modo standalone se usan permisos ACE. |
Script de housing | Opcional | Donde los jugadores vivirán realmente en tus shells: QS, RTX, PS, VMS Housing, ESX Property o cualquier otro. |
El framework se elige mirando lo que ya está en ejecución, en este orden:
Recurso encontrado | Bridge usado |
|---|---|
|
|
|
|
ninguno de ellos |
|
Descargar Shell Creator#
Después de comprar Shell Creator, el recurso se vincula automáticamente a tu cuenta de CFX Portal.
Inicia sesión en CFX Portal con la misma cuenta usada al finalizar la compra, abre Granted Assets y descarga Shell Creator. Con otra cuenta, el recurso no aparecerá.
Tras extraer la descarga, deberías tener estas dos carpetas:
qs-shellcreator/
├── config/ -- main.lua and builder.lua (what you may edit)
├── custom/ -- framework bridges, text UI, HUD (editable)
├── client/custom/ -- weather freeze and other client hooks (editable)
├── server/webhooks.lua -- the FiveManage token
├── locales/ -- 25 languages
├── textures/ -- your own wall and floor PNGs
└── web/ -- the interface, already built
qs-shellcreator-props/
└── stream/ -- walls, floors, stairs, windows, lights, furnitureMantén el nombre de la carpeta
qs-shellcreator. La interfaz carga sus imágenes y texturas desdenui://qs-shellcreator/web/y los exports se llaman comoexports['qs-shellcreator'], así que una copia renombrada muestra imágenes vacías.
Instalar el recurso#
Mueve ambas carpetas al directorio resources de tu servidor. Pueden estar en cualquier lugar dentro de él, incluida una carpeta de categoría:
resources/
└── [qs]/
├── qs-shellcreator/
└── qs-shellcreator-props/Después abre tu server.cfg e inicia todo en este orden:
ensure oxmysql
ensure ox_lib
ensure screenshot-basic
# Framework
ensure es_extended
# ensure qb-core
# ensure qbx_core
ensure qs-shellcreator-props
ensure qs-shellcreator
# Your housing script goes after Shell Creator
# ensure qs-housingEl orden de carga importa. El framework solo se detecta si ya está iniciado, así que un framework que se inicia después deja Shell Creator en modo standalone, y entonces solo los jugadores con el ace command pueden abrirlo.
Puertas dinámicas#
Para que las puertas que colocas dentro de una shell se abran y se cierren como puertas reales en lugar de quedarse como props estáticos, añade esta línea a tu server.cfg:
setr game_enableDynamicDoorCreation "true"La base de datos#
Ejecuta esto en HeidiSQL, phpMyAdmin o cualquier cliente MariaDB/MySQL contra la base de datos de tu servidor. Evita XAMPP y servidores locales similares no optimizados, que provocan errores de conexión.
CREATE TABLE IF NOT EXISTS `qs_shells` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`label` VARCHAR(50) NULL DEFAULT NULL,
`creator` VARCHAR(80) NULL DEFAULT '0',
`data` LONGTEXT NULL DEFAULT NULL,
`image` LONGTEXT NULL DEFAULT NULL,
`coords` LONGTEXT NULL DEFAULT NULL,
`created_at` TIMESTAMP NOT NULL DEFAULT current_timestamp(),
`updated_at` TIMESTAMP NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`has_void` TINYINT(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`) USING BTREE
)
COLLATE='utf8mb3_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1;Columna | Contiene |
|---|---|
| El número de la shell. Su modelo siempre es |
| El nombre que le diste y el identificador del admin que la guardó. |
| Toda la construcción: suelos, baldosas, paredes, puertas, ventanas, escaleras, muebles, texturas y el punto de aparición. |
| La URL de la foto de portada. |
| Dónde se ubica la shell en el mundo. Se elige automáticamente: cada shell recibe su propio sitio a 800 de altura, a al menos 300 m de cualquier otra. |
| Si se genera una caja de vacío oscura alrededor de la shell para que el cielo y el mapa no se vean a través de las ventanas. |
Obtener acceso de admin#
Construir y gestionar shells es solo para el staff. Quién cuenta como admin depende del framework detectado:
Jugadores del grupo admin o superadmin. Asígnalo con tu herramienta habitual de ESX, por ejemplo:
setgroup <server id> adminJugadores con el permiso god o admin, o con el ace command (el grupo admin de txAdmin lo tiene).
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.adminJugadores con el ace command.
add_ace identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx command allowLa comprobación está en custom/<framework>/server.lua como framework:playerIsAdmin. El servidor la vuelve a comprobar en cada guardado, edición y eliminación, así que cambiarla solo en el cliente no sirve de nada. Integraciones muestra cómo usar tu propia regla.
Fotos de portada (FiveManage)#
Cuando se guarda una shell, la cámara se eleva sobre la construcción, toma una foto y la sube, para que cada shell del gestor tenga una imagen. La subida va a FiveManage.
Crea un token
Crea una cuenta en fivemanage.com y genera un token de API para imágenes.
Pégalo en server/webhooks.lua
lua _G['fivemanage'] = { token = 'your-fivemanage-token' }Reinicia el recurso
El token se lee solo en el servidor y nunca se envía a los jugadores.
Configurar el recurso#
Todo lo que puedes ajustar está en unos pocos archivos sin cifrar:
Archivo | Contenido |
|---|---|
| Idioma, framework, el límite de objetos, la cuadrícula del constructor, los formatos de exportación, debug y las teclas del editor. |
| El catálogo del constructor: acabados de paredes, suelos y techos, piezas de construcción, puertas, ventanas, escaleras, luces y muebles. |
| El token de FiveManage. |
| Notificaciones, text UI, barra de progreso y ocultar el HUD. |
| Quién es admin y qué identificador se guarda como creador. |
| Congela el clima y la hora mientras construyes. |
| Tus propios acabados; consulta Texturas personalizadas. |
Los valores que conviene revisar primero, en config/main.lua:
Config.Locale = 'en' -- any file in locales/
Config.CustomTextureEnabled = true -- load your PNGs from textures/
Config.MaxObjects = 800 -- lower it if players crash (pool size)
Config.Debug = true -- set to false on a live server
Config.GridSystem = {
gridSize = 25, -- tiles per side of the workspace
gridSpacing = 2.07, -- size of one tile, matched to the props
gridCenter = vector3(-1559.93, -2605.01, 1213.0), -- where the workspace floats
}Establece
Config.Debug = falseantes de abrirlo a los jugadores. El modo debug muestra salida extra en la consola y registra los comandos de desarrollador/testshelly/change_offset.
Verificar la instalación#
Reinicia tu servidor y mira la consola. Deberías ver el framework elegido:
[INFO] Successfully loaded the framework. esx
You are using the latest version of qs-shellcreator!standalone cuando sí usas ESX o QBCore significa que el framework se inició después de Shell Creator; muévelo por encima de ensure qs-shellcreator. Un error de oxmysql que menciona qs_shells significa que la tabla no se importó en la base de datos que usa tu servidor.
Después entra en tu servidor y construye tu primera shell:
Abre el gestor
Escribe
/shellcreator. El gestor de shells se abre con la lista de shells guardadas, vacía en un servidor nuevo.Construye una habitación
Pulsa crear. Te lleva al espacio de trabajo del constructor en el cielo: coloca algunas baldosas de cimentación, añade una puerta y coloca el punto de aparición.
Guarda y exporta
Guarda, ponle un nombre y ábrela en el gestor: elige tu script de housing en Export Code y copia el resultado. Uso explica cada herramienta en detalle.
No hace falta reiniciar nada después de esto. Las shells nuevas, las ediciones y las eliminaciones llegan a todos los jugadores conectados en cuanto se guardan.



