Agency Docs
QBESXStandalone

Agency-Vehiclekeys V2 Configuración

Llaves universales para vehículos de FiveM en QBCore, Qbox, ESX o totalmente independiente.

v2.0.0De pago5 Páginas

01Configuración

Instalación rápida · config.lua · Agency-Vehiclekeys V2

Descargar config.lua

--[[ ============================================================================ AGENCY VEHICLEKEYS V2 · config.lua ---------------------------------------------------------------------------- Universal keys for every vehicle: owned cars, shared keys, job vehicles and rentals. Finds QBCore, Qbox or ESX by itself and runs fully standalone without any of them. Everything a server owner may want to change is here. Admins change the look and the most used switches live in the menu (/keys, tab with the gear). Those values are saved for the whole server and win over this file until "Reset to config.lua" is pressed. ============================================================================ ]] Config = {} -- ============================================================================= -- 1. GENERAL -- ============================================================================= Config.Framework = 'auto' -- 'auto' | 'qbcore' (also Qbox) | 'esx' | 'standalone' Config.Locale = 'en' -- en de fr es it pt nl pl cs sv da fi ro hu hr bg el tr ru uk ar hi ja ko zh -- Debug mode: every request in the server console (who, what, result), extra -- lines in F8, and /vkdebug in game shows everything about the car in front -- of you. Admins can switch it in the menu as well. Config.Debug = false -- Where the keys are saved. 'auto' uses oxmysql when it runs (table -- agency_vehiclekeys, created by itself) and otherwise the server's own key -- value store, so a server without a database works as well. Config.Storage = 'auto' -- 'auto' | 'mysql' | 'kvp' -- Where your framework keeps the owned vehicles. 'auto' knows QBCore and Qbox -- (player_vehicles, citizenid) and ESX (owned_vehicles, owner). Change it only -- for a garage or framework fork with its own table. Config.OwnedVehicles = { table = 'auto', -- e.g. 'owned_vehicles' owner = 'auto', -- column with the owner: citizenid (QB) / owner (ESX) plate = 'plate', -- column with the plate } -- The inventory that holds lockpicks. 'auto' finds ox_inventory and -- qs-inventory, otherwise the framework's own (qb-inventory and its forks, -- ESX). 'none' never asks for an item. Config.Inventory = 'auto' -- 'auto' | 'ox' | 'qs' | 'framework' | 'none' -- How messages are shown (the V1 look and messages from the server): -- 'auto' = Agency-Notify when it runs, then your framework, then the GTA feed. Config.Notify = 'auto' -- 'auto' | 'agency' | 'framework' | 'gta' -- ============================================================================= -- 2. LOOK -- ============================================================================= Config.UI = { -- 'v2' is the Agency-Housing look: gold, solid cards, pills. -- 'v1' is the classic look of Vehiclekeys V1: every message as a -- notification (Agency-Notify, your framework or the GTA feed) and the menu -- in the old Agency style. design = 'v2', position = 'bottom', -- where the key fob card shows up: 'bottom' | 'right' | 'top' scale = 1.0, -- 0.8 to 1.3 } -- In the V2 look lock and engine messages use the key fob card; everything -- else follows Config.Notify above. false skips Agency-Notify in 'auto'. Config.UseAgencyNotify = true -- ============================================================================= -- 3. CONTROLS -- ============================================================================= -- Players can change every key in the GTA settings (Key Bindings > FiveM). -- The defaults stay clear of the other Agency scripts: Agency Phone opens -- with M, Agency Pad and Agency-Seatbelt use K, Agency Watch Z, Housing F7. -- (V1 used M for the engine: set engine = 'M' for the old key.) Config.Controls = { lock = 'G', -- lock or unlock the nearest vehicle you have a key for engine = 'U', -- engine on or off in the driver seat menu = 'F5', -- the key ring lockpick = 'H', -- pick a lock on foot, hotwire in the driver seat indicators = true, -- arrow keys for the indicators (as in V1) indicatorLeft = 'LEFT', indicatorRight = 'RIGHT', hazards = 'DOWN', } Config.Commands = { menu = 'keys', -- opens the key ring (admins get the admin tabs there) -- V1 commands, kept for everyone who is used to them: giveKey = { 'givekey', 'gibschluessel' }, -- /givekey [id]: key of the vehicle you sit in or stand next to removeKey = { 'removekey', 'nimm_schluessel' }, -- /removekey [id] } -- ============================================================================= -- 4. LOCKING -- ============================================================================= Config.Lock = { range = 25.0, -- metres the remote reaches (V1 used 100) anim = true, -- key fob in hand and the click animation chirp = true, -- short horn beep and flashing indicators -- Vehicle classes without doors to lock: motorcycles, cycles, boats, -- helicopters, planes and trains. They still need a key for the engine -- when Config.Engine.needKey is on. noLockClasses = { 8, 13, 14, 15, 16, 21 }, } -- ============================================================================= -- 5. ENGINE AND TRUNK -- ============================================================================= Config.Engine = { -- false (as in V1): everyone can start and stop any engine, keys decide -- who locks. true: the engine only runs with a key, after hotwiring or in -- an ignored vehicle. needKey = false, keepRunning = true, -- the engine keeps running when you get out remote = true, -- start and stop the engine from the key ring } Config.Trunk = { remote = true, -- open and close the trunk from the key ring } -- ============================================================================= -- 6. SHARING KEYS -- ============================================================================= Config.Share = { enabled = true, distance = 5.0, -- metres to the other player; 0 = any online player by ID maxPerVehicle = 6, -- keys an owner can hand out per vehicle tempHours = 0, -- temporary keys last until the next restart (0) or this many hours showNames = false, -- character names in the list of nearby players (off: ID and distance) } -- ============================================================================= -- 7. JOB VEHICLES -- ============================================================================= -- Players with the job can lock and drive these vehicles without a key. -- models: spawn names. grade: lowest job grade. onDuty: only while on duty -- (QBCore, Qbox, and ESX forks with duty). -- ace: standalone servers have no jobs; give the ACE instead, for example -- add_ace group.police agency.vehiclekeys.police allow Config.JobKeys = { police = { label = 'Police', models = { 'police', 'police2', 'police3', 'police4', 'policeb', 'policet', 'sheriff', 'sheriff2', 'fbi', 'fbi2', 'pranger', 'riot', 'nightshark', 'svolito', 'polmav', 'predator' }, grade = 0, onDuty = true, ace = 'agency.vehiclekeys.police', }, ambulance = { label = 'EMS', models = { 'ambulance', 'firetruk', 'lguard', 'blazer2' }, grade = 0, onDuty = true, ace = 'agency.vehiclekeys.ambulance', }, mechanic = { label = 'Mechanic', models = { 'towtruck', 'towtruck2', 'flatbed' }, grade = 0, onDuty = false, ace = 'agency.vehiclekeys.mechanic', }, } -- ============================================================================= -- 8. IGNORED VEHICLES -- ============================================================================= -- Nobody needs a key for these, nobody can lock them. Spawn names. Config.IgnoredModels = { 'pbus', 'bus', 'coach', 'airbus', 'rentalbus', 'tourbus', 'trash', 'trash2', 'stockade', 'taxi', 'tiptruck2', 'mixer', 'guardian', 'boxville', 'bmx', 'cruiser', 'fixter', 'scorcher', 'tribike', 'tribike2', 'tribike3', } -- ============================================================================= -- 9. LOCKPICKING AND HOTWIRING -- ============================================================================= Config.Lockpick = { enabled = true, -- The first item the player carries is used. difficulty: 'easy' | 'medium' | 'hard'. items = { { name = 'advancedlockpick', difficulty = 'easy', breakChance = 10 }, { name = 'lockpick', difficulty = 'medium', breakChance = 35 }, }, -- Standalone servers without an inventory cannot carry items. 'auto' -- needs an item wherever an inventory runs and none without one. needItem = 'auto', -- 'auto' | true | false rounds = 3, -- skill check rounds alarmChance = 60, -- percent: the car alarm goes off policeChance = 40, -- percent: police get a dispatch alert notifyOwner = true, -- the owner gets a message when someone breaks in cooldown = 10, -- seconds between two tries alarmSeconds = 30, -- Classes that cannot be picked (18 = emergency vehicles). blockedClasses = { 18 }, } Config.Hotwire = { -- Only matters with Config.Engine.needKey = true: without a key the player -- can hotwire the car from the driver seat. Success gives a temporary key. enabled = true, needItem = false, -- true: needs one of the lockpick items rounds = 4, difficulty = 'medium', alarmChance = 35, policeChance = 25, cooldown = 15, } -- ============================================================================= -- 10. POLICE ALERTS -- ============================================================================= Config.Police = { jobs = { 'police', 'sheriff', 'lspd', 'bcso' }, onDutyOnly = true, -- 'auto' finds ps-dispatch, cd_dispatch, qs-dispatch, rcore_dispatch, -- core_dispatch, tk_dispatch or lb-tablet; 'notify' messages every -- officer; 'none' switches alerts off. dispatch = 'auto', code = '10-60', blip = { sprite = 225, color = 1, scale = 1.0, seconds = 60 }, } -- ============================================================================= -- 11. STANDALONE -- ============================================================================= Config.Standalone = { -- A player who drives off first in a vehicle that nobody has a key for -- and that a script spawned (vMenu, admin menus, job scripts) gets a -- temporary key for it. Ambient traffic never counts. claimSpawned = true, -- Admins: ACE 'agency.vehiclekeys.admin' or group.admin / group.superadmin. adminAce = 'agency.vehiclekeys.admin', -- Items without a framework: fill in these three functions to connect an -- inventory of your own (return numbers / true). itemCount = nil, -- function(source, item) return 0 end removeItem = nil, -- function(source, item, amount) return true end } -- On QBCore also usable in framework mode: a script spawned vehicle nobody -- owns goes to the first driver (admin cars, events). Off by default. Config.ClaimSpawnedWithFramework = false -- ============================================================================= -- 12. ADMINS -- ============================================================================= Config.AdminGroups = { 'admin', 'god', 'superadmin' } -- ============================================================================= -- 13. OWN TEXTS -- ============================================================================= -- Any key from locales/en.lua can be given your own wording here. It wins over -- every language and survives updates, for example: -- Config.Text = { locked = 'Car locked', ui_title = 'My keys' } Config.Text = {}

02Archivo SQL

Opcional: el recurso crea estas tablas por sí mismo al iniciarse. Importa este archivo solo si preparas la base de datos a mano:

-- Agency Vehiclekeys V2 -- Optional: the script creates this table by itself on the first start when -- oxmysql runs. Run it by hand only if your database user may not create tables. CREATE TABLE IF NOT EXISTS `agency_vehiclekeys` ( `plate` VARCHAR(16) NOT NULL, `identifier` VARCHAR(96) NOT NULL, `kind` VARCHAR(12) NOT NULL DEFAULT 'shared', `holder` VARCHAR(64) NULL DEFAULT NULL, `granted_by` VARCHAR(96) NULL DEFAULT NULL, `model` VARCHAR(32) NULL DEFAULT NULL, `created` INT UNSIGNED NOT NULL DEFAULT 0, PRIMARY KEY (`plate`, `identifier`), KEY `identifier` (`identifier`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

+Conviene saber

Cada opción de config.lua tiene una función; hay 13 secciones, desde el framework hasta los textos personalizados. Los ajustes más usados también se pueden cambiar dentro del juego, en la pestaña Settings del llavero, para todo el servidor.

General y aspecto
Config.Framework, Config.Locale, Config.Debug, Config.Storage, Config.Inventory y Config.Notify determinan cómo funciona el script. Config.UI establece el diseño (v2 o v1), dónde aparece la tarjeta del llavero y su tamaño.
Controles y comandos
Config.Controls asigna G, U, F5 y H, además de las teclas de flecha, a los intermitentes. Config.Commands define /keys y los comandos V1 /givekey y /removekey con sus alias en alemán.
Cerraduras, motor y maletero
Config.Lock establece el alcance del mando, la animación y el pitido del claxon, así como las clases de vehículos sin puertas que se pueden cerrar. Config.Engine determina si el motor necesita una llave, si permanece en marcha y si se puede arrancar desde el llavero. Config.Trunk abre el maletero con el mando.
Compartir llaves
Config.Share establece la distancia hasta el otro jugador, el número de llaves por vehículo, cuánto duran las llaves temporales y si la lista de jugadores cercanos muestra los nombres de los personajes.
Vehículos de trabajo
Config.JobKeys enumera los vehículos de la policía, los servicios médicos de emergencia y los mecánicos, junto con el grado laboral mínimo, si el jugador debe estar de servicio y el ACE para servidores independientes.
Forzar cerraduras y puentear el arranque
Config.Lockpick establece los objetos, su dificultad y la probabilidad de que se rompan, las rondas, las probabilidades de activar la alarma y alertar a la policía, el tiempo de espera y las clases de vehículos que no se pueden forzar. Config.Hotwire hace lo mismo para puentear el arranque.
Alertas policiales
Config.Police indica los trabajos policiales, si solo los agentes de servicio reciben alertas, el sistema de despacho (detecta automáticamente siete de ellos), el código y el blip del mapa.
Independiente
Config.Standalone otorga una llave temporal al primer conductor de un vehículo creado por un script que no tenga llave, define el ACE de administrador y conecta tu propio inventario mediante dos funciones.

?Preguntas frecuentes

¿Qué cambian los ajustes del menú?

Diseño, posición y tamaño de la tarjeta, alcance remoto, reglas del motor, claxon y luces, compartir, coches generados, forzar cerraduras, hacer un puente, alarmas y modo de depuración. Se guardan para todo el servidor y prevalecen sobre config.lua hasta que se pulse Reset to config.lua o se ejecute vehiclekeys reset en la consola.

¿Cómo uso mis propios textos?

Pon la clave de locales/en.lua con tu texto en Config.Text, por ejemplo, Config.Text = { locked = 'Car locked' }. Prevalece sobre todos los idiomas y se conserva tras las actualizaciones.

¿Sigues atascado después de esta página? Nuestro soporte se encarga.