🚗 Agency-Garage v1.0.1 — Lista desplazable de 3 filas, se corrigieron dos exploits críticos y un paquete más limpio.
🚗 Agency-Garage
🔒 Seguridad — Exploit de vehículo gratuito corregido (crítico) • La acción "sacar" confiaba en la bandera de vehículo de trabajo, modelo y placa enviados por el cliente • Un cliente manipulado podría generar CUALQUIER vehículo gratis en CUALQUIER garage • Ahora completamente verificado del lado del servidor: los vehículos de trabajo solo aparecen en un verdadero garage de trabajo al que el jugador tiene acceso, y solo para un modelo que ese garage realmente lista • La placa se genera del lado del servidor — el valor del cliente nunca se confía.
🔒 Seguridad — Griefing de depósito corregido (crítico) • El evento de depósito no tenía verificación de permisos — cualquier jugador podía depositar el vehículo de cualquier persona y establecer una tarifa de liberación arbitraria • Ahora restringido a trabajos en lista blanca (Config.Impound.allowedJobs, por defecto policía / mecánico) o al ACE 'agency.garage.impound' • La tarifa de liberación está limitada a Config.Impound.maxFee, se valida el id del depósito y el evento está limitado en frecuencia • La exportación del servidor ImpoundVehicle() no ha cambiado y sigue funcionando para scripts de confianza
🔒 Seguridad — Localizador de vehículos reforzado • "Locate" ahora solo devuelve coordenadas para un vehículo que el jugador solicitante realmente posee — no más seguimiento de matrículas extranjeras
🪟 Corregido — Desplazamiento de la lista de vehículos • La lista crecía indefinidamente con tu cantidad de vehículos y se cortaba en la parte inferior — no podías desplazarte a los coches de abajo (mismo problema en el depósito de vehículos) • La lista ahora tiene un límite de 3 filas y se desplaza limpiamente más allá de eso, con la barra de desplazamiento cian estilizada • Pocos vehículos → el panel se reduce para ajustarse en lugar de mostrar una gran caja vacía • Verificado en resoluciones de 1080p, 1440p y portátiles
🌐 Nuevo — Opciones de configuración • Config.Impound.allowedJobs — qué trabajos pueden usar el evento de depósito en el juego • Config.Impound.maxFee — límite estricto en una tarifa de liberación solicitada por el cliente
🧹 Limpiado — Se eliminaron dos archivos duplicados muertos (client_main.lua, root app.js) que nunca se cargaron — paquete más ligero y profesional
♻️ Compatible hacia atrás • Sin cambios en la base de datos — el estado del vehículo sigue utilizando las columnas de estado/garaje estándar • Los vehículos existentes, garajes y la sincronización del teléfono siguen funcionando sin cambios — los nuevos controles de seguridad son puramente aditivos
Instalación • Sobrescribe los siguientes archivos en tu carpeta Agency-Garage existente:
fxmanifest.lua
config.lua
server/main.lua
html/index.html
html/style.css • Elimina estos archivos sobrantes si existen: client_main.lua y app.js (ambos en la carpeta raíz) • Nota de configuración: si mantienes tu propio config.lua, agrega allowedJobs y maxFee a tu bloque Config.Impound — de lo contrario, el evento de impound permanecerá bloqueado solo para ACE. Establece allowedJobs en los nombres de trabajo reales de tu servidor (por ejemplo, mecánico, ambulancia). • No se requieren cambios en la base de datos. • Reinicia el recurso a través de txAdmin o asegúrate de que Agency-Garage esté activo.