Exports¶
Otros recursos pueden usar nb-cars como complemento para dar vehículos, consultar la BD o dar llaves. Todos los exports son server-side.
GiveVehicleToPlayer¶
Da un vehículo a un jugador: spawn en cliente, guardado en BD y entrega de llaves según Config.KeySystem.
-- Desde otro recurso (server)
local success = exports['nb-cars']:GiveVehicleToPlayer(targetSource, 'zentorno', 'ABC 123')
-- Si no pasas matrícula, se genera una aleatoria
local ok = exports['nb-cars']:GiveVehicleToPlayer(targetSource, 'adder')
| Parámetro | Tipo | Descripción |
|---|---|---|
targetSource |
number | ID del jugador que recibe el vehículo |
model |
string | Modelo del vehículo (ej. 'zentorno', 'adder') |
plate |
string | (opcional) Matrícula; si no se pasa, se genera una |
Returns: boolean — true si se envió el evento correctamente (jugador existe), false si el jugador no existe.
DeleteVehicleByPlate¶
Elimina un vehículo de la base de datos por matrícula (owned_vehicles / player_vehicles según framework).
local deleted = exports['nb-cars']:DeleteVehicleByPlate('ABC 123')
if deleted then
print('Vehículo eliminado de la BD')
end
| Parámetro | Tipo | Descripción |
|---|---|---|
plate |
string | Matrícula del vehículo |
Returns: boolean — true si se eliminó, false si no existía o error.
GetPlayerVehicles¶
Devuelve la lista de vehículos que tiene registrados un jugador en la BD.
local vehicles = exports['nb-cars']:GetPlayerVehicles(playerId)
-- vehicles = { { plate = 'ABC 123', model = 'zentorno' }, ... }
| Parámetro | Tipo | Descripción |
|---|---|---|
playerSource |
number | ID del jugador |
Returns: table — Lista de { plate = string, model = string }. nil si el jugador no existe.
DoesPlateExist¶
Comprueba si una matrícula está registrada en la base de datos.
| Parámetro | Tipo | Descripción |
|---|---|---|
plate |
string | Matrícula a comprobar |
Returns: boolean
GiveKeysToPlayer¶
Da las llaves de un vehículo a un jugador usando el sistema configurado en Config.KeySystem (brutal_keys, qb-vehiclekeys, etc.).
| Parámetro | Tipo | Descripción |
|---|---|---|
source |
number | ID del jugador |
plate |
string | Matrícula del vehículo |
model |
string | (opcional) Modelo; algunos sistemas lo necesitan |
GeneratePlate¶
Genera una matrícula aleatoria según el formato configurado (Config.PlateFormat).
Returns: string
RegisterVehicleAsOwned¶
Registra un vehículo como propiedad de un jugador en la BD sin spawn. Útil cuando otro script ya spawneó el vehículo o cuando solo quieres registrar la propiedad (compras, eventos, migraciones).
local props = { plate = 'ABC 123', model = 'zentorno', -- ... }
local ok = exports['nb-cars']:RegisterVehicleAsOwned(
targetSource,
'ABC 123',
props,
'zentorno',
'car', -- tipo (opcional, por defecto 'car')
true -- dar llaves (opcional, por defecto true)
)
| Parámetro | Tipo | Descripción |
|---|---|---|
targetSource |
number | ID del jugador dueño |
plate |
string | Matrícula |
vehicleProps |
table | string | Props del vehículo (tabla o JSON) |
model |
string | Modelo del vehículo |
vehicleType |
string | (opcional) Tipo, por defecto 'car' |
giveKeys |
boolean | (opcional) Si dar llaves; por defecto true |
Returns: boolean — true si se insertó correctamente, false si el jugador no existe o datos inválidos.
Ejemplo de uso: recompensa desde otro script¶
-- En tu recurso de recompensas/misiones (server)
RegisterNetEvent('mi_script:server:darPremioVehiculo', function()
local src = source
local ok = exports['nb-cars']:GiveVehicleToPlayer(src, 'adder')
if ok then
print('Premio enviado')
else
print('Jugador no encontrado')
end
end)
Asegúrate de que nb-cars esté en dependencies de tu fxmanifest.lua si lo necesitas cargar después: