SCRIPT

Documentación de Garajes Otra Vida

Garajes Otra Vida (ov_garages)

Qué hace

ov_garages es un sistema de garajes para servidores de FiveM con QBCore. Permite que los jugadores guarden sus vehículos en un garaje, los retiren desde un panel visual y los lleven a otro garaje sin tener que conducirlos hasta allí.

El recurso incluye dos pantallas: el panel de retiro (jugador) y el panel de creación de garajes (administrador).

Requisitos

Instalación

  1. Descarga el recurso desde el Portal de Cfx.re con la cuenta Cfx.re del comprador. El recurso viene protegido con Asset Escrow de Cfx.re: solo funciona en servidores asociados a la cuenta del comprador. El código Lua va cifrado; config.lua y la interfaz web (carpeta html) quedan sin cifrar para que puedas editarlos.
  2. Copia la carpeta ov_garages a la carpeta resources de tu servidor.
  3. Importa el archivo sql/ov_garages.sql en tu base de datos. Crea la tabla ov_garages (si no existe) con los garajes creados desde el panel: nombre, categoría (publico, job, gang, deposito, personal), trabajo o banda asociados, propietario, tipo de vehículo, icono, coordenadas del punto de interacción, coordenadas y orientación de aparición, radio, quién lo creó y la fecha.
  4. Añade ensure ov_garages en tu server.cfg, después de qb-core, ox_lib y oxmysql (y de tu sistema de llaves, si usas uno).
  5. Para usar el panel de creación, el jugador debe tener el grupo admin o god en QBCore (el recurso lee PlayerData.group). Para el comando /darvehiculo, el permiso admin de QBCore.
  6. Reinicia el servidor y comprueba en la consola el mensaje [ov_garages] Cargados N garages dinamicos desde la base de datos.

Configuración

Todo se configura en config.lua, que no está cifrado.

ClaveValor por defectoPara qué sirve
Config.Garages2 garajes de ejemplo (legion_square, sandy_shores)Lista de garajes "de fábrica".
Config.SpawnOffset6.0Metros hacia delante del punto del garaje donde aparece el vehículo (garajes de fábrica).
Config.TargetIcon'fa-solid fa-warehouse'Icono de objetivo; consulta el archivo de configuración.
Config.OpenDistance15.0Distancia, a pie, para abrir el garaje y pedir el vehículo.
Config.StoreDistance6.0Distancia, conduciendo, para guardar el vehículo.
Config.KeyResources{ '0r-vehiclekeys', 'qs-vehiclekeys' }Recursos de llaves que se prueban en orden; se usa el primero que esté iniciado.

Cómo añadir un garaje de fábrica. Agrega una entrada a Config.Garages:

{
    id = 'mi_garaje',
    label = 'Garaje Mi Barrio',
    coords = vector4(x, y, z, heading),
    radius = 15.0,
    blip = { sprite = 357, color = 3, scale = 0.8 },
},

Las coordenadas incluidas en el archivo son de ejemplo (zonas conocidas de GTA V); ajústalas a tu mapa. El id es el valor que se guarda en la columna garage de player_vehicles. Los garajes de fábrica no se pueden borrar desde el panel; para quitarlos, edita el archivo.

Comandos y permisos

Comando / teclaQuiénQué hace
/ovcreargarageCualquiera lo escribe, pero solo se abre para admin o godAbre el panel de creación. Si el panel está minimizado, lo restaura donde estaba.
/darvehiculo [id] [modelo] [garaje]Permiso admin de QBCoreEntrega un vehículo al garaje de un jugador. La matrícula se genera de forma aleatoria.
Tecla EJugadorAbre el garaje cercano (a pie) o guarda el vehículo (conduciendo).
Tecla ESCJugadorCierra el panel de retiro.

Reglas de acceso por categoría (validadas en el servidor):

Para otros scripts:

Cómo se usa

Guardar un vehículo

  1. Conduce hasta el punto del garaje (distancia máxima Config.StoreDistance).
  2. Pulsa E cuando aparezca [E] Guardar en <garaje>. El vehículo desaparece y queda registrado en ese garaje.

Retirar un vehículo

  1. Acércate a pie al garaje y pulsa E en [E] Abrir <garaje>.
  2. Elige un vehículo de la lista y revisa su combustible, motor y carrocería.
  3. Pulsa RETIRAR. El vehículo aparece y te sientas en él; recibes la llave si hay un sistema de llaves compatible.

Trasladar a otro garaje

  1. En el panel, selecciona el vehículo.
  2. En "Transferir a otro garaje", elige el destino y pulsa TRANSFERIR. Solo se pueden trasladar vehículos guardados que sean tuyos.

Traer un vehículo aquí

  1. En la parte inferior del panel, "Traer vehículo aquí" lista tus vehículos guardados en otros garajes.
  2. Elige uno y pulsa TRAER. Se cobra en efectivo el importe de Config.TraerVehiculoCosto ($1.000 por defecto; el cobro se revierte si no se puede mover el vehículo).

Para administradores

Crear un garaje en el juego

  1. Escribe /ovcreargarage.
  2. Elige la categoría: Público, Job, Gang, Depósito o Personal. En Job y Gang aparece un selector con los trabajos o bandas de QBCore; en Personal, un buscador de jugadores conectados (por nombre, citizenid o ID).
  3. Elige el tipo de vehículo (Carro, Aire o Mar), un icono y un nombre.
  4. Colócate en el punto de interacción y pulsa Usar mi posición. Muévete al punto de aparición del vehículo y vuelve a pulsarlo (queda registrada la orientación).
  5. Ajusta el radio (15 metros por defecto) y pulsa Crear garaje.

El garaje se guarda en la base de datos y aparece para todos los jugadores conectados, con su marca en el mapa, sin reiniciar el recurso.

Borrar un garaje: en la lista "Garajes creados", pulsa el icono de papelera. Solo se pueden borrar los creados desde el panel.

Minimizar: el botón con el icono de persona oculta el panel sin perder lo escrito, para que puedas moverte. Vuelve a escribir /ovcreargarage para recuperarlo.

Dar un vehículo a un jugador: /darvehiculo [id] [modelo] [garaje], por ejemplo /darvehiculo 12 sultan legion_square.

Preguntas frecuentes

¿Funciona con otro framework que no sea QBCore? No. Depende de qb-core y de la tabla player_vehicles.

¿Qué llaves de vehículo soporta? 0r-vehiclekeys y qs-vehiclekeys, de serie. Si usas otro sistema, o ninguno, el vehículo sigue siendo conducible. Puedes cambiar la lista en Config.KeyResources.

No veo la foto de un vehículo añadido a mi servidor. Para los vehículos originales de GTA la foto se carga de internet. Para vehículos añadidos, coloca una imagen html/creator/img/<modelo>.png; si no existe, el panel muestra una silueta.

¿Puedo cambiar el precio de "Traer vehículo aquí"? Cambia Config.TraerVehiculoCosto en config.lua. El texto $1.000 que se ve en el panel está en html/creator/index.html (archivo sin cifrar): cámbialo allí para que coincida.

Un jugador no puede abrir el panel de creación. Comprueba que su grupo en QBCore sea admin o god. El servidor valida este grupo antes de enviar ningún dato.

¿Puedo personalizar el aspecto? Sí. La interfaz (html/creator) no está cifrada: puedes editar los textos, los colores y las imágenes.

Actualizaciones y soporte

Las actualizaciones se publican en el Portal de Cfx.re, en la cuenta con la que se compró el recurso. Haz una copia de tu config.lua antes de actualizar y compara los cambios al terminar. Para consultas, incidencias o sugerencias, usa el canal de soporte: [enlace de soporte].