Skip to content

Exports (server)#

DeleteVehicle#

Deletes a vehicle from the world and the internal table so that it doesn't respawn.

Parameters:
vehicle - int - The vehicle to delete.
keepInWorld? - bool - If the vehicle should stay in the world.

Returns:
boolean - If deleting was successful.

local success = exports["AdvancedParking"]:DeleteVehicle(vehicle, false)

GetVehiclePosition#

Returns the position of a single vehicle. If vehicle is present on server side will get the position using GetEntityCoords. If not present, it will check AdvancedParking's data for the last saved position.

Parameters:
plate - string - The license plate text of a vehicle (not case sensitive) (checks full plate and trimmed plate).

Returns:
vector3? - The position of the vehicle or nil.

local position = exports["AdvancedParking"]:GetVehiclePosition(plate)

GetVehiclePositions#

Returns the positions of several given vehicles. If vehicle is present on server side will get the position using GetEntityCoords. If not present, it will check AdvancedParking's data for the last saved position.

Parameters:
plates - table<string> - Table containing license plates (not case sensitive) (checks full plate and trimmed plate).

Returns:
dictionary<string, vector3> - The positions of the vehicles. Can be empty if none was found.

local plateList = { plate1, plate2, plate3 }
local positions = exports["AdvancedParking"]:GetVehiclePositions(plateList)
for plate, position in pairs(positions) do
    print(plate, tostring(position))
end

DeleteVehicleUsingData#

Delete a vehicle without having access to the entity directly. At least one of the first three parameters must be provided.

Parameters:
identifier? - string - The unique identifier provided by AdvancedParking.
networkId? - int - The vehicle entity's network id.
plate? - string - The vehicles license plate text.
keepInWorld? - bool - If the vehicle should stay in the world.

Returns:
boolean - If deleting was successful.

local identifier = Entity(vehicle).state.ap_id
local networkId = NetworkGetNetworkIdFromEntity(vehicle)
local plate = GetVehicleNumberPlateText(vehicle)

local success = exports["AdvancedParking"]:DeleteVehicleUsingData(identifier, networkId, plate, true)

GetVehicleFromStateBagValue#

Tries to find a vehicle that has a specific state bag value attached.

Parameters:
bagName - string - The key to search for.
bagValue - any - The value to search for.

Returns:
int? - The vehicle handle if a match was found or nil.

local vehicle = exports["AdvancedParking"]:GetVehicleFromStateBagValue(bagName, bagValue)

GetStateBagsFromVehicle#

Gets all state bags from a vehicle that has been saved by AdvancedParking.

Parameters:
vehicle - int - The vehicle handle.

Returns:
dictionary<bagName, bagValue>? - A table containing all found state bag keys and values or nil if vehicle was not found.

local stateBags = exports["AdvancedParking"]:GetStateBagsFromVehicle(vehicle)
if (stateBags) then
    for bagName, bagValue in pairs(stateBags) do
        print(bagName, type(bagValue) == "table" and bagValue or json.encode(bagValue))
    end
end

GetStateBagsFromPlate#

Gets all state bags from a vehicle that has been saved by AdvancedParking given its plate.

Parameters:
plate - string - The vehicle's license plate text.

Returns:
dictionary<bagName, bagValue>? - A table containing all found state bag keys and values or nil if vehicle was not found.

local stateBags = exports["AdvancedParking"]:GetStateBagsFromPlate("KIMINAZE")
if (stateBags) then
    for bagName, bagValue in pairs(stateBags) do
        print(bagName, type(bagValue) == "table" and bagValue or json.encode(bagValue))
    end
end

ForceVehicleUpdateInDB#

Forces an update of all currently set values of the specified vehicle to the database. Does nothing if identifier was not found.

Parameters:
identifier - string - AdvancedParking's internal identifier of the vehicle.

local identifier = Entity(vehicle)?.state?.ap_id
exports["AdvancedParking"]:ForceVehicleUpdateInDB(identifier)

GetVehicleData#

Gets all of AdvancedParking's data from a specified vehicle.

Parameters:
vehicle - int - The vehicle handle.

Returns:
dictionary<key, value>? - A table containing all data from the vehicle or nil if vehicle was not found.

local data = exports["AdvancedParking"]:GetVehicleData(vehicle)

GetVehicleTuningFromData#

Gets all tuning data of AdvancedParking's data from a specified vehicle.

Parameters:
vehicle - int - The vehicle handle.

Returns:
table? - A table containing all tuning data from the vehicle or nil if vehicle was not found.

local tuning = exports["AdvancedParking"]:GetVehicleTuningFromData(vehicle)

UpdatePlate#

Updates a plate in AdvancedParking's data. This is necessary when changing a saved vehicle's plate so that it doesn't get caught by one of the error protection systems.

Parameters:
networkId - int - The vehicle's network id.
newPlate - string - The new plate to set.

exports["AdvancedParking"]:UpdatePlate(networkId, newPlate)

FreezeVehicle#

Freezes (or unfreezes) a vehicle. This is intended to be used from the fixFreezeEntity.lua but can be used when the file cannot be used. Can only be executed when using the forceUnfreezeVehicles config option.

Parameters:
vehicle - int - The vehicle handle.
freeze - boolean - true for freezing, false for unfreezing.

exports["AdvancedParking"]:FreezeVehicle(vehicle, true)