Skip to main content

Exports & Events

Client Exports


is_entity_being_tracked

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
get_entity_trackers

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
is_tracker_on_entity

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
get_entity_tracker_count

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")
is_placing_tracker

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
find_and_place_tracker

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
place_tracker

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
is_removing_tracker

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
find_and_remove_tracker

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
remove_tracker

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
is_nui_open

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
open_nui

Opens the GPS tracker NUI.

Example

exports['no-gps-tracker']:open_nui()
close_nui

Closes the GPS tracker NUI.

Example

exports['no-gps-tracker']:close_nui()
toggle_nui

Toggles the GPS tracker NUI.

Example

exports['no-gps-tracker']:toggle_nui()
get_nearby_tracked_vehicles

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
get_current_vehicle_trackers

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
is_current_vehicle_tracked

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


get_active_trackers

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
get_tracker

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
get_tracker_full

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
get_tracker_info

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
create_tracker

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
is_tracker_active

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
get_active_tracker_count

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)
create_and_attach_tracker_to_entity

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
attach_tracker_to_entity

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)
is_entity_being_tracked

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
get_entity_trackers

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")
is_entity_identifier_tracked

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
get_trackers_by_entity_identifier

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
get_trackers_by_placer

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")
get_entity_identifier

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"))
is_entity_persistent

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
remove_trackers_from_entity

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")
remove_tracker

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
remove_trackers_from_entity_by_identifier

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")
delete_tracker_if_no_access

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")
list_player_trackers

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
list_player_trackers_by_identifier

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")
list_tracker_routes

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
grant_tracker_access

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
grant_tracker_access_by_identifier

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")
revoke_tracker_access

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
revoke_tracker_access_by_identifier

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")
remove_tracker_access

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)
remove_tracker_access_by_identifier

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")
has_tracker_access

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
has_tracker_access_by_identifier

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")
get_tracker_access_list

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
update_tracker_label

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
upsert_tracker

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")
})
add_tracker_item

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
remove_tracker_item

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
is_inventory_enabled

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