La ventana del creador#
Todo lo relativo a una persiana se hace desde una sola ventana, que un administrador abre con /shuttercreator. Tu HUD y tu minimapa se ocultan mientras está abierta. A la izquierda está la lista de todas las persianas del servidor; a la derecha, el formulario de la que estás creando o editando.
Elemento | Qué hace |
|---|---|
Search shutters | Filtra la lista por nombre. |
Create shutter (+) | Abre un formulario vacío con valores predeterminados razonables: el modelo Large 2, un punto de interacción a 3 m y un blip activado. |
Una persiana de la lista | La abre para editarla. |
Teleport | Pide confirmación, cierra la ventana y te lleva a la persiana. |
Cancel · ✕ | Cancel pregunta antes de descartar una persiana nueva; ✕ cierra el formulario sin guardar. |
Crear una persiana#
El formulario tiene cinco paneles, de arriba abajo. Nada se escribe como coordenada: cada posición se elige en el mundo con un botón Select, que cierra la ventana mientras colocas.
Panel | Qué configuras ahí |
|---|---|
Name | Cómo se llama la persiana en la lista y en la opción de target: "24/7 Grove Street", "Mechanic bay 2". |
Location | El modelo, y luego dónde está la persiana y hasta qué altura sube. |
Interaction Points | Dónde pulsan los jugadores para abrirla y cerrarla, a qué distancia deben estar y si se puede forzar con ganzúa allí. |
Blip Settings | Un blip opcional en el mapa. |
Access Control | Quién puede usarla: un ítem, un trabajo, una banda, sus rangos y un código PIN. |
Colocar la persiana#
Elige primero un Model, y luego pulsa Select junto a Shutter. Aparece una copia transparente de la persiana donde miras, y colocarla lleva tres pasos. Las teclas de cada paso se muestran en la parte inferior de la pantalla, y una notificación explica cada uno al empezar.
Posición aproximada
Mira hacia la entrada: la persiana sigue el punto al que apuntas. Gírala con
ZyXhasta que mire hacia el lado correcto, y haz clic izquierdo cuando esté más o menos en su sitio. Todavía no tiene que ser exacta.Ajuste fino
Encájala en el marco. Las flechas la mueven hacia delante, atrás, izquierda y derecha según hacia dónde mira,
QyEla suben y la bajan, yZ/Xla giran en pasos pequeños. PulsaENTERcuando quede bien ajustada.Altura de apertura
Un círculo y una línea verdes muestran adónde va la persiana al abrirse. Mueve el círculo con
Arrow UpyArrow Downhasta que quede donde la persiana debe desaparecer, normalmente dentro de su caja sobre la puerta. PulsaSPACEpara verla subir y volver a bajar,Arrow Leftpara volver al ajuste fino yENTERpara terminar.
Tecla | Posición aproximada | Ajuste fino | Altura de apertura |
|---|---|---|---|
| Apuntar | Mirar alrededor | Mirar alrededor |
| Siguiente paso | — | — |
| Girar | Girar con precisión | — |
| — | Mover | Arriba / Abajo: altura de apertura. Izquierda: atrás |
| — | Subir / bajar | — |
| — | — | Probar animación |
| — | Siguiente paso | Terminar |
| Cancelar | Cancelar | — |
¿Cambias el modelo de una persiana ya colocada? Elige el nuevo modelo y pulsa Select de nuevo: una persiana pequeña y una grande del mismo estilo no quedan en el mismo sitio, así que conviene colocarla otra vez.
Puntos de interacción#
Un punto de interacción es un lugar donde un jugador puede abrir o cerrar la persiana. Una persiana puede tener tantos como quieras: uno en la calle y otro dentro es la pareja habitual, para que el personal pueda cerrar desde detrás del mostrador. Pulsa Add Point para cada uno:
Campo | Qué hace |
|---|---|
Coordinates | Pulsa Select, apunta al lugar (un marcador rojo muestra dónde queda) y haz clic izquierdo. |
Interaction Distance | A qué distancia, en metros, debe estar un jugador para que aparezca el aviso. Entre 3 y 20; 3 por defecto. |
Enable Lockpick | Permite que la ganzúa funcione en este punto. Déjalo desactivado en el punto interior y solo se podrá forzar desde la calle. |
Blip#
El interruptor de la cabecera del panel activa o desactiva el blip. Con él activado:
Campo | Qué hace |
|---|---|
Blip Name | El texto que se muestra en el mapa. |
Blip Sprite · Blip Color | Se eligen en listas con búsqueda y una vista previa de cada icono y color. Sprite 59 y color 3 por defecto. |
Blip Scale | De 0.2 a 1.0; 0.8 por defecto. |
Blip Coordinates | Dónde está el blip, elegido con Select. No tiene que estar sobre la persiana: la fachada del edificio se entiende mejor. |
Control de acceso#
Todas las reglas que pongas deben cumplirse a la vez, y una regla vacía no se comprueba, así que una persiana sin nada configurado aquí es pública. Las reglas se comprueban en el servidor cada vez que alguien pulsa.
Campo | Efecto |
|---|---|
Required Item | El jugador debe llevar al menos uno. Se comprueba, no se quita. Se elige de la lista de ítems de tu inventario, con imágenes. |
Job | Solo jugadores con este trabajo. |
Grades (trabajo) | Solo estos rangos de ese trabajo. Si no eliges ninguno, vale cualquier rango. |
Gang | Solo miembros de esta banda. Aparece cuando tu servidor tiene bandas: las bandas de QBCore y Qbox, o |
Grades (banda) | Solo estos rangos de esa banda. Si no eliges ninguno, vale cualquier rango. |
Enable PIN Code | Todo jugador que cumpla las reglas anteriores también debe escribir el código en un teclado numérico. |
PIN Length · PIN Code | 4 o 6 dígitos. El código solo acepta números y debe tener exactamente esa longitud, o la persiana no se guardará. |
Un uso exitoso de la ganzúa ignora todas las reglas de este panel, PIN incluido. Para crear una persiana que no se pueda forzar, deja Enable Lockpick desactivado en todos sus puntos.
Guardar#
Pulsa Create shutter. Los campos que faltan se marcan en rojo y aparece Please fill in all fields. Una vez guardada, la persiana está en la base de datos y en el mundo de todos los jugadores al instante, en su posición bajada y cerrada.
Editar, teletransportarse y eliminar#
Para | Haz esto |
|---|---|
Editar una persiana | Haz clic en ella en la lista, cambia lo que necesites y pulsa Save. Todos los jugadores reciben el cambio al instante. |
Moverla | Pulsa Select de nuevo en el panel Location y vuelve a colocarla. |
Ir a ella | Pulsa el icono de teletransporte en su tarjeta y confirma. |
Eliminarla | Ábrela y pulsa Delete, y luego confirma. Se elimina de la base de datos y del mundo de todos los jugadores. No se puede deshacer. |
Cómo usan los jugadores una persiana#
Acercarse
Dentro de la distancia de un punto, Press [E] to enter the shutter aparece flotando sobre él, con el estilo de
qs-textuisi está en marcha. ConConfig.UseTargetactivado, el punto es en su lugar una opción de target llamada Access <shutter name>.Pulsar E
El servidor comprueba las reglas de acceso. A un jugador que no cumple una se le indica cuál: You do not have access to this shutter. Reason: Required job: police.
Escribir el PIN
Solo si la persiana tiene uno. El teclado admite clics o las teclas numéricas;
Backspaceborra,Enterconfirma yEsccancela. Un código incorrecto muestra Invalid PIN code.La persiana se mueve
El jugador pasa una tarjeta, suena el sonido de apertura o cierre y la persiana sube o baja para todos los que están cerca. Hay una pausa de dos segundos antes de que el mismo jugador pueda volver a pulsar.
Los jugadores que están más lejos no la ven moverse, pero cuando llegan la persiana ya está en la posición correcta, porque el estado se guarda en el servidor y en la base de datos.
Ganzúa#
La ganzúa convierte cualquier persiana que permitas en un objetivo de robo. Solo funciona en puntos de interacción con Enable Lockpick activado, y el ítem se configura como se describe en Ítems de inventario.
Usa el ítem en el punto
Colócate dentro de la distancia del punto y usa
shutter_lockpickdesde el inventario. El jugador se arrodilla y empieza a trabajar la cerradura.Supera la prueba de habilidad
Cuatro rondas de la prueba de habilidad de ox_lib: pulsa la tecla indicada cuando el marcador cruce la zona. Con
Config.LockpickMinigame = falseeste paso se omite.La persiana se mueve
Si tiene éxito, cambia de estado (una persiana abierta también puede forzarse para cerrarla) y aparece Lockpick successful!. Se gasta una ganzúa en cada intento, tenga éxito o no.
Mensaje | Significado |
|---|---|
No shutter found | El jugador no está dentro de la distancia de ningún punto de interacción. No se gasta nada. |
This shutter does not allow lockpicking | El punto más cercano tiene Enable Lockpick desactivado. No se gasta nada. |
Persistencia y seguridad#
Cada persiana se guarda con su estado, subida o bajada, así que la ciudad se ve igual después de un reinicio que antes.
Cada cambio se envía a todos los jugadores (al crear, editar, eliminar, abrir o cerrar) sin reinicios ni reconexiones.
Las reglas de acceso y los códigos PIN se comprueban en el servidor. El propio código se elimina de los datos de la persiana antes de llegar a cualquier jugador, así que no se puede leer desde el cliente.
Las persianas son ligeras. El modelo de una persiana solo existe para los jugadores que están a unos 10 m de ella, y sus puntos solo se comprueban mientras están allí.
Referencia de configuración#
Todo lo siguiente está en config/main.lua. Reinicia el recurso después de cambiarlo.
Opción | Predeterminado | Qué hace |
|---|---|---|
|
| El idioma: cualquier nombre de archivo de |
|
|
|
|
| El tamaño de la caja de target en cada punto, cuando los targets están activados. |
| Seis modelos | Los modelos que se ofrecen en la lista Model del creador, cada uno con una etiqueta. |
|
| Cuánto tarda una persiana en subir o bajar, en milisegundos. |
|
| El gesto de pasar la tarjeta que hace el jugador al pulsar E. |
|
| Los sonidos de apertura y cierre. |
|
| Desde dónde se cargan los sonidos. Déjalo como está. |
|
| El ítem registrado como ganzúa. |
|
| La prueba de habilidad. |
|
| Salida detallada en la consola, del cliente y del servidor. Desactívala en un servidor en producción. |
|
| Dibuja la caja alrededor de cada persiana y cada caja de target. La forma más rápida de ver por qué no aparece un aviso. |
| — | Las teclas de colocación. Consulta más abajo. |
Config.Framework y Config.Inventory se detectan al iniciar y se marcan como [AUTO] — nunca los configures a mano; Integraciones explica cómo añadir un recurso renombrado. Config.DefaultStashData, Config.MinPointLength, Config.FreeModeKeys y CameraOptions no se usan al colocar persianas y pueden dejarse como están.
Añadir tu propio modelo de persiana#
Cualquier prop que tu servidor transmita puede ofrecerse como persiana. Añádelo a la lista con la etiqueta que debe mostrar el creador:
Config.ObjectList = {
{ label = 'Small 1', object = 'qs-shutter_prop_1_small' },
{ label = 'Large 1', object = 'qs-shutter_prop_1_large' },
{ label = 'Small 2', object = 'qs-shutter_prop_2_small' },
{ label = 'Large 2', object = 'qs-shutter_prop_2_large' },
{ label = 'Small 3', object = 'qs-shutter_prop_3_small' },
{ label = 'Large 3', object = 'qs-shutter_prop_3_large' },
{ label = 'Garage door', object = 'my_garage_door' }, -- streamed by another resource
}Un modelo que no se transmite se rechaza al pulsar Select, con Model … is not valid.
Teclas de colocación#
ActionControls asigna cada acción de colocación a ids de controles de GTA, que aparecen en la referencia de controles de FiveM. Las teclas de clic, girar, terminar, cancelar y atrás se pueden cambiar aquí; las flechas, Q / E y SPACE del ajuste fino son fijas.
ActionControls = {
leftClick = { label = 'Left Click', codes = { 24 } }, -- step 1: next step · points: place
rotate_z = { label = 'RotateZ +/-', codes = { 20, 73 } }, -- Z / X: rotate
done = { label = 'Done', codes = { 191 } }, -- ENTER: next step / finish
cancel = { label = 'Cancel', codes = { 194 } }, -- BACKSPACE: cancel
arrow_left = { label = 'Arrow Left', codes = { 174 } }, -- step 3: back to step 2
-- ...
}Los modelos de persiana#
Tres estilos, cada uno en un tamaño pequeño para la puerta de una tienda y otro grande para un garaje o una zona de carga, todos transmitidos por shutters_props:
Etiqueta | Modelo |
|---|---|
Small 1 · Large 1 |
|
Small 2 · Large 2 |
|
Small 3 · Large 3 |
|



