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!")
endget_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)
endis_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")
endget_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")
endfind_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"))
endplace_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"))
endis_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")
endfind_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"))
endremove_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!")
endis_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")
endopen_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")
endget_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!")
endis_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!")
endServer 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)
endget_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)
endget_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")
endget_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)
endcreate_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")
endis_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")
endget_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!")
endattach_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")
endget_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")
endget_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)
endget_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)")
endremove_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")
endremove_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)
endlist_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)
endgrant_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")
endgrant_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")
endrevoke_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")
endhas_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")
endupdate_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")
endupsert_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")
endremove_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")
endis_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