Usar tus shells en un script de housing#
Cada shell guardada es un modelo llamado qs_shells_<id>, así que cualquier script de housing que pueda generar un modelo de shell puede usarla. Lo que cambia entre scripts es la forma de su entrada de configuración, y eso es lo que el cuadro Export Code del gestor de shells escribe por ti.
Selecciona la shell
/shellcreatory luego haz clic en la shell de la lista.Elige tu script de housing
En Export Code, elige el formato. La entrada se genera con el nombre del modelo, la etiqueta de la shell y la entrada medida desde su punto de aparición.
Cópiala y pégala
Copy Code la copia al portapapeles. Pégala en la lista de shells o interiores de ese script, completa todo lo marcado como
-- Change mey reinicia el script de housing.

Formatos incluidos#
Formato | Clave | Qué escribe |
|---|---|---|
QS Housing (Shell) |
| El modelo y un stash. |
QS Housing (IPL) |
| Coordenadas de salida, las coordenadas del interior y un stash. |
RTX Housing (Shell / IPL) |
| Etiqueta, modelo, etiquetas y salida; los puntos de gestión, armario, almacenamiento, cocina, fregadero, ducha y limpieza se dejan como |
PS Housing (Shell / IPL) |
| Etiqueta, desplazamiento de la puerta (o posición de la puerta) y orientación, y un stash. |
VMS Housing (Shell) |
| Etiqueta, modelo, habitaciones y el desplazamiento de la puerta con su orientación. |
ESX Property (Shell / IPL) |
| Etiqueta, valor, tipo y posición; armario y almacenamiento se dejan como |
Default |
| Solo las coordenadas de aparición y de entrada, para cualquier otro script. |
¿Shell o IPL? Un formato Shell permite que el script de housing genere qs_shells_<id> donde quiera y mide la puerta como un desplazamiento desde ese objeto: la opción habitual, y la que permite que varias casas compartan una shell. Un formato IPL usa la shell donde la colocó el propio Shell Creator, con coordenadas absolutas, como un interior fijo.
Añadir tu propio formato de exportación#
Cada formato es una plantilla de texto en Config.Exports (config/main.lua). Añade una entrada y aparecerá en la lista del gestor tras reiniciar:
Config.Exports['my_housing-shell'] = {
label = 'My Housing (Shell)',
export = [[{
name = '{LABEL}',
model = '{MODEL}',
door = vector4({EXIT_OFFSET_X}, {EXIT_OFFSET_Y}, {EXIT_OFFSET_Z}, {EXIT_HEADING}),
}]]
}Estos marcadores se sustituyen al generar el código:
Marcador | Se convierte en |
|---|---|
| El nombre del modelo, p. ej. |
| El nombre de la shell. |
| El punto de aparición relativo a la shell, como |
| El mismo desplazamiento, un número cada uno. |
| El punto de aparición en coordenadas del mundo, como |
| La misma posición en el mundo, un número cada uno. |
| La dirección hacia la que mira el punto de aparición. |
| Dónde se ubica la propia shell en el mundo, como |
Una shell guardada sin punto de aparición rellena cada coordenada con 0.0; en la práctica eso no puede ocurrir, porque el constructor se niega a guardarla.
Frameworks y reglas de admin#
El framework solo se usa para dos preguntas (¿este jugador es admin? y ¿cuál es su identificador?), que responde un pequeño bridge sin cifrar por framework:
Framework | Admin cuando | Se guarda como creador |
|---|---|---|
ESX | Grupo | El identificador de ESX |
QBCore / Qbox | Permiso | El citizen id |
Standalone | El ace | La licencia de Rockstar |
Para usar tu propia regla (un ace dedicado, un rol de Discord, una lista de constructores), cambia playerIsAdmin en custom/<framework>/server.lua:
-- custom/qb/server.lua
function framework:playerIsAdmin(source)
return IsPlayerAceAllowed(source, 'shellcreator.builder')
end# server.cfg
add_ace group.builder shellcreator.builder allow
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.builderSi tu core tiene otro nombre, Shell Creator vuelve a standalone. Apunta a mano Config.Framework en config/main.lua a 'esx', 'qb' o 'standalone', y cambia la línea exports['es_extended'] / exports['qb-core'] de ese bridge al nombre de tu recurso.
Text UI, barras de progreso y el HUD#
Todo esto está en custom/client.lua, sin cifrar, y elige lo que esté en ejecución:
Función | Usa | Si no |
|---|---|---|
Notificaciones | Los avisos propios de Shell Creator, dibujados en su interfaz | — |
Text UI y texto 3D |
| El text UI de ox_lib y el texto nativo de GTA |
Barra de progreso |
| El círculo de progreso de ox_lib |
Ocultar el HUD |
| Solo el minimapa |
Para cualquier otro HUD, añade sus llamadas de ocultar y mostrar dentro de ToggleHud(bool). Se ejecuta cuando el gestor o el constructor se abren y cuando se cierran:
function ToggleHud(bool)
DisplayRadar(bool)
if GetResourceState('my-hud') == 'started' then
exports['my-hud']:SetVisible(bool)
end
endPara teléfonos, menús radiales o inventarios que no deban abrirse mientras alguien construye, usa los exports y state bags de Comandos y exports.
Clima y hora#
Mientras el constructor está abierto, el clima se mantiene despejado y a mediodía para que la construcción se vea siempre igual y la foto de portada esté iluminada. La sincronización de estos scripts se pausa durante el constructor y se reanuda después:
Renewed-Weathersyncqb-weathersynccd_easytimevSyncav_weather
Para otro script de clima, añade sus eventos de pausa y reanudación a FreezeWeather en client/custom/weather/weather.lua.
Idiomas#
Se incluyen 25 traducciones en locales/: árabe (ar), búlgaro (bg), checo (cs), danés (da), alemán (de), griego (el), inglés (en), español (es), persa (fa), francés (fr), hindi (hi), húngaro (hu), italiano (it), japonés (ja), coreano (ko), neerlandés (nl), noruego (no), polaco (pl), portugués (pt), ruso (ru), esloveno (sl), sueco (sv), tailandés (th), turco (tr) y chino simplificado (zh-CN). Establece Config.Locale con el código.
Para añadir un idioma, copia locales/en.json a locales/<code>.json, traduce los valores (mantén las claves y los {{placeholders}}) y establece Config.Locale con ese código. Cualquier clave que omitas vuelve al inglés, con un aviso en la consola que la nombra.



