Skip to main content

Client Exports

Checks if an entity is being tracked (has any trackers attached).Parameters
  • entity: number
Returns
  • is_tracked: boolean
Example
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local isTracked = exports['no-gps-tracker']:is_entity_being_tracked(vehicle)
if isTracked then
    print("This vehicle has GPS trackers attached!")
end
Gets all tracker IDs attached to an entity.Parameters
  • entity: number
Returns
  • tracker_ids: string[]
Example
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local trackerIds = exports['no-gps-tracker']:get_entity_trackers(vehicle)
for _, trackerId in ipairs(trackerIds) do
    print("Tracker found: " .. trackerId)
end
Checks if a specific tracker is attached to an entity.Parameters
  • entity: number
  • tracker_id: string
Returns
  • is_attached: boolean
Example
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local isAttached = exports['no-gps-tracker']:is_tracker_on_entity(vehicle, "tracker_123")
if isAttached then
    print("Tracker tracker_123 is on this vehicle")
end
Gets the count of trackers attached to an entity.Parameters
  • entity: number
Returns
  • count: number
Example
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local count = exports['no-gps-tracker']:get_entity_tracker_count(vehicle)
print("This vehicle has " .. count .. " trackers attached")
Checks if the player is currently placing a tracker.Returns
  • is_placing: boolean
Example
if exports['no-gps-tracker']:is_placing_tracker() then
    print("Player is currently placing a tracker")
end
Initiates tracker placement on a targeted vehicle. Finds the vehicle the player is looking at and attempts to place the tracker.Parameters
  • tracker_id: string
Returns
  • success: boolean
  • error_message?: string
Example
local success, errorMsg = exports['no-gps-tracker']:find_and_place_tracker("tracker_123")
if success then
    print("Tracker placed successfully!")
else
    print("Failed to place tracker: " .. (errorMsg or "unknown error"))
end
Places a tracker on a specific entity.Parameters
  • tracker_id: string
  • entity: number
Returns
  • success: boolean
  • error_message?: string
Example
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local success, errorMsg = exports['no-gps-tracker']:place_tracker("tracker_123", vehicle)
if success then
    print("Tracker placed on vehicle!")
else
    print("Failed: " .. (errorMsg or "unknown error"))
end
Checks if the player is currently removing a tracker.Returns
  • is_removing: boolean
Example
if exports['no-gps-tracker']:is_removing_tracker() then
    print("Player is currently removing a tracker")
end
Initiates tracker removal from a targeted vehicle.Returns
  • success: boolean
  • error_message?: string
Example
local success, errorMsg = exports['no-gps-tracker']:find_and_remove_tracker()
if success then
    print("Tracker removed successfully!")
else
    print("Failed to remove tracker: " .. (errorMsg or "unknown error"))
end
Removes a tracker from a specific entity.Parameters
  • entity: number
Returns
  • success: boolean
  • error_message?: string
Example
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local success, errorMsg = exports['no-gps-tracker']:remove_tracker(vehicle)
if success then
    print("Tracker removed from vehicle!")
end
Checks if the GPS tracker NUI is currently open.Returns
  • is_open: boolean
Example
if exports['no-gps-tracker']:is_nui_open() then
    print("GPS Tracker UI is open")
end
Opens the GPS tracker NUI.Example
exports['no-gps-tracker']:open_nui()
Closes the GPS tracker NUI.Example
exports['no-gps-tracker']:close_nui()
Toggles the GPS tracker NUI.Example
exports['no-gps-tracker']:toggle_nui()
Gets all nearby vehicles that have trackers attached.Parameters
  • radius?: number (default: 50.0)
Returns
  • vehicles: {entity: number, tracker_ids: string[]}[]
Example
local trackedVehicles = exports['no-gps-tracker']:get_nearby_tracked_vehicles(100.0)
for _, data in ipairs(trackedVehicles) do
    print("Vehicle " .. data.entity .. " has " .. #data.tracker_ids .. " trackers")
end
Gets the vehicle the player is currently in, if it has trackers.Returns
  • entity?: number
  • tracker_ids?: string[]
Example
local vehicle, trackerIds = exports['no-gps-tracker']:get_current_vehicle_trackers()
if vehicle and trackerIds then
    print("Your vehicle has " .. #trackerIds .. " trackers!")
end
Checks if the player’s current vehicle is being tracked.Returns
  • is_tracked: boolean
Example
if exports['no-gps-tracker']:is_current_vehicle_tracked() then
    print("Warning: Your vehicle is being tracked!")
end

Server Exports

Gets all active trackers in the system.Returns
  • trackers: {tracker_id: string, attached_entity: number}[]
Example
local trackers = exports['no-gps-tracker']:get_active_trackers()

for _, tracker in ipairs(trackers) do
    print("Active tracker: " .. tracker.tracker_id)
end
Gets a specific tracker by ID if it exists.Parameters
  • tracker_id: string
Returns
  • tracker?: {tracker_id: string, attached_entity: number}
Example
local tracker = exports['no-gps-tracker']:get_tracker("tracker_123")

if tracker then
    print("Tracker is attached to entity: " .. tracker.attached_entity)
end
Gets full tracker info from database including routes and points.Parameters
  • tracker_id: string
Returns
  • tracker?: table
Example
local trackerData = exports['no-gps-tracker']:get_tracker_full("tracker_123")

if trackerData then
    print("Tracker has " .. #trackerData.routes .. " routes")
end
Gets tracker info from database.Parameters
  • tracker_id: string
Returns
  • tracker?: {id: string, is_placed: boolean, placed_at: string, placed_by: string, placed_entity_identifier: string}
Example
local info = exports['no-gps-tracker']:get_tracker_info("tracker_123")

if info and info.is_placed then
    print("Tracker placed on: " .. info.placed_entity_identifier)
end
Creates a tracker in the database.Parameters
  • tracker_id: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:create_tracker("tracker_456")

if success then
    print("Tracker created in database")
end
Checks if a tracker is currently active.Parameters
  • tracker_id: string
Returns
  • is_active: boolean
Example
if exports['no-gps-tracker']:is_tracker_active("tracker_123") then
    print("Tracker is currently active and tracking")
end
Gets the count of active trackers.Returns
  • count: number
Example
local count = exports['no-gps-tracker']:get_active_tracker_count()
print("Total active trackers: " .. count)
Creates a tracker and attaches it to an entity.Parameters
  • tracker_id: string
  • entity: number
  • placer_identifier?: string
Returns
  • success: boolean
  • error_message?: string
Example
local identifier = BASE:GetIdentifier(source)
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)

local success, err = exports['no-gps-tracker']:create_and_attach_tracker_to_entity("tracker_123", vehicle, identifier)

if success then
    print("Tracker created and attached!")
end
Attaches an existing tracker to an entity (without database upsert).Parameters
  • tracker_id: string
  • entity: number
Returns
  • success: boolean
Example
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)
local success = exports['no-gps-tracker']:attach_tracker_to_entity("tracker_123", vehicle)
Checks if an entity is being tracked.Parameters
  • entity: number
Returns
  • is_tracked: boolean
Example
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)

if exports['no-gps-tracker']:is_entity_being_tracked(vehicle) then
    print("This vehicle is being tracked")
end
Gets all tracker IDs attached to an entity.Parameters
  • entity: number
Returns
  • tracker_ids: string[]
Example
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)
local trackerIds = exports['no-gps-tracker']:get_entity_trackers(vehicle)

print("Found " .. #trackerIds .. " trackers on vehicle")
Checks if an entity identifier is tracked.Parameters
  • entity_identifier: string
Returns
  • is_tracked: boolean
Example
local plate = "ABC123"

if exports['no-gps-tracker']:is_entity_identifier_tracked(plate) then
    print("Vehicle with plate " .. plate .. " is being tracked")
end
Gets all trackers for an entity identifier from database.Parameters
  • entity_identifier: string
Returns
  • trackers: table
Example
local trackers = exports['no-gps-tracker']:get_trackers_by_entity_identifier("ABC123")

for _, tracker in ipairs(trackers) do
    print("Tracker: " .. tracker.id)
end
Gets all trackers placed by a specific identifier.Parameters
  • identifier: string
Returns
  • trackers: table
Example
local identifier = BASE:GetIdentifier(source)
local trackers = exports['no-gps-tracker']:get_trackers_by_placer(identifier)

print("Player has placed " .. #trackers .. " trackers")
Gets the entity identifier for a given entity.Parameters
  • entity: number
Returns
  • identifier?: string
Example
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)
local identifier = exports['no-gps-tracker']:get_entity_identifier(vehicle)

print("Vehicle identifier: " .. (identifier or "none"))
Checks if an entity is persistent.Parameters
  • entity: number
Returns
  • is_persistent: boolean
Example
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)

if exports['no-gps-tracker']:is_entity_persistent(vehicle) then
    print("This is a persistent vehicle (player-owned)")
end
Removes all trackers from a given entity.Parameters
  • entity: number
Returns
  • removed_count: number
Example
local vehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)
local removed = exports['no-gps-tracker']:remove_trackers_from_entity(vehicle)

print("Removed " .. removed .. " trackers from vehicle")
Removes a specific tracker by ID.Parameters
  • tracker_id: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:remove_tracker("tracker_123")

if success then
    print("Tracker removed successfully")
end
Removes all trackers from a given entity by identifier.Parameters
  • entity_identifier: string
Returns
  • removed_count: number
Example
local removed = exports['no-gps-tracker']:remove_trackers_from_entity_by_identifier("ABC123")

print("Removed " .. removed .. " trackers from vehicle with plate ABC123")
Deletes a tracker if it has no access entries.Parameters
  • tracker_id: string
Example
exports['no-gps-tracker']:delete_tracker_if_no_access("tracker_123")
Lists trackers accessible by a player.Parameters
  • source: number
  • page: number
  • page_size: number
  • search?: string
Returns
  • result: {total: number, page: number, page_size: number, hasMore: boolean, trackers: table}
Example
local result = exports['no-gps-tracker']:list_player_trackers(source, 1, 10)

print("Player has access to " .. result.total .. " trackers")
for _, tracker in ipairs(result.trackers) do
    print("- " .. tracker.id)
end
Lists trackers accessible by an identifier.Parameters
  • identifier: string
  • page: number
  • page_size: number
  • search?: string
Returns
  • result: {total: number, page: number, page_size: number, hasMore: boolean, trackers: table}
Example
local identifier = BASE:GetIdentifier(source)
local result = exports['no-gps-tracker']:list_player_trackers_by_identifier(identifier, 1, 10)

print("Found " .. result.total .. " trackers")
Lists routes for a specific tracker.Parameters
  • tracker_id: string
  • page: number
  • page_size: number
Returns
  • result: table
Example
local routes = exports['no-gps-tracker']:list_tracker_routes("tracker_123", 1, 10)

for _, route in ipairs(routes) do
    print("Route from " .. route.started_at)
end
Grants access to a tracker for a player by source.Parameters
  • tracker_id: string
  • source: number
  • access_type: string (“view” | “full”)
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:grant_tracker_access("tracker_123", targetSource, "view")

if success then
    print("Granted view access to player")
end
Grants access to a tracker for a specific identifier.Parameters
  • tracker_id: string
  • identifier: string
  • access_type: string (“view” | “full”)
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:grant_tracker_access_by_identifier("tracker_123", "license:abc123", "full")
Revokes access to a tracker for a player.Parameters
  • tracker_id: string
  • source: number
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:revoke_tracker_access("tracker_123", targetSource)

if success then
    print("Access revoked")
end
Revokes access to a tracker by identifier.Parameters
  • tracker_id: string
  • identifier: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:revoke_tracker_access_by_identifier("tracker_123", "license:abc123")
Removes access and triggers cleanup event.Parameters
  • tracker_id: string
  • source: number
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:remove_tracker_access("tracker_123", source)
Removes access by identifier and triggers cleanup event.Parameters
  • tracker_id: string
  • identifier: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:remove_tracker_access_by_identifier("tracker_123", "license:abc123")
Checks if a player has access to a specific tracker.Parameters
  • tracker_id: string
  • source: number
Returns
  • has_access: boolean
  • access_type?: string (“view” | “full”)
Example
local hasAccess, accessType = exports['no-gps-tracker']:has_tracker_access("tracker_123", source)

if hasAccess then
    print("Player has " .. accessType .. " access")
end
Checks if an identifier has access to a specific tracker.Parameters
  • tracker_id: string
  • identifier: string
Returns
  • has_access: boolean
  • access_type?: string (“view” | “full”)
Example
local hasAccess, accessType = exports['no-gps-tracker']:has_tracker_access_by_identifier("tracker_123", "license:abc123")
Gets the access list for a tracker.Parameters
  • tracker_id: string
Returns
  • access_list: {identifier: string, access_type: string, granted_at: string}[]
Example
local accessList = exports['no-gps-tracker']:get_tracker_access_list("tracker_123")

for _, access in ipairs(accessList) do
    print(access.identifier .. " has " .. access.access_type .. " access")
end
Updates the label of a tracker.Parameters
  • tracker_id: string
  • label: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:update_tracker_label("tracker_123", "My Car Tracker")

if success then
    print("Label updated")
end
Upserts a tracker with custom fields.Parameters
  • tracker_id: string
  • fields: {is_placed?: number, placed_at?: string, placed_by?: string, placed_entity_identifier?: string, placed_on_persistent_entity?: number, label?: string}
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:upsert_tracker("tracker_123", {
    label = "Updated Tracker",
    is_placed = 1,
    placed_at = os.date("%Y-%m-%d %H:%M:%S")
})
Adds a tracker item to a player’s inventory.Parameters
  • source: number
  • tracker_id: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:add_tracker_item(source, "tracker_123")

if success then
    print("Tracker item added to inventory")
end
Removes a tracker item from a player’s inventory.Parameters
  • source: number
  • tracker_id: string
Returns
  • success: boolean
Example
local success = exports['no-gps-tracker']:remove_tracker_item(source, "tracker_123")

if success then
    print("Tracker item removed from inventory")
end
Checks if inventory integration is enabled.Returns
  • is_enabled: boolean
Example
if exports['no-gps-tracker']:is_inventory_enabled() then
    print("Inventory integration is enabled")
end